CAD日記

AutoCAD,DXF,DWG,SXFなどCADのことから、仮想通貨や投資関係、PC関係、プログラミング、国内海外旅行情報など何でもござれ。@caddiary

ソフト開発

Teigha改めODAでDWGをDXFに変換するプログラムをつくってみよう!【Part.1】

投稿日:

Teigha改めODA(Open Design Alliance)は有料のライブラリー。商用利用するならば、最低でも年間1500ドル(初年度2000ドル)を要する。この場合、配布本数が100本に限られてしまうので、無制限に配布できる年間3000ドル(初年度5000ドル)の契約をすることになるだろう。
一方、商用利用しない場合なら無料または安価に利用できる。60日間のお試しなら無料。教育目的なら1年間無料。組織内で使うなら年間100ドル(初年度250ドル)で2年間使い続けられる。
くわしくは、以下のサイトを参照されたし。
Membership Options

【開発環境】
Visual Studio Community 2017
C++ によるデスクトップ開発
x86用とx64用のVisual C++ MFC
以上、無料で構築可能。とは言え、CADに関わるビジネスユースだったら有料版のVisual Studioを使えるか。。

【ODA(Teigha改め)モジュール】
Kernel and Drawing (2019 Update 2)
Drawings_vc15_amd64dll.zip
Drawings_vc15_amd64dlldbg.zip
Kernel_vc15_amd64dll.zip
Kernel_vc15_amd64dlldbg.zip
Windows 64bitのみを対象とする。もちろん32bit用もあるが、これから作るアプリなら64bitだけでよいはず。
Visual Studio 2017用を対象とする。2005以降すべてが用意されている。
dll版をreleaseとDebugを対象とする。スタティックリンクするmtとmdも用意されているが、実装面での制約がいろいろあって面倒。

【フォルダ構成】
ODATest ※任意のフォルダ
└─SampleExe ※これから作るアプリケーション
└─ODA2019upd2 ※ODAモジュールを配置(zipを解凍する場所。4つのzip内にはヘッダーやソースコードなどが重複しているので、解凍時に上書きしてよい。)

【Visula Studioで新規プロジェクト作成】
Visual C++ ⇒ MFC/ATL ⇒ MFCアプリケーションとして、ODATest内にSampleExeという名前を指定する。ウイザードであれこれ出てくるので、ダイアログベースとして、共有DLLでMFCを使用とする。その他こまかい設定についてはご自由に。なるべくシンプルにしたほうが余計な問題に遭遇せずに済む。

【プロジェクトのダイアログリソース】
以下のように、変換元ファイルを選択して変換実行できるというシンプルなインターフェースとする。

変換先は同一パスで拡張子だけ異なるようにすることで、面倒なインターフェースをつくる必要がない。
同じDWGでバージョン違いを保存するなんてことも今後考えられるが、それは後々の話ということで。

というプランで、ODAモジュールを除いたVC++のサンプルコードを公開するつもり。ODAモジュールの利用を最小限にしてわかりやすいサンプルコードにするのがタイヘンそう。はじめてODAを使うって人が、とっかかりがよくなることを目指すわけだ。ODAとしてやらなければいけないことはけっこういろいろあって、ずいぶん前にやったことを思い出す必要があるので、脳が衰え気味のアラフィフオヤジとしてはけっこうな作業になる。

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

尻有

知る人ぞ知るアングラ系サイト。 尻有とか、どーもとか。 定期的にチェックして、マイソフトがクラックされてないかどうか チェックしてるんよ。 復活してましたね、どーもが。 入り口が、なかなか見つからなか …

no image

UNICODE対応プログラム

開発環境:VC6 プリプロセッサの定義に、UNICODE,_UNICODEを追加。(_MBCSをカット) EXEの場合は、エントリポイントシンボルにwWinMainCRTStartupを記述。 ・ch …

no image

WinMergeのフィルタ

【2018/11/24追記】 この書きっぷりではあまりにもわかりずらいので、整理して追加情報を加えて新たな記事とした。 WinMegeのフィルタについて今すぐ知りたいならココを読め プログラマにとって …

no image

CEditでドラッグ&ドロップ

プログラミングから離れてしばらく経ってしまった。 プロジェクト管理をやっていると、プログラミングをやることができなくなる。 対人間の仕事の合間にプログラムをやることは、おいらには無理だった。 プログラ …

no image

CADツール第2弾

 PMツールに続いてのCADツール第2弾を思いつきました。今まで、いくつかの企画があり、手をつけたものもあるのですが、いまいち乗り気にならなくてポシャってました。シリーズものとして継続したいところなの …