i_S_asZ 2017.11

3D データを,zae や 3D プリンタで出力可能な形式に変換できます.
Win10 付属の「3D Builder」や「ペイント 3D」で読込可能な 3MF に変換できます.
2M バイトの制限がありますが,Web へのアップロードが可能です.
読込可能な形式(ファイルの拡張子)は,
3MF , 3DS , AC , AMF , DAE , OBJ , WRL , X3D , ZAE , MQO , PLY , DXF , STL
VC 14 x86 ランタイムが必要です.
S_asZ.2017.11.21.zip

コンピューターに ???.dll がないため …

ここで公開している Windows AP を実行すると,次の様なメッセージが表示されることがあります.
—————————
i3DV.exe – システム エラー
—————————
コンピューターに mfc140u.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
—————————
OK
—————————

mfc140u.dll の部分は,msvcr100.dll などとなることもあります.


mfc….dll や msvcr….dll は,いろいろなアプリケーションで利用する共通のライブラリです.
数字の部分は,通常 80,90,100,110,120,140 の様になります.
他に 42,60 や 70,71 もありますが,その場合の対応は異なります.
dll ファイルは,32 ビット版と 64 ビット版などがあります.
公開している exe のほとんどは 32 ビット版のため vcredist_x86.exe を利用します.

80 VC++ 2005 VC 2005 SP1
90 VC++ 2008 VC 2008 SP1
100 VC++ 2010 VC 2010 SP1
110 VC++ 2012 VC 2012 U4
120 VC++ 2013 VC 2013
140 VC++ 2015 VC 2015 U3

対応する vcredist_x86.exe をインストールして,もう一度 AP を実行してください.
異なるバージョンの vcredist_x86.exe をインストールしても,特に問題になることはありません.


2017/05/29
上の幾つかのリンクが切れている様です.
次の所からのリンクも確認してみてください.
 The latest supported Visual C++ downloads
 最新のサポートされる Visual C++ のダウンロード

i_S_asZ 2017.04


3D データを,zae や 3D プリンタで出力可能な形式に変換できます.
Win10 付属の「3D Builder」や「ペイント 3D」で読込可能な 3MF に変換できます.

新しく WebGL(three.js) を利用した html に出力可能になりました.


読込可能な形式は,
3MF , 3DS , AC , AMF , DAE , OBJ , WRL , X3D , ZAE , MQO , PLY , DXF , STL
VC 14 x86 ランタイムが必要です.
S_asZ.2017.04.03.zip


カメラの初期位置を変更.
S_asZ.2017.04.06.zip


2017/04/26
3MF や WRL などへの変換時の,テクスチャ名変更のバグ対応.
S_asZ.2017.04.25.zip
Cube.html


2017/09/07
Web へのアップロード機能追加.
S_asZ.2017.09.07.zip
Cube


2017/11/02

S_asZ.2017.11.02.zip

i_ZipMF 2016.06

i_ZipMF は zip ファイル内に含まれる画像データのサムネイルを作成します.
画像でない場合は,アイコンを利用します.
ZipMF.2016.06.16.zip
i_ZM_110.
ZipMF….zip を適当な場所に展開します.
ZipMF.exe を起動して,zip をエクスプローラなどからウィンドウにドロップします.
ZipMF_BMP_zip
i_ShellExt を使用すると,エクスプローラのサムネイルで表示できる様になります.
i_ZipMF

i_3DV 2015.10

3D データのビューアです.
AMF , VRML , AC3D , PLY ascii などへの対応を追加しました.
i3DV.2015.10.17
i3DV.2015.10.zip
i3DV.2016.11.zip
VC 12 x86 ランタイムが必要です.
3D model viewer    3MF , 3DS , AC , AMF , DAE , OBJ , WRL , X3D , ZAE , MQO , PLY , STL


Vector


i_ShellExt をインストールすると,エクスプローラでサムネイル表示が可能になります.
i3DV_OpenDialog

i_S_asZ 2015.10

AMF などへの出力機能追加. 3MF への出力も可能です.
読込可能な形式が増えました. 3MF , AC , AMF , WRL , MQO , PLY ascii
S_as_161
S_asZ.2015.10.11.zip
S_asZ.2016.11.zip
VC 12 x86 のランタイムが必要です.


