CAD日記

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

AutoCAD

レイアウトのモデル化

投稿日:

レイアウトをモデルに変換するプログラムってどんだものだったかと、
忘れかけた記憶を呼び戻して書いてみる。
1.全レイアウト名取得
 ブロックセクションからブロックレコードを全部読む。
 レイアウトフラグが立っていて、名前に「*PAPER_SPACE」が含まれていて、
 用紙サイズの高さ・幅が0でないものの名前をリストアップする。
 ここで取得する順番は、AutoCADのタブページに表示される順番に
 ならないので、ブロックレコードからタブ順番情報を取得してソートする。
2.変換対象とするレイアウトをアクティブにする
3.変換先(モデルだけの図面)をクリエイトする
4.ヘッダーとテーブルを変換先にコピーする
5.アクティブレイアウトからビューポート取得
 ビューポートには、配置点・倍率・角度・表示範囲の情報があるので、
 それらを保存しておく。
 また、レイアウト内にはビューポート以外に一般図形(線や円など)が
 あるので、これらは、変換先にそのままの図形情報で追加する。
6.モデルから図形情報を取得して、変換先に追加する 
 モデルには一般図形があるので、ビューポートの配置点・倍率・角度で
 変形させた上で、ビューポートの表示範囲で切り取りを行い、変換先に
 追加する。
 モデルにブロック参照があれば、変換先にブロック定義を追加する。
 5でビューポートが複数あれば、その数分の処理を行う。
7.変換先を保存する
簡単に書くと、これだけ。
寸法線、ハッチング、外部参照、XCLIPなど複雑な図形での例外的な
実装があるものの、基本的な処理はたったこれだけである。
実装は、OpenDesignAllianceのTeighaを使ってやっていて、
C++のクラス構造を持ったコンポーネントを利用している。
昔は、DXFを独自解析して、グループコードごとに情報を保持して、
何がどんな意味なのかを調べて実装していたわけだが、
このTeighaがあるおかげで、いろんな意味で楽になった。
PMツールのVer1をリリースしたのが2005/05/11。
あと少しで10年か。。。
当初大きな夢を持って作ったわけだが、その夢がかなうほど
現実は甘くない。
これだけ続いただけでもよかったし、AutoCADとの接点を
密に持ち続けられたことは幸せなことだと思う。

-AutoCAD
-

執筆者:


comment

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

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

関連記事

no image

AutoCAD2016リリース日予測

例年、3月くらいにAutoCADはリリースされる。 今年はいつ出るのだろうかと思い、過去5年間のリリース日を 調べてみた。 2011:2010/03/19(金)→第3金曜日 2012:2011/03/ …

no image

安藤忠雄ふたたび

今年も安藤忠雄の講演を聞きに行くことにした。 去年、建築家・安藤忠雄に魅せられて、そのタイトルのハードカバーの 本を買って読んでみたくらいだ。 震災後、彼は何を考えて、どんな活動をしているのか知りたい …

no image

2008オブジェクト

AutoCAD2008を本格的に触れるようになったので、 2008オブジェクトの調査を開始した。 結論から言っておこう。 よく理解できない。 奥が深く、不明な点が多い。 1.異尺度オブジェクト  図面 …

AutoCAD 2022のコードネームはSequoia(セコイア)つまり大木ということか?

AutoCADのコードネームに興味あるなんていうキトクな人向けに年に一度贈る最新情報。 2011年から始まったアルファベット順に命名するシリーズも12年目になるのか。。 今年はSから始まるので、sag …

no image

AutoCAD2012

今年も出ましたAutoCAD。 まだ2011年の4月だというのに、2012なんて付けるのは馬鹿げている。 と、お決まりの文句を言っておくのがおいらの恒例行事。 3年ごとのデータのバージョンアップは来年 …