|
異なる(2次元)CAD間でデータをやり取りする際にはDXFがよく利用されますが、縮尺が無い事、国内製CADによくある文字間隔の項目が無い事、AutoCADのバージョンが変わる事により内容が変化してしまう、等の理由でうまく図面データが受け渡し出来ないという状況があるためか?、(社)日本パーソナルコンピュータソフトウェア協会内のPCES協議会にて、国内CADソフトハウスや部品メーカー等が集まって協議して作成されたのが、PCES(Personal CAD Exchange Specification)です。
データの整合性を取るために協議会内でデータ検証を行っていたそうです。
PCESファイルとは?
PCESファイルの構造は以下の図のようになります。
%FS
PCES Ver 1.0 0000000000
99/08/10
00:00:00
0 |
ファイル属性開始
PCES認定番号
ファイル作成日
ファイル作成時間
ファイル番号 |
\SID\インフォメーション
\SID\ソフト名称:AFXX VerX.X
\SID\バージョン:Ver1.0
\SID\会社名称 :AFsoft
\SID\問い合わせ:開発部
\SID\電話番号 :000-0000-0000
\SID\担当者 :AF |
インフォメーション
ソフト名
PCESバージョン
会社名称
問い合わせ部課名等
問い合わせ先電話番号
問い合わせ担当者 |
\NAM\AFXX_Data_001
\YMD\1999/01/01
\HMS\12:00:00
\DSG\AF
\SIZ\FRE
\HSZ\300
\VSZ\200
\SCL\1/1
\KTC\4 |
図面名称
図面作成日
図面作成時間
設計者名
用紙種別(自由サイズ)
用紙横サイズ
用紙縦サイズ
図面尺度
小数点以下表記桁数 |
\COL\7
\LAY\1
\PEN\0
\LIN\0
\LTP\0
\CVL\3.0
\CHL\3.0
\CGP\0.0
\CWD\0
\CAP\6
\SAN\0
\CAN\0
#FE |
デフォルトの色(白)
レイヤー(1)
線の太さ(太)
線の種類(実線)
線タイプ(通常)
文字高さ
文字幅
文字間隔
文字方向(横書き)
文字配置位置(左下)
文字スラント角 0゚
文字回転角 0゚
ファイル属性終了 |
用紙種別:
A1型横の場合:「\SIZ\A10」
A2型縦の場合:「\SIZ\A21」
B3型横の場合:「\SIZ\B30」
B4型縦の場合:「\SIZ\B41」
これら定型用紙の場合にも、用紙横サイズ・縦サイズ
の指定は必要です。
図面尺度:
分数形式で、「nnn.nnn/nnn.nnn」のように指定します。
例:「\SCL\1/1」 「\SCL\1/100」
「\SCL\200/1」 「\SCL\1.75/1」
色、レイヤー等:要素のデフォルト値を指定します。データ部で色等を変更した場合には、その変更した値がデフォルト値となります。
色:64色まで対応出来ますが、基本の8色対応とするのが通常でしょう。
0:黒 1:青 2:緑 3:水
4:赤 5:紫 6:黄 7:白
レイヤー:
0〜255
線の太さ:
0:太い 1:細い
線の種類:
0:実線 1:短破線 2:長破線
3:一点鎖線 4:二点鎖線 5:点線
線タイプ:
0:通常 1:補助線
文字高さ/文字幅/文字間隔:実寸値(mm)で指定
文字方向:
0:横書き 2:縦書き
文字配置位置:
0:左上 1:中上 2:右上
3:左中 4:中中 5:右中
6:左下 7:中下 8:右下
文字スラント角:Y軸正方向を0°として
右方向を+とする角度(°)で指定
文字回転角 :X軸正方向を0°として
反時計回りを+とする角度(°)で指定
%DS
〜
#DE |
データ部開始
(各種データ)
データ部終了 |
データ部には、図面データ(各種図形要素)を記述します。直線、円弧/円、点、文字列等があります。この他にも楕円弧/楕円やグループ、等があるみたいですが、簡単にPCES出力する分には、この4要素を出力出来るようにすれば問題は無いでしょう。
座標は、左下を原点(0,0)として、上・右方向を+とする座標系での表現となります。
変化する属性データは、ファイル属性部のデフォルト値を利用しないようにする方がプログラミングは楽になります。
直線
直線(100,200)〜(300,400)の例です。
青色、実線です。
\601
\611
\620
\630
\640
02001100,11200,02300,12400 |
色 =1(青)
レイヤー=1
線の太さ=0(太)
線の種類=0(実線)
線タイプ=0(通常)
020〜 線分
01〜 開始x座標
11〜 開始y座標
02〜 終了x座標
12〜 終了y座標 |
円
中心(100,200)半径50の例です。赤色、一点鎖線です。
中心角は、0又は360のどちらでもいいみたいです。
\604
\611
\620
\633
\640
00000100,10200,300,310,4050 |
色 =4(赤)
レイヤー=1
線の太さ=0(太)
線の種類=3(一点鎖線)
線タイプ=0(通常)
000〜 円/円弧
00〜 中心x座標
10〜 中心y座標
30〜 開始角(°)
31〜 中心角(°)
40〜 半径 |
円弧
中心(100,200)半径80、開始角45°、終了角300°
の例です。中心角は、開始角から終了角まで
何度あるか、を示しますので、この場合中心角は、
255°(300-45 = 255)になります。
赤色、一点鎖線です。
\604
\611
\620
\635
\640
00000100,10200,3045,31255,4080 |
色 =4(赤)
レイヤー=1
線の太さ=0(太)
線の種類=5(点線)
線タイプ=0(通常)
000〜 円/円弧
00〜 中心x座標
10〜 中心y座標
30〜 開始角(°)
31〜 中心角(°)
40〜 半径 |
点
座標(300,400)の点の例です。水色です。
\603
\6110
\640
03000300,10400
|
色 =3(水)
レイヤー=10
線タイプ=0(通常)
030〜 点
00〜 描画x座標
10〜 描画y座標 |
文字
\607
\613
\640
10003100,13200,505,51あいうえお |
色 =7(白)
レイヤー=3
線タイプ=0(通常)
100〜 文字
03〜 配置x座標
13〜 配置y座標
50〜 文字数
51〜 文字列内容 |
半角・全角混在可能。文字数は、全角/半角とも
1文字(バイト数ではありません)。全ての文字の
大きさ・条件等が同じ場合、デフォルトをそのまま
使えば良いので上記のように記述出来ますが、
例えば、文字高や文字幅がいろいろ変わるのなら、
以下のように要素毎に出力するようにプログラムを
作るのが簡単でしょう。
\607
\613
\640
\704.0
\713.0
\720.5
\730
\743
\755.0
\7630.0
10003100,13200,505,51あいうえお |
色 =7(白)
レイヤー=3
線タイプ=0(通常)
文字高さ =4.0
文字幅 =3.0
文字間隔 =0.5
文字方向 =0:横書
文字配置位置 =3:左中
文字スラント角=5°
文字回転角 =30°
100〜 文字
03〜 配置x座標
13〜 配置y座標
50〜 文字数
51〜 文字列内容 |
|
|
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
CADを考える
M7
Jw_cad
|