Vector
出力した 3MF は,Win 10 3D Builder で読込可能なことを確認しています.
3D model converter  OBJ , 3DS , X3D , ZAE , DAE

i_ToDIB 2015.01

DXF を EMF や BMP に変換します.
ToDIB_2015_01_24
メニューの「編集」-「コピー」で,表示している情報をクリップボードにコピーできます.
コピーされる形式は拡張メタファイルとビットマップです.
ToDIB.2015.01.24.zip
ToDIB.2015.01.27.zip
他にも,3D データを STL に変換することも可能です.
読込み可能な形式は, 3DS , OBJ , X3D , DAE , ZAE などです.
3D データを EMF などに変換する場合は,隠線消去を行ってから変換します.

i_3DV 2014.03

3D データのビューアです.
3DS , OBJ , X3D , STL , DXF などの読込に対応しています.
テクスチャは, BMP , TGA , 一部の JPG のみの対応です.
読み込んだ 3D データのサムネイルは i_ShellExt に対応しています.
i_ShellExt により,エクスプローラで 3D データのサムネイル表示が可能になります.
i3DV_Thumb_7_10_6
i_3DV.2014.03.09.zip
i_3DV.2014.03.11.zip
頂点の法線を利用する様に変更しました.
Vector


i_ShellExt サンプル

i_ShellExt (サムネイル表示する DLL )を利用するためのサンプルプロジェクトです.
i_ShellExt と組み合わせて利用します.
ISE.2013.11.09.zip
VS 2005 のプロジェクトで,C# や VB.NET のサンプルがあります.
EMF を求めるための関数は,クラスライブラリとして利用しています.
VS 2005 やそれ以降の VS で,ビルド可能になっていると思います.


SmpCS(C# による iShelExt.dll の利用)の説明
SmpCS

参照の追加で,Lib_ISE.dll を追加(Lib_ISE.ise.GetPathEMF を利用しない場合は必要なし).
フォームに 2 つのボタン,「開く」と「保存」を追加.Open と Save に.
OpenFileDialog と SaveFileDialog を追加.
Form1_Load , From1_Paint , Open_Click , Save_Click を追加.
Form1_Load
  縮小表示を有効にするために ShellEx\\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1} を登録.
  拡張子は,ise_cs としている.
Form1 クラスに,変数 NameEMF を追加.
  このサンプルでは,Form1_Paint で EMF を表示する様にしているため.
Form1 クラスに,CreateEMF 関数の追加.
  ドキュメント名から対応する EMF 名を求める.
    ドキュメント名.EMF とする場合は,Lib_ISE.dll は必要ない. 
    SmpCP (C++ 版) では,Lib_ISE.dll は利用しないで,ドキュメント名.EMF としている.
  ファイル名と,更新日時の文字列のメタファイルを生成している.
    文字の色は,時分秒を R , G , B として利用している.
Form_Paint
  NameEMF にファイル名があれば,それを表示.
Open_Click
  「開く」ダイアログを表示し,ファイルが指定されると上の CreateEMF を呼び出し.
    このサンプルでは指定されたファイルを開いてはいない.
Save_Click
  「保存」ダイアログを表示し,ise_cs を生成.
    ファイルの中身は特に意味はなし.ファイル名と保存日時をテキストファイルとして書込んでいる.

Smp_Net

SmpTxt バグ

i_ShellExt のサンプルプロジェクト SmpTxt の SmpTxtDc.cpp のバグ
  // …
  else {
    #ifdef _UNICODE
    {
      LPWSTR lpText = TextData.GetBuffer(rBuf.GetSize()+1) ;
      memset(lpText,0,(rBuf.GetSize()+1)*2) ;
      #if (_MSC_VER >= 1400)
      size_t cnvSize = 0 ;
      ::mbstowcs_s(&cnvSize,lpText,rBuf.GetSize()+1,LPSTR(rBuf.GetData()),rBuf.GetSize()) ;
      #else
      ::mbstowcs ( lpText, LPSTR(rBuf.GetData()),rBuf.GetSize()) ;
      #endif
      TextData.ReleaseBuffer() ;
      }
    #else
      // …
    #endif
    }