組込み手続きの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;