図形を作図するための手続きにはVectorworksのツールと同じように
さまざまな種類があります。
直線を描く
まず、手続きMoveToを使って直線を描き始める座標(ペン位置)を指定します。
次に手続きLineToを使って直線の終点座標を指定します。
手続き「Line」を使うと相対的な座標で指定できます。
手続きLineTo/Lineで直線を描いた後のペン座標には終点がセットされます。
LineTo/Lineを続けて使えば、連続した直線が描けます。
← MoveTo LineToの使い方
PROCEDURE TEST;
BEGIN
MoveTo(0,0);
LineTo(50,50);
END;
Run(TEST);
結果は上画像
例題プログラム
PROCEDURE TEST;
BEGIN
MoveTo(0,0);
LineTo(50,50);
LineTo(100,0);
Line(50,50);
END;
Run(TEST);
1 | PROCEDURE TEST; | |
2 | BEGIN | |
3 | MoveTo(0,0); | 手続きMoveToを使って直線の始点座標(0,0)を指定します。 |
4 | LineTo(50,50); | 手続きLineToを使って直線の終点座標(50,50)を指定し直線を描きます。 同時にペン位置が終点座標にセットされます。 |
5 | LineTo(100,0); | 手続きLineToを使って直線の終点座標(100,0)を指定し直線を描きます。 直線の始点座標は4行目で描いた直線の終点座標(50,50)です。 |
6 | Line(50,50); | 手続きLineを使って直線を描きます。 手続きLineは現在のペン位置(100,0)から相対的に座標を移動して直線を描きます。 |
7 | END; | |
8 | Run(TEST); | |
上記プログラムの実行結果
多角形を描く
手続きBeginPolyとEndPolyの間の行に手続きAddPointを使って頂点を追加します。
BeginPolyの前に手続きClosePolyを書くと多角形の始点と終点が閉じるようにできます。
例題プログラム
PROCEDURE TEST;
BEGIN
ClosePoly;
BeginPoly;
AddPoint(0,30);
AddPoint(40,10);
AddPoint(20,-30);
AddPoint(-20,-30);
AddPoint(-40,10);
EndPoly;
END;
Run(TEST);
3 | ClosePoly; | 手続きClosePoly;を呼び出して多角形を書き終わった後に自動的に 始点と終点を結びます。 |
4 | BeginPoly; | 手続きBeginPoly;を呼んで多角形を書き始めます。 |
5〜9 | AddPoint(x,y); | 手続きAddPointを使って多角形の頂点を追加します。 |
10 | EndPoly; | 手続きEndPoly;を呼んで多角形を書き終えます。 |
上記プログラムの実行結果
円弧を描く
手続き「Arc」を使います。Arcでは6つのパラメータを指定します。
1番目から4番目までのパラメータは円弧に内接する四角形の座標です。
5番目のパラメータは円弧の開始角度です。
最後のパラメータは円弧の角度です。
PROCEDURE TEST;
BEGIN
Arc(-50,50,50,-50,45,90);
Arc(-50,50,50,-50,225,90);
END;
Run(TEST);
3 | Arc(-50,50,50,-50,45,90); | 手続きArcを使って円弧を描きます。 |
4 | Arc(-50,50,50,-50,225,90); | 手続きArcを使って2つめの円弧を描きます。 |
上記プログラムの実行結果
隅の丸い四角形を描く
手続き「RRect」を使います。
これもパラメータの1〜4番目までは四角形の座標です。
5・6番目のパラメータは隅を丸める円の直径です。
PROCEDURE TEST;
BEGIN
RRect(-50,60,50,10,20,20);
RRect(-50,-10,50,-60,30,10);
END;
Run(TEST);
3 | RRect(-50,60,50,10,20,20); | 手続きRRectを使って隅の丸い四角形を描きます。 |
4 | RRect(-50,-10,50,-60,30,10); | 手続きRRectを使ってもうひとつの隅の丸い四角形を描きます。 |
上記プログラムの実行結果
文字を書き入れる
図面に文字を書き入れるには、手続き「TextOrigin」を使って文字を書き入れる座標を指定します。
次に、手続きBeginTextとEndTextの間の行に書き入れる文字をシングルクォーテーション(')で囲んで書きます。
PROCEDURE TEST;
BEGIN
TextOrigin(0,0);
BeginText;
'サンプルテキスト'
EndText;
END;
Run(TEST);
上記プログラムの実行結果