line
BSDでCNC

xfigで図面を入力

line 


xfigで図面を入力した場合は以下のようなフローになります。

1.xfigを使用して切削する図形を入力します。黒線の線幅をエンドミルの直径と同じ にします。
 太い黒線の内側が切削した後に残ります。中央の赤い点は基準点です。緑の線は補助線です。

この図形のFIGデータは以下のようになります。切削するデータとなるのは
太黒の3個の円弧3本の直線、それに文字データ”maxspeed””depth”です。

#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
5 1 0 396 0 7 102 0 -1 0.000 1 0 0 0 57714.945 60758.887 25500 94600 14700 79000 11000 59900
5 1 0 396 0 7 104 0 -1 0.000 1 0 0 0 60459.270 59952.395 109100 59900 105300 78800 94800 94400
5 1 0 396 0 7 106 0 -1 0.000 1 1 0 0 60150.000 59741.379 36300 60400 60300 83600 84000 60400
1 3 0 13 2 7 100 0 -1 0.000 1 0.0000 60000 60000 27500 27500 60000 60000 87500 60000
1 3 0 13 2 7 100 0 -1 0.000 1 0.0000 60000 60000 46000 46000 60000 60000 106000 60000
2 1 0 66 5 7 200 0 -1 0.000 1 1 -1 0 0 1
  60000 60000
2 1 0 13 2 7 100 0 -1 0.000 1 1 -1 0 0 2
  12200 91300 114000 91300
2 1 0 13 2 7 100 0 -1 0.000 1 1 -1 0 0 2
  3800 59900 116100 59900
2 1 0 396 0 7 105 0 -1 0.000 1 1 -1 0 0 2
  84200 60100 109100 60100
2 1 0 396 0 7 103 0 -1 0.000 1 1 -1 0 0 2
  94700 94600 25800 94600
2 1 0 396 0 7 107 0 -1 0.000 1 1 -1 0 0 2
  11000 59900 36300 59900
4 0 0 200 0 0 120 0.0000 4 1635 11700 15800 18500 maxspeed=0a00\001
4 0 0 200 0 0 120 0.0000 4 1635 9810 18400 15900 depth=5.0/5.0\001
 

2.fig2devを使用して、HPGLを修正したプリンタドライバ(zcam)で専用 データ
  に変換します。変換時には終点と始点の接続検査(エンドミルの半径と比較して
  2点が離れているかを検査)やバックラッシュの修正などを行います。変換した
  データは以下のようになります。赤で説明を入れました。
  c:MOZボードに送られる コマンド列です。
  o:FIGデータの”赤の 点”が基準点として使用されたことを表します。
  p:プリント出力です。標準出力文字列を出力します。

p Data convert by zcam V0.92 on fig2dev
p fig2dev -Lzcam in_file out_file
p text info = maxspeed=0a00
p max speed
c 44 0a 00                          <-移動速度の設定
p text info = depth=5.0/5.0         <-3mmのアルミなので5mmを一回で切るように指示します
p Set depth=800fa0
p Set width=000fa0
p Set Z-axis times of milling = 1
p set current points
c 42 80 00 00 80 00 00 80 00 00     <-現在の位置をセンター に設定
p milling = 1
p Mark point detected 12000 24000
p Change X/Y offset value by Mark point
o 8400608 8412608
p >>Generate polyline to lines array[1]
p Point is not connect              <-始めの点のため、他の線と接続されてい無いことを表します
c 84 80 00 00
c 86 80 26 48 80 00 28 80 00 00
c 84 80 0f a0                       <-Z軸を上げて切り込み
c 86 80 12 84 80 00 28 80 0f a0     <-1つ目の直線移動
p >>Generate Arc to lines array[1]  <-1つ目の大きな円弧
p Point is connect
c 86 80 12 84 7f ff 60 80 0f a0
c 84 80 0f a0
c 86 80 12 84 7f ff 60 80 0f a0
c 86 80 12 67 7f fc 22 80 0f a0
c 86 80 12 25 7f f8 ec 80 0f a0
c 86 80 11 c0 7f f5 c4 80 0f a0
c 86 80 11 38 7f f2 b2 80 0f a0
c 86 80 10 8e 7f ef b9 80 0f a0
c 86 80 0f c4 7f ec e2 80 0f a0
c 86 80 0e da 7f ea 30 80 0f a0
c 86 80 0d d4 7f e7 aa 80 0f a0
c 86 80 0c b2 7f e5 54 80 0f a0
c 86 80 0b 78 7f e3 33 80 0f a0
c 86 80 0a 27 7f e1 4a 80 0f a0
c 86 80 08 c1 7f df 9e 80 0f a0
c 86 80 07 4b 7f de 32 80 0f a0
c 86 80 05 c6 7f dd 09 80 0f a0
c 86 80 04 36 7f dc 25 80 0f a0
c 86 80 02 9d 7f db 87 80 0f a0
c 86 80 00 ff 7f db 31 80 0f a0
c 86 7f ff 5f 7f db 24 80 0f a0
p Y- backlash correction
c 78 00 20                          <-Y軸バックラッシュの補正
c 42 7f ff 5f 7f db 24 80 0f a0     <-バックラッシュの移動 のキャンセル
c 86 7f fd c0 7f db 5f 80 0f a0
c 86 7f fc 24 7f db e3 80 0f a0
c 86 7f fa 91 7f dc ad 80 0f a0
c 86 7f f9 07 7f dd bd 80 0f a0
c 86 7f f7 8b 7f df 11 80 0f a0
c 86 7f f6 1f 7f e0 a6 80 0f a0
c 86 7f f4 c7 7f e2 78 80 0f a0
c 86 7f f3 83 7f e4 85 80 0f a0
c 86 7f f2 58 7f e6 c8 80 0f a0
c 86 7f f1 48 7f e9 3e 80 0f a0
c 86 7f f0 54 7f eb e0 80 0f a0
c 86 7f ef 7e 7f ee aa 80 0f a0
c 86 7f ee c8 7f f1 97 80 0f a0
c 86 7f ee 33 7f f4 a1 80 0f a0
c 86 7f ed c1 7f f7 c1 80 0f a0
c 86 7f ed 72 7f fa f3 80 0f a0
c 86 7f ed 47 7f fe 2f 80 0f a0
c 86 7f ed 40 7f ff 61 80 0f a0
p >>Generate polyline to lines array[1]
p Point is connect                  <-前の終点と始点が接続されていることを表します
c 86 7f ed 18 7f ff d8 80 0f a0     <-2つ目の直線移動
c 86 7f d9 a4 7f ff d8 80 0f a0

