組込み手続きのXY座標をpoint型とVector型で使うためのラップ手続きです。 元の手続き名の末尾にPかVを付けて手続き名としています。 vector型のものはpoint3D型でも使えます。
まずは指定した座標に2D図形を配置する手続きです。図形の種類は2D基準点、シンボル、プラグインオブジェクト(PIO)です。
(* ーーーーーーー 以下の手続きは指定した座標に図形を配置します。 ーーーーーーー *)
procedure LocusP(pt :point); { 2D基準点を配置する(point型) }
begin
Locus(pt.x, pt.y);
end;
procedure LocusV(pt :vector); { 2D基準点を配置する(vector型) }
begin
Locus(pt.x, pt.y);
end;
procedure SymbolP(nm :string; pt :point; rad :real); { シンボルを配置する(point型) }
begin
Symbol(nm, pt.x, pt.y, rad);
end;
procedure SymbolV(nm :string; pt :vector; rad :real); { シンボルを配置する(vector型) }
begin
Symbol(nm, pt.x, pt.y, rad);
end;
function CreateCustomObjectP(nm: string; pt :point; rot :real): handle;
{ PIOを配置してハンドルを返す(point型) }
begin
CreateCustomObjectP:= CreateCustomObject(nm, pt.x, pt.y, rot);
end;
function CreateCustomObjectV(nm: string; pt :vector; rot :real): handle;
{ PIOを配置してハンドルを返す(vector型) }
begin
CreateCustomObjectV:= CreateCustomObject(nm, pt.x, pt.y, rot);
end;
function CreateCustomObjectNP(nm: string; pt :point; rot :real; showPref :boolean): handle;
{ PIOを配置してハンドルを返す(point型) そのとき設定ダイアログを開く }
begin
CreateCustomObjectNP:= CreateCustomObjectN(nm, pt.x, pt.y, rot, showPref);
end;
function CreateCustomObjectNV(nm: string; pt :vector; rot :real; showPref :boolean): handle;
{ PIOを配置してハンドルを返す(vector型) そのとき設定ダイアログを開く }
begin
CreateCustomObjectNV:= CreateCustomObjectN(nm, pt.x, pt.y, rot, showPref);
end;
追記(2022/09/09)
Ver.12から、四角形を斜めに描けるようになっています。基準点(左下)の座標、傾き(dX, dY)、サイズ(width, height)を指定して作図します。全てXとYの対なのでpoint型とvector型に置き換えます。
(* ーーーーーーー 以下はver.12以降で使用出来ます。 ーーーーーーー *)
procedure RectangleNP(pt, direct, size :point);
{ 始点と傾きを指定して斜めの四角形を描く(point型) }
begin
RectangleN(pt.x, pt.y, direct.x, direct.y, size.x, size.y);
end;
procedure RectangleNV(pt, direct, size :vector);
{ 始点と傾きを指定して斜めの四角形を描く(vector型) }
begin
RectangleN(pt.x, pt.y, direct.x, direct.y, size.x, size.y);
end;