[DelphiXE3・FireMonkey(FMX)で
俺がCADモドキを作れるはずがない?ネタ]

何らかのCAD、CADみたいなソフトを作るとして、当然、データ交換をしなきゃいけないシーンが出てくると思うんだけれども、その際、AutoCADとスムーズにデータ交換をしたい場合には、こちら側のデータ構造が AutoCAD=DXFと似たようなカタチになっていると、当然、やりやすい。同じように、SXFファイルでのやり取りが多い場合には、SXF仕様に近しいカタチになっているほうが望ましい。
AutoCAD=DXFはバージョンによってどんどん変わるし、私は古いモノしかわからない。なので、SXF仕様に近しいカタチで考えていこうと思っているんだけれども、当然、「業界標準=AutoCAD=DXF(DWG)」だろう?って人の場合は、そっちに似せて作ればいいんじゃないかと思う。
大きな違いは、やっぱ、AutoCAD=DXFの、レイアウト&モデル&ビューポートだろうなぁ。SXF仕様にそういう概念は無いし。でも最近のAutoCADでは、モデル空間にもビューポートが置けるって話を聞いた記憶もあるし、よく分からないです、はい(何せ見た事もないので)。

よく分からないし所持していないからテストも出来ないAutoCADについては置いといて、SXFの共通ライブラリを使うかどうかは置いといて、SXF Ver.3.1 レベル2の仕様に少し合わせるって事で。

となりますと、
フィーチャ
 ├ 図面情報
 │  └ 図面表題欄
 ├ 図面構造
 │  ├ 用紙
 │  ├ レイヤ
 │  ├ 線種
 │  ├ 色
 │  ├ 線幅
 │  └ 文字フォント
 ├ 幾何/表記要素
 │  ├ 点マーカ
 │  ├ 線分
 │  ├ 折線
 │  ├ 円
 │  ├ 円弧
 │  ├ 楕円
 │  ├ 楕円弧
 │  ├ 文字
 │  ├ スプライン
 │  └ クロソイド
 └ 構造化要素
    ├ 複合図形定義
    ├ 複合図形配置
    ├ 既定義シンボル
    ├ 直線寸法
    ├ 弧長寸法
    ├ 角度寸法
    ├ 半径寸法
    ├ 直径寸法
    ├ 引出し線
    ├ バルーン
    ├ ハッチング(既定義)
    ├ ハッチング(塗り)
    ├ ハッチング(ユーザ定義)
    ├ ハッチング(パターン)
    └ 複合曲線定義
で、用紙に部分図があって、部分図で尺度を指定すると。

だから、尺度設定は1つしかない、とか、レイヤで尺度を設定する、というシステムではない訳ですね。

というわけで、SXFな話については、当方サイトの「CADを考える」のコーナーで既にやってますので、そこでの開発環境とは違うので内容は多少違ってきますけれども、まぁ、お気軽に考えていこうかなぁ、とは思ってます。

SXF仕様での文字は、基本、シフトJIS って事になってますが、Unicode でやるつもりだし、フォントについても、Windows と MacOSX とでは違ってくるでしょうし。だから文字数制限とか、どうしようかなぁ?という気も、しないでもないんですけれど。