195.DXFの色

結構前からお客さんより要望があり
時間を見てDXFを調べています。


大きくいうとやることは
●DXFをレイヤー毎に出力すること 

基板CADのように層ごとに
見たい。

●PDFのラッツ色と同様の図を出力すること。 

パターン指示を
DXFCADでやりたい。

主に2つを実現したいと思っています。

細かい点を言えば実装や後加工で役に立つ
ように工夫する点などあるのですが
まずは完成することが先決です。

レイヤーごとまとめる話を中谷さんにしたら
出力したDXFをまとめるプログラムは
最近はあまり出番がないですが
既に作ってあるということでした。

DREAMのDXF出力は元は中谷さんのプログラムを
参考に開発されたということなので
やはりそうかと思いました。
perl言語でした。


PDFでよくコメント書きされ返信というスタイルも
増えてきています
しかしこの場合は
PDFに書き入れるソフトを購入する必要があります。

DXFであれば 無料で使えるCADや
機構などを扱うところではCADを持っているところが
多いので
詳細な検図指示などしやすいというのが
メリットだと思います。

よくDREAMから出力したDXFのデータを
利用して 部品配置を送ってくれるお客さんもいます。

DXFの場合再利用もできる面があります。

DXF構造を調べているうちにわかりましたが
いままでDXFのデータの誤解をしておりました。
それは色についてです。
1レイヤーに単一色しか出せないと思っておりました。。。
(そういうCADもあります)
しかし最近のCADはフリーも含め
同一レイヤーに
複数の色を出すことができるのです。

参考のため
下記部分はその色に関したプログラムの一部です。

DXFCOLOR= " " の数字の部分がそのDXFの色番に
あたる場所です

  Case "0"
  DXFCOLOR = "7": '黒
  Case "1"
  DXFCOLOR = "5": '青
  Case "2"
  DXFCOLOR = "1": '赤
  Case "3"
  DXFCOLOR = "6": '紫
  Case "4"
  DXFCOLOR = "3": '緑
  Case "5"
  DXFCOLOR = "4": '水色
  Case "6"
  DXFCOLOR = "2": '黄色
  Case "7"
  DXFCOLOR = "8": '灰色濃い
  Case "8"
  DXFCOLOR = "9": '灰色薄い
  DXFCOLOR = "7": 'デフォルトのラッツ色なのでこれを黒にする。
  Case "9"
  DXFCOLOR = "176": '濃青
  Case "10"
  DXFCOLOR = "16": '茶
  Case "11"
  DXFCOLOR = "216": '濃紫
  Case "12"
  DXFCOLOR = "96": '濃緑
  Case "13"
  DXFCOLOR = "136": '青より緑
  Case "14"
  DXFCOLOR = "56": '群青
  Case "-2"
  DXFCOLOR = "254": '白だと見えないため今のところ黒
  Case "20"
  DXFCOLOR = "11": 'ピンクがかった肌色
  Case "21"
  DXFCOLOR = "31": '肌色
  Case "22"
  DXFCOLOR = "60": '薄い黄緑
  Case "23"
  DXFCOLOR = "70": '黄緑
  Case "24"
  DXFCOLOR = "123": 'うすい黄緑
  Case "25"
  DXFCOLOR = "254": 'うすい白ねずみいろ
  Case "26"
  DXFCOLOR = "132": '薄い水色
  Case "27"
  DXFCOLOR = "140": '少し濃い水色
  Case "28"
  DXFCOLOR = "153": '薄いむらさき
  Case "29"
  DXFCOLOR = "203": 'やや赤みがかったむらさき
  Case "30"
  DXFCOLOR = "193": 'もう少し赤みかかった紫
  Case "31"
  DXFCOLOR = "231": '更に赤みがかった紫
  Case Else
  DXFCOLOR = "7": '黒



PDFは 色は R:G:B で表現されています。
そのためどんなReaderでも
同じ色で見ることができます。

それに対し
DXFは R:G:Bでもあるのかも知れませんが
色番です。
この色番で DXFCADの色が正しくでるか確認中です。
とりあえず AUTOCADのVIEWERで確認したらOKでした。
プログラムというよりも 前準備が仕事です。




トップへ
トップへ
戻る
戻る