CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発 DWG

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

投稿日:2019年1月13日 更新日:

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としてやらなければいけないことはけっこういろいろあって、ずいぶん前にやったことを思い出す必要があるので、脳が衰え気味のアラフィフオヤジとしてはけっこうな作業になる。

Part.2はこちら。

-ソフト開発, DWG

執筆者:


comment

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

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

関連記事

Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃん(3)

vhdを手軽に圧縮できるPowerShellプログラムの決定版。 まずは、前回考えたことを振り返る。。 ps1内のvhdのファイルパスを自分で書き変えなきゃいけないのが難点だから、ps1と同じ場所にあ …

no image

環境変数TEMPトラブルについて振り返る

プログラムから環境変数TEMPで指定されたフォルダにファイルが作れないことがわかった時点で、この問題は解決したも同じだった。TEMPの値を「%USERPROFILE%\AppData\Local\Te …

no image

DRX SDK

まずは、CAD Japan のニュースを読んでもらいたい。 [ポイント] ・無料でダウンロードできる ・DWGdirectを用いたアプリケーションの機能を拡張する ・C++を利用する 次に、Open …

no image

消えゆくOpenDWG

www.opendwg.org がなくなった。 お気に入りに入れていて、ほんの3日前までアクセスできていたのが、 今日アクセスしようとしたら、つながらなかった。 一瞬メンテナンス中かと思ったが、すぐに …

no image

DXFの基礎

私のバイブルは「DXFハンドブック」(落合重紀氏 著)です。だいたい3日に1回はページを括ります。CADのデータ交換で古くから利用されてきたDXFをわかりやすく、かつ詳細に解説しています。DXFに対し …