p >>Generate Arc to lines array[1]  <-2つ目の小さい円弧
p Point is connect                  <-前の終点と始点が接続されていることを表します
c 86 7f d9 a4 80 00 28 80 0f a0
c 84 80 0f a0
c 86 7f d9 a4 80 00 29 80 0f a0
p X- backlash correction
c 77 00 30                          <-X軸バックラッシュの補正
c 42 7f d9 a4 80 00 29 80 0f a0     <-バックラッシュの移動 のキャンセル
p Y+ backlash correction
c 78 ff e0                          <-Y軸バックラッシュの補正
c 42 7f d9 a4 80 00 29 80 0f a0     <-バックラッシュの移動 のキャンセル
c 86 7f d9 c9 7f f9 89 80 0f a0
c 86 7f da 36 7f f2 f6 80 0f a0
c 86 7f da ed 7f ec 7c 80 0f a0
c 86 7f db ec 7f e6 29 80 0f a0
c 86 7f dd 30 7f e0 08 80 0f a0
c 86 7f de b7 7f da 26 80 0f a0
c 86 7f e0 7e 7f d4 8d 80 0f a0
c 86 7f e2 82 7f cf 49 80 0f a0
c 86 7f e4 be 7f ca 65 80 0f a0
c 86 7f e4 d0 7f ca 40 80 0f a0
p >>Generate polyline to lines array[1]
p Point is connect                  <-前の終点と始点が接続されていることを表します
c 86 7f e4 e4 7f c9 f0 80 0f a0     <-3つ目の直線移動
c 86 80 1a b8 7f c9 f0 80 0f a0
p >>Generate Arc to lines array[1]  <-3つ目の小さい円弧
p Point is connect                  <-前の終点と始点が接続されていることを表します
c 86 80 1a f4 7f c9 f0 80 0f a0
c 84 80 0f a0
c 86 80 1a f5 7f c9 f0 80 0f a0
p Y- backlash correction
c 78 00 20                          <-Y軸バックラッシュの補正
c 42 80 1a f5 7f c9 f0 80 0f a0     <-バックラッシュの移動 のキャンセル
c 86 80 1d 2a 7f ce 87 80 0f a0
c 86 80 1f 2a 7f d3 7c 80 0f a0
c 86 80 20 f1 7f d8 c5 80 0f a0
c 86 80 22 7b 7f de 58 80 0f a0
c 86 80 23 c5 7f e4 2b 80 0f a0
c 86 80 24 cd 7f ea 31 80 0f a0
c 86 80 25 91 7f f0 60 80 0f a0
c 86 80 26 10 7f f6 aa 80 0f a0
c 86 80 26 47 7f fd 05 80 0f a0
c 86 80 26 48 80 00 28 80 0f a0
p max speed
c 44 08 00
p move origin point
c 84 80 00 00                      <-Z軸を基準点まで戻します
c 81 80 00 00 80 00 00 80 00 00    <-中央に戻ります
p end of command
 

3.変換データを出力用プログラム”motest"を使用して変換データを出力します。
 cで始まるコマンド列にSEQ(シーケンス番号)とCHK(チェックサム)を付けて
 MOZボードに出力します。応答データがあるコマンドの場合には応答データを
 入力します。上記のデータで切削した3mmのアルミ板の残りです。同一データで
 数回切削しました。

 

4.変換できる図形について
円弧や直線以外にもxfigでサポートしている基本図形はそのまま切削が可能です。右は2mm の
エンドミルでアルミを試し切りしたものです。左上からポリゴン(6角形)開いたスプライン
ARC−BOX楕円閉じたスプラインです。

 
 

back

line