AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
CAD作ろ! 円弧を描く
それでは、円弧を描く事を考えましょう。
円弧を描くには、既に述べた通り、
Arc(x1,y1,x2,y2,x3,y3,x4,y4);
でImageやPaintBoxのCanvasに作図出来ます。このx1,y1,x2,y2は、円(楕円)に外接する長方形の座標を指定します。(x3,x3)は円弧の開始点座標、(x4,y4)は円弧の終点座標を指定します。勿論これは整数値の画面dot座標ですので、mm値との変換が必要です。始点・終点は反時計回りに作図されます。
円と同様、CADでは通常、外接長方形の座標や始点・終点座標を扱う事は余りありません。ここで言う始点・終点とは、中心点から始点までの角度、中心点から終点までの角度、を示します。円上の点(円を通過する点)を示す訳ではありませんので注意して下さい。

 
格納するデータですが、円弧を構成するデータとしては、中心点X,Y、半径、開始角、終了角、というのがよくあるパターンです。勿論、CADによっては、開始点・終了点、というのもあるでしょうし、円弧の作図方向で、時計回り・反時計回りを指定出来るものもあるかもしれません。また、中心点X,Y、半径、開始角、中心角、というものもあるでしょう。また、単位も[°]と[rad]がありますが、ここでは[°]にしておきます。
TDataEntities = record  // データ定義
 typ : Integer ; // 要素の種類(1:直線 2:円 3:円弧・・・)
 lay : Integer ; // レイヤ番号
 col : Integer ; // 色番号
 lin : Integer ; // 線種番号
 wid : double ;  // 線幅
 p1,p2,p3,p4,p5 : Double; // 第1〜第5データ[mm][°]
end;
・・・
Dat : array of TDataEntities; // データ
Dat_N : Integer ; // データ量
p1,p2が中心点(x,y)、p3が半径、p4が開始角度、p5が終了角度、となります。線分データでは、p5は使用しないのでダミー、円データではp4,p5は使用しないのでダミー、となります。
 
データ構造を決めたら、実際の円弧の描画用の関数を作成し、円弧の作図ロジックを作成(まずは中心点指定→半径点指定→開始角度点指定→終了角度点指定→作図・登録、を行う処理部分)、それに応じて、ラバーバンドの処理、図形範囲への対応、端点検索の対応(開始角度点・終了角度点に対応させます)、全要素表示への対応、等を行います。
なお、円・円弧のクリッピングですが、クリッピング処理を必要としない場合は Ellipse・Arc で作図し、クリッピング処理が必要な場合は、補間線分(つまり多角形)で表し、線分のクリッピング処理を利用する事としています。また、詳細画面表示の場合には常に線分で表現します。
 
取りあえず、ここまでのサンプルプログラムです。
サンプルプログラムのソース
 
 
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
 ▲PREV
 ▼NEXT
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015 By AFsoft All Rights Reserved.