CadConstオブジェクト

CAD定数一覧です。

calcEXPRESxxx 定数

計算エラー

CadConst.calcEXPRESxxx : Integer

解説
0

calcEXPRESconst 定数

定数だけの式を計算した

CadConst.calcEXPRESconst : Integer

解説
1

calcEXPRESusevar 定数

変数を含む式を計算した

CadConst.calcEXPRESusevar : Integer

解説
2

cmdlvNORMAL 定数

通常コマンドレベル

CadConst.cmdlvNORMAL : Integer

解説
0

cmdlvINTERRUPT 定数

割込コマンドレベル

CadConst.cmdlvINTERRUPT : Integer

解説
1

cmdlvINTERRUPT2 定数

割込コマンドレベル2

CadConst.cmdlvINTERRUPT2 : Integer

解説
2

cmdlvDEFAULT 定数

Defaultコマンドレベル

CadConst.cmdlvDEFAULT : Integer

解説
-1

cmdlvNONE 定数

Noneコマンドレベル

CadConst.cmdlvNONE : Integer

解説
-1

cmdstateSTART 定数

開始状態

CadConst.cmdstateSTART : Integer

解説
-32767

cmdstateBEGIN 定数

開始状態

CadConst.cmdstateBEGIN : Integer

解説
-32767

cmdstateSTOP 定数

中止状態

CadConst.cmdstateSTOP : Integer

解説
-32766

cmdstateEND 定数

終了状態

CadConst.cmdstateEND : Integer

解説
-32765

cmdstatePOPRESTART 定数

再スタート状態

CadConst.cmdstatePOPRESTART : Integer

解説
-32764

cmdstateIGNORE 定数

無視状態

CadConst.cmdstateIGNORE : Integer

解説
-32763

cmdstateERROR 定数

エラー状態

CadConst.cmdstateERROR : Integer

解説
-32762

curveformBSPL 定数

B-スプライン曲線(3次)

CadConst.curveformBSPL : Integer

解説
0

curveformCSPL 定数

C-スプライン曲線(3次)

CadConst.curveformCSPL : Integer

解説
1

datafileXXX 定数

識別不可能な形式

CadConst.datafileXXX : Integer

解説
0

datafileFTR 定数

FTR形式

CadConst.datafileFTR : Integer

解説
1

datafileMAKINGSVL 定数

SVL作成中のFTR形式

CadConst.datafileMAKINGSVL : Integer

解説
2

datafileDXF 定数

DXF形式

CadConst.datafileDXF : Integer

解説
3

datafileDWG 定数

DWG形式

CadConst.datafileDWG : Integer

解説
4

datafileJWC 定数

JWC形式

CadConst.datafileJWC : Integer

解説
5

datafileMETAFILE 定数

EMF形式

CadConst.datafileMETAFILE : Integer

解説
6

datafileSXF 定数

SXF形式

CadConst.datafileSXF : Integer

解説
7

datafileJWW 定数

JWW形式

CadConst.datafileJWW : Integer

解説
8

dim2typeNORMAL 定数

水平・垂直・平行寸法

CadConst.dim2typeNORMAL : Integer

解説
1

dim2typeDIAMETER 定数

直径寸法

CadConst.dim2typeDIAMETER : Integer

解説
2

dim2typeRADIUS 定数

半径寸法

CadConst.dim2typeRADIUS : Integer

解説
3

dim2typeANGLE 定数

角度寸法

CadConst.dim2typeANGLE : Integer

解説
4

dim2typeCSNP 定数

C寸法

CadConst.dim2typeCSNP : Integer

解説
6

dim2typeNOTE 定数

引き出し線・注釈

CadConst.dim2typeNOTE : Integer

解説
7

dim2typeARCLEN 定数

弧長寸法

CadConst.dim2typeARCLEN : Integer

解説
8

dim2typeBALLON 定数

バルーン

CadConst.dim2typeBALLON : Integer

解説
11

drgmodeMOVE 定数

移動モード

CadConst.drgmodeMOVE : Integer

解説
1

drgmodeROTATE 定数

回転モード

CadConst.drgmodeROTATE : Integer

解説
2

drawmodeERASE 定数

バックグランドで描画

CadConst.drawmodeERASE : Integer

解説
0

drawmodeDRAW 定数

エンティティのカラーハンドルで描画

CadConst.drawmodeDRAW : Integer

解説
1

drawmodeSPECL 定数

特別色で描画

CadConst.drawmodeSPECL : Integer

解説
2

drawmodeXORDRW 定数

XOR(排他的論理和)で描画

CadConst.drawmodeXORDRW : Integer

解説
3

drawmodeSAVEcopy 定数

複写保存 AfineEntys()用

CadConst.drawmodeSAVEcopy : Integer

解説
-1

drawmodeSAVEmove 定数

移動保存 AfineEntys()用

CadConst.drawmodeSAVEmove : Integer

解説
-2

entitySTRETCH_INFINITE 定数

無制限

CadConst.entitySTRETCH_INFINITE : Integer

解説
-1

entitySTRETCH_END1 定数

始点側端

CadConst.entitySTRETCH_END1 : Integer

解説
0

entitySTRETCH_END2 定数

終点側端

CadConst.entitySTRETCH_END2 : Integer

解説
1

entitySTRETCH_BOTHENDS 定数

両側

CadConst.entitySTRETCH_BOTHENDS : Integer

解説
2

hcolorNothing 定数

なし

CadConst.hcolorNothing : Integer

解説
0

hcolorBLACK 定数

黒色

CadConst.hcolorBLACK : Integer

解説
1

hcolorRED 定数

赤色

CadConst.hcolorRED : Integer

解説
2

hcolorCREEN 定数

緑色

CadConst.hcolorCREEN : Integer

解説
3

hcolorYELLOW 定数

黄色

CadConst.hcolorYELLOW : Integer

解説
4

hcolorBLUE 定数

青色

CadConst.hcolorBLUE : Integer

解説
5

hcolorVIOLET 定数

紫色

CadConst.hcolorVIOLET : Integer

解説
6

hcolorSKYBLUE 定数

水色

CadConst.hcolorSKYBLUE : Integer

解説
7

hcolorWHITE 定数

白色

CadConst.hcolorWHITE : Integer

解説
8

hcolorMAX 定数

最大カラー数

CadConst.hcolorMAX : Integer

解説
16

hentyNothing 定数

なし

CadConst.hentyNothing : Integer

解説
0

hlayerNothing 定数

なし

CadConst.hlayerNothing : Integer

解説
0

hlayerNULL 定数

ヌル画層

CadConst.hlayerNULL : Integer

解説
1

hlayerPARALEL 定数

パラレル変換用画層

CadConst.hlayerPARALEL : Integer

解説
65535

hlstyleNothing 定数

なし

CadConst.hlstyleNothing : Integer

解説
0

hlstyleSOLID 定数

実線

CadConst.hlstyleSOLID : Integer

解説
1

hlstyleDOT 定数

点線

CadConst.hlstyleDOT : Integer

解説
2

hlstyleDASH 定数

破線(1)

CadConst.hlstyleDASH : Integer

解説
3

hlstyleDASH1DOT 定数

1点鎖線(1)

CadConst.hlstyleDASH1DOT : Integer

解説
4

hlstyleDASH2DOT 定数

2点鎖線(1)

CadConst.hlstyleDASH2DOT : Integer

解説
5

hlstyleDASH_ 定数

破線(2)

CadConst.hlstyleDASH_ : Integer

解説
6

hlstyleDASH1DOT_ 定数

1点鎖線(2)

CadConst.hlstyleDASH1DOT_ : Integer

解説
7

hlstyleDASH2DOT_ 定数

2点鎖線(2)

CadConst.hlstyleDASH2DOT_ : Integer

解説
8

hlstyleMAX 定数

最大線種数

CadConst.hlstyleMAX : Integer

解説
8

hmapNothing 定数

なし

CadConst.hmapNothing : Integer

解説
0

hmapPAPER 定数

ペーパー座標系ハンドル

CadConst.hmapPAPER : Integer

解説
1

htfontNothing 定数

なし

CadConst.htfontNothing : Integer

解説
0

htfontSTANDARD 定数

標準フォント

CadConst.htfontSTANDARD : Integer

解説
1

htfontSTANDARD2 定数

標準フォント2

CadConst.htfontSTANDARD2 : Integer

解説
2

htypePoint2 定数

Point2型

CadConst.htypePoint2 : Integer

解説
1

htypeLine2 定数

Line2型

CadConst.htypeLine2 : Integer

解説
2

htypeCircle2 定数

Circle2型

CadConst.htypeCircle2 : Integer

解説
3

htypeEllipse2 定数

Ellipse2型

CadConst.htypeEllipse2 : Integer

解説
4

htypeCurve2 定数

Curve2型

CadConst.htypeCurve2 : Integer

解説
5

htypeText2 定数

Text2型

CadConst.htypeText2 : Integer

解説
6

htypeDim2 定数

Dim2型

CadConst.htypeDim2 : Integer

解説
7

htypeNUMVAL 定数

数値(SVL入力要素用)

CadConst.htypeNUMVAL : Integer

解説
200

htypeSTRING 定数

文字列(SVL入力要素用)

CadConst.htypeSTRING : Integer

解説
201

hwndNothing 定数

なし

CadConst.hwndNothing : Integer

解説
0

hwndMETA 定数

メタWindowハンドル

CadConst.hwndMETA : Integer

解説
65535

hwndPRN 定数

印刷Windowハンドル

CadConst.hwndPRN : Integer

解説
65534

inpgetENTITY 定数

要素を優先に取り出す

CadConst.inpgetENTITY : Integer

解説
0

inpgetPOINT 定数

点を優先に取り出す

CadConst.inpgetPOINT : Integer

解説
1

keymskLBtn 定数

左ボタン

CadConst.keymskLBtn : Integer

解説
1

keymskRBtn 定数

右ボタン

CadConst.keymskRBtn : Integer

解説
2

keymskMBtn 定数

中ボタン

CadConst.keymskMBtn : Integer

解説
4

keymskShift 定数

Shiftボタン

CadConst.keymskShift : Integer

解説
8

keymskCtrl 定数

Ctrlボタン

CadConst.keymskCtrl : Integer

解説
16

keymskAlt 定数

Altボタン

CadConst.keymskAlt : Integer

解説
32

maptype2DIM 定数

2次元座標系

CadConst.maptype2DIM : Integer

解説
1

maptype3DIM 定数

3次元座標系

CadConst.maptype3DIM : Integer

解説
2

mmarkRECT 定数

小さい矩形(m)

CadConst.mmarkRECT : Integer

解説
1001

mmarkPEKE 定数

小さいペケ(m)

CadConst.mmarkPEKE : Integer

解説
1002

mmarkTRIA 定数

小さい三角形(m)

CadConst.mmarkTRIA : Integer

解説
1003

mmarkMARU 定数

丸(m)

CadConst.mmarkMARU : Integer

解説
1004

mmarkLINE 定数

直線(m)

CadConst.mmarkLINE : Integer

解説
1005

mmarkPLUS 定数

小さいプラス(m)

CadConst.mmarkPLUS : Integer

解説
1006

mmarkTRIA2 定数

小さい矢印(m)

CadConst.mmarkTRIA2 : Integer

解説
1007

smarkRECT 定数

小さい矩形(s)

CadConst.smarkRECT : Integer

解説
1

smarkPEKE 定数

小さいペケ(s)

CadConst.smarkPEKE : Integer

解説
2

smarkTRIA 定数

小さい三角形(s)

CadConst.smarkTRIA : Integer

解説
3

smarkMARU 定数

丸(s)

CadConst.smarkMARU : Integer

解説
4

smarkLINE 定数

直線(s)

CadConst.smarkLINE : Integer

解説
5

smarkPLUS 定数

小さいプラス(s)

CadConst.smarkPLUS : Integer

解説
6

smarkTRIA2 定数

小さい矢印(s)

CadConst.smarkTRIA2 : Integer

解説
7

mskmapNAME 定数

name

CadConst.mskmapNAME : Integer

解説
1

mskmapSHOW 定数

bShow

CadConst.mskmapSHOW : Integer

解説
2

mskmapNONBOUND 定数

bNonBound

CadConst.mskmapNONBOUND : Integer

解説
4

mskmapNLAYER 定数

Nlayer

CadConst.mskmapNLAYER : Integer

解説
8

mskmapPBASE 定数

xpbase,ypbase)

CadConst.mskmapPBASE : Integer

解説
16

mskmapSYMBOL 定数

xsymbol,ysymbol)

CadConst.mskmapSYMBOL : Integer

解説
32

mskmapPDOM 定数

xpdom1,ypdom1)-(xpdom2,ypdom2)

CadConst.mskmapPDOM : Integer

解説
64

mskmapALLMASK 定数

座標系共通部分すべて

CadConst.mskmapALLMASK : Integer

解説
127

mskmap2MBASE 定数

xb,yb)

CadConst.mskmap2MBASE : Integer

解説
65536

mskmap2ROTATE 定数

rotate

CadConst.mskmap2ROTATE : Integer

解説
131072

mskmap2SCALE 定数

xscale

CadConst.mskmap2SCALE : Integer

解説
262144

mskmap2YSCALE 定数

yscale

CadConst.mskmap2YSCALE : Integer

解説
524288

mskmap2ALLMASK 定数

2次元座標系すべて

CadConst.mskmap2ALLMASK : Integer

解説
983167

mskmapCreateMap2 定数

普通の2次元座標系作成用 name,(xpbase,ypbase),scale

CadConst.mskmapCreateMap2 : Integer

解説
262161

pickNOTHING 定数

なし

CadConst.pickNOTHING : Integer

解説
0

pickPOINT2 定数

CadConst.pickPOINT2 : Integer

解説
1(=2^0)

pickLINE2 定数

直線

CadConst.pickLINE2 : Integer

解説
2(=2^1)

pickCIRCLE2 定数

円(弧)

CadConst.pickCIRCLE2 : Integer

解説
4(=2^2)

pickELLIPSE2 定数

楕円(弧)

CadConst.pickELLIPSE2 : Integer

解説
8(=2^3)

pickCURVE2 定数

曲線

CadConst.pickCURVE2 : Integer

解説
16(=2^4)

pickTEXT2 定数

記事

CadConst.pickTEXT2 : Integer

解説
32(=2^5)

pickDIM2 定数

寸法

CadConst.pickDIM2 : Integer

解説
64(=2^6)

pickGroup 定数

Group

CadConst.pickGroup : Integer

解説
67108864(=2^26)

pickSharp 定数

#要素

CadConst.pickSharp : Integer

解説
8388608(=2^23)

pickALL 定数

すべて

CadConst.pickALL : Integer

解説
127(=1+2+4+8+16+32+64)

pickDBONLY 定数

要素ハンドルを持つ要素に限定

CadConst.pickDBONLY : Integer

解説
-2147483648(=2^31)

pickInModel 定数

モデル内で計算 CollectEntity(..,CollectTypeBits,...)関数で使用

CadConst.pickInModel : Integer

解説
1073741824(=2^30)

pickFINITEONLY 定数

有限直線のみ

CadConst.pickFINITEONLY : Integer

解説
536870912(=2^29)

ansSPKEY 定数

特殊キー

CadConst.ansSPKEY : Integer

解説
-32767

ansMSCLIK 定数

自由点

CadConst.ansMSCLIK : Integer

解説
-32766

ansPICKENTY 定数

要素ピックアップ

CadConst.ansPICKENTY : Integer

解説
-32765

ansBACKRECT 定数

バック矩形領域

CadConst.ansBACKRECT : Integer

解説
-32764

ansVIEWRECT 定数

ビュー矩形領域

CadConst.ansVIEWRECT : Integer

解説
-32763

ansYESNO 定数

Yes/No

CadConst.ansYESNO : Integer

解説
-32762

ansDRAGDROP 定数

ドラッグ&ドロップ

CadConst.ansDRAGDROP : Integer

解説
-32761

reqNothing 定数

要求なし

CadConst.reqNothing : Integer

解説
0

reqSPKEY 定数

特殊キー要求

CadConst.reqSPKEY : Integer

解説
1

reqMSCLIK 定数

自由点要求

CadConst.reqMSCLIK : Integer

解説
2

reqPICKENTY 定数

要素ピックアップ要求

CadConst.reqPICKENTY : Integer

解説
4

reqBACKRECT 定数

バック矩形領域要求

CadConst.reqBACKRECT : Integer

解説
8

reqVIEWRECT 定数

ビュー矩形領域要求

CadConst.reqVIEWRECT : Integer

解説
16

reqYESNO 定数

Yes/No要求

CadConst.reqYESNO : Integer

解説
32

reqDRAGDROP 定数

ドラッグ&ドロップ要求

CadConst.reqDRAGDROP : Integer

解説
64

reqNOMSSIGN 定数

クリック位置の無印要求

CadConst.reqNOMSSIGN : Integer

解説
-2147483648

rubberOnPAPER 定数

ペーパー上に表示

CadConst.rubberOnPAPER : Integer

解説
0

rubberOnMODEL 定数

モデル上に表示

CadConst.rubberOnMODEL : Integer

解説
1

spkeyESC 定数

[ESC]

CadConst.spkeyESC : Integer

解説
0

spkeyTAB 定数

[TAB]

CadConst.spkeyTAB : Integer

解説
1

spkeyShiftTAB 定数

[Shift + TAB]

CadConst.spkeyShiftTAB : Integer

解説
2

spkeyControlTAB 定数

[Ctrl + TAB]

CadConst.spkeyControlTAB : Integer

解説
3

ERR_NUM 定数

エラー数値

CadConst.ERR_NUM : Number

解説
1.0e37
alert( CadConst.ERR_NUM );	//"1.0e37"

GOSA, GOSA1, GOSA2 定数

最小誤差

CadConst.GOSA, CadConst.GOSA1, CadConst.GOSA2 : Number

解説
GOSA=1.0e-6, GOSA1=1.0e-9, GOSA=1.0e-12
alert( CadConst.GOSA );	//"1.0e-6"

PI 定数

円周率

CadConst.PI : Number

解説
3.14159265358979323846
alert( CadConst.PI );	//"3.14159265358979323846"

印刷用紙サイズ 定数

印刷用紙サイズ

CadConst.DMPAPER_LETTER=1 : レター、81/2x11in
CadConst.DMPAPER_LETTERSMALL=2 : レタースモール、81/2x11in
CadConst.DMPAPER_A3=8 : A3、297x420mm
CadConst.DMPAPER_A4=9 : A4、210x297mm
CadConst.DMPAPER_A4SMALL=10 : A4Small、210x297mm
CadConst.DMPAPER_A5=11 : A5、148x210mm
CadConst.DMPAPER_B4=12 : B4、250x354mm
CadConst.DMPAPER_B5=13 : B5、182x257mm
CadConst.DMPAPER_NOTE=18 : ノート、81/2x11in
CadConst.DMPAPER_JAPANESE_POSTCARD=43 : はがき100x148

用紙向き 定数

用紙向き

CadConst.DMORIENT_PORTRAIT=1 : 用紙縦置き
CadConst.DMORIENT_LANDSCAPE=2 : 用紙横置き

印刷解像度 定数

印刷解像度

CadConst.DMRES_HIGH=0xFFFC: 高解像度
CadConst.DMRES_MEDIUM=0xFFFD : 中解像度
CadConst.DMRES_LOW=0xFFFE : 低解像度
CadConst.DMRES_DRAFT=0xFFFF

印刷カラーモード 定数

印刷カラーモード

CadConst.DMRES_MONOCHROME=1 : モノクロモード
CadConst.DMRES_COLOR=2 : カラーモード

ArrayPoint2クラス

Point2クラスの配列です。
説明中に出てくる"arraypoint2"はArrayPoint2クラスのオブジェクトです。

Count プロパティ、length プロパティ

現在の配列の最大数

arraypoint2.Count : Integer [ReadOnly]
arraypoint2.length : Integer [ReadOnly]

解説
現在の配列の最大数を返します。Countプロパティとlengthプロパティは同動作します。
var pts = new ArrayPoint2();
var cnt;
 :
cnt = pts.Count;
alert( pts[0].x + " , " + pts[0].y );           //配列の最初の座標
alert( pts[cnt-1].x + " , " + pts[cnt-1].y );   //配列の最後の座標

ArrayPoint2 コンストラクター

ArrayPoint2オブジェクトを作成

new ArrayPoint2( ) : ArrayPoint2

引数
なし
返値
ArrayPoint2オブジェクトを返します。
解説
ArrayPoint2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

Add 関数

配列の最後に点座標を追加

arraypoint2.Add( v )

引数
v : Point2
追加するPoint2オブジェクト
返値
なし
解説
配列の最後に点座標vを追加します。
Countプロパティ、lengthプロパティは自動的に+1増えます。
var pts = new ArrayPoint2();
var p = new Point2();
 :
pts.Add( p );

Clear 関数

配列の中身を空にする

arraypoint2.Clear( )

引数
なし
返値
なし
解説
配列の中身を空にします。
Countプロパティ、lengthプロパティは0になります。
var pts = new ArrayPoint2();
 :
pts.Clear( );
alert( pts.Count );	//"0"

Reserve 関数

指定した個数分の配列のメモリを確保

arraypoint2.Reserve( n )

引数
n : Integer
確保する個数
返値
なし
解説
メモリを効率よく使用するためにあらかじめ呼び出します。
Countプロパティ、lengthプロパティは変わりません。
var pts = new ArrayPoint2();
pts.Reserve( 10 );	//10個分のメモリを確保

ArrayEntityクラス

Entityクラスの配列です。
説明中に出てくる"arrayentity"はArrayEntityクラスのオブジェクトです。

Count プロパティ、length プロパティ

現在の配列の最大数

arrayentity.Count : Integer [ReadOnly]
arrayentity.length : Integer [ReadOnly]

解説
現在の配列の最大数を返します。Countプロパティとlengthプロパティは同動作します。
var es = new ArrayEntity();
var cnt;
 :
cnt = es.Count;
alert( es[0] );       //配列の最初の要素
alert( es[cnt-1] );   //配列の最後の要素

ArrayEntity コンストラクター

ArrayEntityオブジェクトを作成

new ArrayEntity( ) : ArrayEntity

引数
なし
返値
ArrayEntityオブジェクトを返します。
解説
ArrayEntityオブジェクトを作成して返します。
作成できない場合、例外を発生します。

Add 関数

配列の最後に要素を追加

arrayentity.Add( v )

引数
v : Entity
追加するEntityオブジェクト
返値
なし
解説
配列の最後に要素vを追加します。
Countプロパティ、lengthプロパティは自動的に+1増えます。
var es = new ArrayEntity();
var e = new Entity();
 :
es.Add( e );

Clear 関数

配列の中身を空にする

arrayentity.Clear( )

引数
なし
返値
なし
解説
配列の中身を空にします。
Countプロパティ、lengthプロパティは0になります。
var es = new ArrayEntity();
 :
es.Clear( );
alert( es.Count );	//"0"

Reserve 関数

指定した個数分の配列のメモリを確保

arrayentity.Reserve( n )

引数
n : Integer
確保する個数
返値
なし
解説
メモリを効率よく使用するためにあらかじめ呼び出します。
Countプロパティ、lengthプロパティは変わりません。
var es = new ArrayEntity();
es.Reserve( 10 );	//10個分のメモリを確保

ArrayEntityAクラス

(要素番号、要素、要素属性)の配列です。
説明中に出てくる"arrayentitya"はArrayEntityAクラスのオブジェクトです。

Count プロパティ、length プロパティ

現在の配列の最大数

arrayentitya.Count : Integer [ReadOnly]
arrayentitya.length : Integer [ReadOnly]

解説
現在の配列の最大数を返します。Countプロパティとlengthプロパティは同動作します。
var ea = new ArrayEntityA();
var cnt;
 :
cnt = ea.Count;
alert( ea[0].enty );       //配列の最初の要素
alert( ea[cnt-1].enty );   //配列の最後の要素

enty プロパティ

指定インデックスのEntityオブジェクト

arrayentitya.enty : Entity

解説
指定インデックスのEntityオブジェクトを返します。
var ea = new ArrayEntityA();
 :
alert( ea[i].enty );   //i番目の要素

EntyHead プロパティ

指定インデックスのEntityHeadオブジェクト

arrayentitya.EntyHead : EntityHead

解説
指定インデックスのEntityHeadオブジェクトを返します。
var ea = new ArrayEntityA();
 :
alert( ea[i].EntyHead );   //i番目の要素属性

henty プロパティ

指定インデックスの要素番号

arrayentitya.henty : HEnty=Integer

解説
指定インデックスの要素番号を返します。
var ea = new ArrayEntityA();
 :
alert( ea[i].henty );   //i番目の要素番号

ArrayEntityA コンストラクター

ArrayEntityAオブジェクトを作成

new ArrayEntityA( ) : ArrayEntityA

引数
なし
返値
ArrayEntityAオブジェクトを返します。
解説
ArrayEntityAオブジェクトを作成して返します。
作成できない場合、例外を発生します。

Clear 関数

配列の中身を空にする

arrayentitya.Clear( )

引数
なし
返値
なし
解説
配列の中身を空にします。
Countプロパティ、lengthプロパティは0になります。
var ea = new ArrayEntityA();
 :
ea.Clear( );
alert( ea.Count );	//"0"

Point2クラス

点要素を扱うクラスです。
説明中に出てくる"point2"はPoint2クラスのオブジェクトです。

x プロパティ

点のX座標

point2.x : Number

解説
点のX座標を設定/取得します。

y プロパティ

点のY座標

point2.y : Number

解説
点のY座標を設定/取得します。

Point2 コンストラクター

Point2オブジェクトを作成

new Point2( x, y ) : Point2

引数
x : Number
点のX座標
y : Number
点のY座標
返値
Point2オブジェクトを返します。
解説
Point2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

point2.clone( ) : Point2

引数
なし
返値
Point2オブジェクトを返します。
解説
自身のコピーを作成し返します。
var p1 = new Point2(), p2 = new Point2();
 :
p1 = p2.clone();

Line2クラス

直線要素を扱うクラスです。
説明中に出てくる"line2"はLine2クラスのオブジェクトです。

x1 プロパティ

直線の始点側X座標

line2.x1 : Number

解説
直線の始点側X座標を設定/取得します。

y1 プロパティ

直線の始点側Y座標

line2.y1 : Number

解説
直線の始点側Y座標を設定/取得します。

x2 プロパティ

直線の終点側X座標

line2.x2 : Number

解説
直線の終点側X座標を設定/取得します。

y2 プロパティ

直線の終点側Y座標

line2.y2 : Number

解説
直線の終点側Y座標を設定/取得します。

Line2 コンストラクター

Line2オブジェクトを作成

new Line2( x1, y1, x2, y2 ) : Line2

引数
x1 : Number
直線の始点側X座標
y1 : Number
直線の始点側Y座標
x2 : Number
直線の終点側X座標
y2 : Number
直線の終点側Y座標
返値
Line2オブジェクトを返します。
解説
Line2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

line2.clone( ) : Line2

引数
なし
返値
Line2オブジェクトを返します。
解説
自身のコピーを作成し返します。
var ln1 = new Line2(), ln2 = new Line2();
 :
ln1 = ln2.clone();

Circle2クラス

円要素を扱うクラスです。
説明中に出てくる"circle2"はCircle2クラスのオブジェクトです。

x プロパティ

円(弧)の中心X座標

circle2.x : Number

解説
円(弧)の中心X座標を設定/取得します。

y プロパティ

円(弧)の中心Y座標

circle2.y : Number

解説
円(弧)の中心Y座標を設定/取得します。

r プロパティ

円(弧)の半径

circle2.r : Number

解説
円(弧)の半径を設定/取得します。

sa プロパティ

円(弧)の開始角

circle2.sa : Number

解説
円(弧)の開始角を設定/取得します。

da プロパティ

円(弧)の変位角

circle2.da : Number

解説
円(弧)の変位角を設定/取得します。

Circle2 コンストラクター

Circle2オブジェクトを作成

new Circle2( x, y, r, sa, da ) : Circle2

引数
x : Number
円(弧)の中心X座標
y : Number
円(弧)の中心Y座標
r : Number
円(弧)の半径
sa : Number
円(弧)の開始角
da : Number
円(弧)の変位角
返値
Circle2オブジェクトを返します。
解説
Circle2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

circle2.clone( ) : Circle2

引数
なし
返値
Circle2オブジェクトを返します。
解説
自身のコピーを作成し返します。
var cir1 = new Circle2(), cir2 = new Circle2();
 :
cir1 = cir2.clone();

Ellipse2クラス

楕円要素を扱うクラスです。
説明中に出てくる"ellipse2"はEllipse2クラスのオブジェクトです。

x プロパティ

楕円(弧)の中心X座標

ellipse2.x : Number

解説
楕円(弧)の中心X座標を設定/取得します。

y プロパティ

楕円(弧)の中心Y座標

ellipse2.y : Number

解説
楕円(弧)の中心Y座標を設定/取得します。

ra プロパティ

楕円(弧)の長軸半径

ellipse2.ra : Number

解説
楕円(弧)の長軸半径を設定/取得します。

rb プロパティ

楕円(弧)の短軸半径

ellipse2.rb : Number

解説
楕円(弧)の短軸半径を設定/取得します。

tna プロパティ

楕円(弧)の傾き角

ellipse2.tna : Number

解説
楕円(弧)の傾き角を設定/取得します。

sa プロパティ

楕円(弧)の開始角

ellipse2.sa : Number

解説
楕円(弧)の開始角を設定/取得します。

da プロパティ

楕円(弧)の変位角

ellipse2.da : Number

解説
楕円(弧)の変位角を設定/取得します。

Ellipse2 コンストラクター

Ellipse2オブジェクトを作成

new Ellipse2( x, y, ra, tb, tna, sa, da ) : Ellipse2

引数
x : Number
楕円(弧)の中心X座標
y : Number
楕円(弧)の中心Y座標
ra : Number
楕円(弧)の長軸半径
rb : Number
楕円(弧)の短軸半径
tna : Number
楕円(弧)の傾き角
sa : Number
楕円(弧)の開始角
da : Number
楕円(弧)の変位角
返値
Ellipse2オブジェクトを返します。
解説
Ellipse2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

ellipse2.clone( ) : Ellipse2

引数
なし
返値
Ellipse2オブジェクトを返します。
解説
自身のコピーを作成し返します。
var elip1 = new Ellipse2(), elip2 = new Ellipse2();
 :
elip1 = elip2.clone();

Curve2クラス

曲線要素を扱うクラスです。
説明中に出てくる"curve2"はCurve2クラスのオブジェクトです。

form プロパティ

曲線の種類

curve2.form : CurveForm=Integer [ReadOnly]

解説
CadConst.curveformBSPL = 0:B-スプライン曲線(3次)
CadConst.curveformCSPL = 1:C-スプライン曲線(3次)

Ndefp プロパティ

定義点数

curve2.Ndefp : Integer [ReadOnly]

解説
曲線の定義点数を取得します。

Spl プロパティ

データ配列

curve2.Spl : ArrayPoint2 [ReadOnly]

解説
データ配列を取得します。

Vts プロパティ

通過点での2回微分(C-スプラインのみ)

curve2.Vts : ArrayPoint2 [ReadOnly]

解説
通過点での2回微分(C-スプラインのみ)

bClose プロパティ

曲線端点モード

curve2.bClose : Boolean [ReadOnly]

解説
true:開曲線
false:閉曲線

L プロパティ

通過点を結んだ折れ線の長さ(C-スプラインのみ)

curve2.L : Number [ReadOnly]

解説
通過点を結んだ折れ線の長さを取得します。(C-スプラインのみ)

Curve2 コンストラクター

Curve2オブジェクトを作成

new Curve2( ) : Curve2

引数
なし
返値
Curve2オブジェクトを返します。
解説
Curve2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

curve2.clone( ) : Curve2

引数
なし
返値
Curve2オブジェクトを返します。
解説
自身のコピーを作成し返します。
var crv1 = new Curve2(), crv2 = new Curve2();
 :
crv1 = crv2.clone();

CreateFromFitPts 関数

自由曲線を生成

curve2.CreateFromFitPts( form, n, Pts, [bClose=false] ) : Boolean

引数
form : CurveForm=Integer
曲線の種類
n : Integer
定義点数
Pts : ArrayPoint2
通過点の配列
bClose : Boolean
曲線端点モード
返値
成否を返します。
解説
自由曲線を生成します。
var crv = new Curve2();
var form, n;
var Pts = new ArrayPoint2();

Pts[0].x = 0.0; Pts[0].y = 0.0;
Pts[1].x = 1.0; Pts[1].y = 1.0;
Pts[2].x = 2.0; Pts[2].y = 2.0;
Pts[3].x = 3.0; Pts[3].y = 3.0;
n = 4;
form = CadConst.curveformCSPL;

if( crv.CreateFromFitPts( form, n, Pts ) ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Text2クラス

記事要素を扱うクラスです。
説明中に出てくる"text2"はText2クラスのオブジェクトです。


x プロパティ

記事の基準点X座標

text2.x : Number

解説
記事の基準点X座標を設定/取得します。

y プロパティ

記事の基準点Y座標

text2.y : Number

解説
記事の基準点Y座標を設定/取得します。

th プロパティ

記事の方向角

text2.th : Number

解説
記事の方向角を設定/取得します。

flag プロパティ

記事のビットフラグ

text2.flag : Integer

解説
記事のビットフラグを設定/取得します。

h プロパティ

記事の高さ

text2.h : Number

解説
記事の高さを設定/取得します。

wDh プロパティ

記事の巾/高さ(比)

text2.wDh : Number

解説
記事の巾/高さ(比)を設定/取得します。

p プロパティ

記事のピッチ(比)

text2.p : Number

解説
記事のピッチ(比)を設定/取得します。

rot プロパティ

記事の傾斜角(-π/4~π/4)

text2.rot : Number

解説
記事の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

記事の文字数

text2.n : Integer [ReadOnly]

解説
記事の文字数を返します。

textstr プロパティ

記事の文字列

text2.textstr : String

解説
記事の文字列を設定/取得します。

Text2 コンストラクター

Text2オブジェクトを作成

new Text2( ) : Text2

引数
なし
返値
Text2オブジェクトを返します。
解説
Text2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

text2.clone( ) : Text2

引数
なし
返値
Text2オブジェクトを返します。
解説
自身のコピーを作成し返します。
var txt1 = new Text2(), txt2 = new Text2();
 :
txt1 = txt2.clone();

Dim2Normalクラス

水平、垂直、平行寸法要素を扱うクラスです。
説明中に出てくる"dim2normal"はDim2Normalクラスのオブジェクトです。


x1 プロパティ

基準点BP1のX座標

dim2normal.x1 : Number

解説
基準点BP1のX座標を設定/取得します。

y1 プロパティ

基準点BP1のY座標

dim2normal.y1 : Number

解説
基準点BP1のY座標を設定/取得します。

x2 プロパティ

基準点BP2のX座標

dim2normal.x2 : Number

解説
基準点BP2のX座標を設定/取得します。

y2 プロパティ

基準点BP2のY座標

dim2normal.y2 : Number

解説
基準点BP2のY座標を設定/取得します。

ang プロパティ

寸法線の法線角度

dim2normal.ang : Number

解説
寸法線の法線角度を設定/取得します。

Dist プロパティ

基準点BP1から寸法線までの距離

dim2normal.Dist : Number

解説
基準点BP1から寸法線までの距離を設定/取得します。

leg1 プロパティ

基準点BP1から足先までの長さ

dim2normal.leg1 : Number

解説
基準点BP1から足先までの長さを設定/取得します。

leg2 プロパティ

基準点BP2から足先までの長さ

dim2normal.leg2 : Number

解説
基準点BP2から足先までの長さを設定/取得します。

legrot プロパティ

寸法補助線の傾き

dim2normal.legrot : Number

解説
寸法補助線の傾きを設定/取得します。

head プロパティ

寸法補助線の頭の長さ

dim2normal.head : Number

解説
寸法補助線の頭の長さを設定/取得します。

arm1 プロパティ

基準点BP1側の腕の長さ

dim2normal.arm1 : Number

解説
基準点BP1側の腕の長さを設定/取得します。

arm2 プロパティ

基準点BP2側の腕の長さ

dim2normal.arm2 : Number

解説
基準点BP2側の腕の長さを設定/取得します。

l_r1 プロパティ

基準点BP1側の矢の先端部の長さまたは半径(図面大)

dim2normal.l_r1 : Number

解説
基準点BP1側の矢の先端部の長さまたは半径(図面大)を設定/取得します。

l_r2 プロパティ

基準点BP2側の矢の先端部の長さまたは半径(図面大)

dim2normal.l_r2 : Number

解説
基準点BP2側の矢の先端部の長さまたは半径(図面大)を設定/取得します。

ya_th1 プロパティ

基準点BP1側の矢の挟み角

dim2normal.ya_th1 : Number

解説
基準点BP1側の矢の挟み角を設定/取得します。

ya_th2 プロパティ

基準点BP2側の矢の挟み角

dim2normal.ya_th2 : Number

解説
基準点BP2側の矢の挟み角を設定/取得します。

dh プロパティ

寸法線と寸法文字との距離(図面大)

dim2normal.dh : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

dh2 プロパティ

寸法線と寸法文字との距離2(図面大)

dim2normal.dh2 : Number

解説
寸法線と寸法文字との距離2(図面大)を設定/取得します。

h プロパティ

文字の高さ

dim2normal.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2normal.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2normal.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2normal.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2normal.n : Integer [ReadOnly]

解説
文字の文字数を取得します。

textstr プロパティ

寸法文字列

dim2normal.textstr : String

解説
寸法文字列を設定/取得します。

arw_var1 プロパティ

基準点BP1側の矢の種類

dim2normal.arw_var1 : Integer

解説
基準点BP1側の矢の種類を設定/取得します。

arw_var2 プロパティ

基準点BP2側の矢の種類

dim2normal.arw_var2 : Integer

解説
基準点BP2側の矢の種類を設定/取得します。

sid1 プロパティ

基準点BP1側の寸法補助線の表示/非表示のフラグ

dim2normal.sid1 : Integer

解説
基準点BP1側の寸法補助線の表示/非表示のフラグを設定/取得します。

sid2 プロパティ

基準点BP2側の寸法補助線の表示/非表示のフラグ

dim2normal.sid2 : Integer

解説
基準点BP2側の寸法補助線の表示/非表示のフラグを設定/取得します。

mog_f プロパティ

寸法文字の置き方

dim2normal.mog_f : Integer

解説
寸法文字の置き方(0:センター合わせ、1:基準点BP1側、2:基準点BP2側)を設定/取得します。

Dim2Normal コンストラクター

Dim2Normalオブジェクトを作成

new Dim2Normal( ) : Dim2Normal

引数
なし
返値
Dim2Normalオブジェクトを返します。
解説
Dim2Normalオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2normal.clone( ) : Dim2Normal

引数
なし
返値
Dim2Normalオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Normal(), snp2 = new Dim2Normal();
 :
snp1 = snp2.clone();

Dim2Diameterクラス

直径寸法要素を扱うクラスです。
説明中に出てくる"dim2diameter"はDim2Diameterクラスのオブジェクトです。


x プロパティ

中心X座標

dim2diameter.x : Number

解説
中心X座標を設定/取得します。

y プロパティ

中心Y座標

dim2diameter.y : Number

解説
中心Y座標を設定/取得します。

ang プロパティ

寸法線の傾き角度

dim2diameter.ang : Number

解説
寸法線の傾き角度を設定/取得します。

arm1 プロパティ

腕の長さ1

dim2diameter.arm1 : Number

解説
腕の長さ1を設定/取得します。

arm2 プロパティ

腕の長さ2

dim2diameter.arm2 : Number

解説
腕の長さ2を設定/取得します。

l_r1 プロパティ

矢の先端部の長さまたは半径1(図面大)

dim2diameter.l_r1 : Number

解説
矢の先端部の長さまたは半径1(図面大)を設定/取得します。

l_r2 プロパティ

矢の先端部の長さまたは半径2(図面大)

dim2diameter.l_r2 : Number

解説
矢の先端部の長さまたは半径2(図面大)を設定/取得します。

ya_th1 プロパティ

矢の挟み角1

dim2diameter.ya_th1 : Number

解説
矢の挟み角1を設定/取得します。

ya_th2 プロパティ

矢の挟み角2

dim2diameter.ya_th2 : Number

解説
矢の挟み角2を設定/取得します。

dh プロパティ

寸法線と寸法文字との距離(図面大)

dim2diameter.dh : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

dh2 プロパティ

寸法線と寸法文字との距離(図面大)

dim2diameter.dh2 : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

h プロパティ

文字の高さ

dim2diameter.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2diameter.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2diameter.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2diameter.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2diameter.n : Integer [ReadOnly]

解説
文字の文字数を返します。

textstr プロパティ

寸法文字列

dim2diameter.textstr : String

解説
寸法文字列を設定/取得します。

arw_var1 プロパティ

矢の種類1

dim2diameter.arw_var1 : Integer

解説
矢の種類1を設定/取得します。

arw_var2 プロパティ

矢の種類2

dim2diameter.arw_var2 : Integer

解説
矢の種類2を設定/取得します。

mog_f プロパティ

寸法文字の置き方

dim2diameter.mog_f : Integer

解説
寸法文字の置き方(0:センター合わせ、1:方向ang側、2:方向-ang側)を設定/取得します。

Dim2Diameter コンストラクター

Dim2Diameterオブジェクトを作成

new Dim2Diameter( ) : Dim2Diameter

引数
なし
返値
Dim2Diameterオブジェクトを返します。
解説
Dim2Diameterオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2diameter.clone( ) : Dim2Diameter

引数
なし
返値
Dim2Diameterオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Diameter(), snp2 = new Dim2Diameter();
 :
snp1 = snp2.clone();

Dim2Radiusクラス

半径寸法要素を扱うクラスです。
説明中に出てくる"dim2radius"はDim2Radiusクラスのオブジェクトです。


x プロパティ

中心X座標

dim2radius.x : Number

解説
中心X座標を設定/取得します。

y プロパティ

中心Y座標

dim2radius.y : Number

解説
中心Y座標を設定/取得します。

r プロパティ

半径

dim2radius.r : Number

解説
半径を設定/取得します。

ang プロパティ

寸法線の傾き角度

dim2radius.ang : Number

解説
寸法線の傾き角度を設定/取得します。

head プロパティ

寸法線腕の頭の長さ

dim2radius.head : Number

解説
寸法線腕の頭の長さを設定/取得します。

leg プロパティ

中心から足先までの長さ

dim2radius.leg : Number

解説
中心から足先までの長さを設定/取得します。

l_r プロパティ

矢の先端部の長さまたは半径(図面大)

dim2radius.l_r : Number

解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。

ya_th プロパティ

矢の挟み角

dim2radius.ya_th : Number

解説
矢の挟み角を設定/取得します。

dh プロパティ

寸法線と寸法文字との距離(図面大)

dim2radius.dh : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

dh2 プロパティ

寸法線と寸法文字との距離(図面大)

dim2radius.dh2 : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

h プロパティ

文字の高さ

dim2radius.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2radius.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2radius.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2radius.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2radius.n : Integer [ReadOnly]

解説
文字の文字数を返します。

textstr プロパティ

寸法文字列

dim2radius.textstr : String

解説
寸法文字列を設定/取得します。

arw_var プロパティ

矢の種類

dim2radius.arw_var : Integer

解説
矢の種類を設定/取得します。

mog_f プロパティ

寸法文字の置き方

dim2radius.mog_f : Integer

解説
寸法文字の置き方(0:センター合わせ、1,2:方向ang側)を設定/取得します。

Dim2Radius コンストラクター

Dim2Radiusオブジェクトを作成

new Dim2Radius( ) : Dim2Radius

引数
なし
返値
Dim2Radiusオブジェクトを返します。
解説
Dim2Radiusオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2radius.clone( ) : Dim2Radius

引数
なし
返値
Dim2Radiusオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Radius(), snp2 = new Dim2Radius();
 :
snp1 = snp2.clone();

Dim2Angleクラス

角度寸法要素を扱うクラスです。
説明中に出てくる"dim2angle"はDim2Angleクラスのオブジェクトです。

x プロパティ

中心X座標

dim2angle.x : Number

解説
中心X座標を設定/取得します。

y プロパティ

中心Y座標

dim2angle.y : Number

解説
中心Y座標を設定/取得します。

r プロパティ

半径

dim2angle.r : Number

解説
半径を設定/取得します。

sang プロパティ

寸法線の開始角

dim2angle.sang : Number

解説
寸法線の開始角を設定/取得します。

dang プロパティ

寸法線の変位角

dim2angle.dang : Number

解説
寸法線の変位角を設定/取得します。

body1 プロパティ

寸法線の胴体の長さ1

dim2angle.body1 : Number

解説
寸法線の胴体の長さ1を設定/取得します。

body2 プロパティ

寸法線の胴体の長さ2

dim2angle.body2 : Number

解説
寸法線の胴体の長さ2を設定/取得します。

head1 プロパティ

寸法補助線の腕の長さ1

dim2angle.head1 : Number

解説
寸法補助線の腕の長さ1を設定/取得します。

head2 プロパティ

寸法補助線の腕の長さ2

dim2angle.head2 : Number

解説
寸法補助線の腕の長さ2を設定/取得します。

arm1 プロパティ

寸法線の腕の長さ1

dim2angle.arm1 : Number

解説
寸法線の腕の長さ1を設定/取得します。

arm2 プロパティ

寸法線の腕の長さ2

dim2angle.arm2 : Number

解説
寸法線の腕の長さ2を設定/取得します。

l_r1 プロパティ

矢の先端部の長さまたは半径1(図面大)

dim2angle.l_r1 : Number

解説
矢の先端部の長さまたは半径1(図面大)を設定/取得します。

l_r2 プロパティ

矢の先端部の長さまたは半径2(図面大)

dim2angle.l_r2 : Number

解説
矢の先端部の長さまたは半径2(図面大)を設定/取得します。

ya_th1 プロパティ

矢の挟み角1

dim2angle.ya_th1 : Number

解説
矢の挟み角1を設定/取得します。

ya_th2 プロパティ

矢の挟み角2

dim2angle.ya_th2 : Number

解説
矢の挟み角2を設定/取得します。

dh プロパティ

寸法線と寸法文字との距離(図面大)

dim2angledh : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

dh2 プロパティ

寸法線と寸法文字との距離2(図面大)

dim2angle.dh2 : Number

解説
寸法線と寸法文字との距離2(図面大)を設定/取得します。

h プロパティ

文字の高さ

dim2angle.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2angle.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2angle.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2angle.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2angle.n : Integer [ReadOnly]

解説
文字の文字数を取得します。

textstr プロパティ

寸法文字列

dim2angle.textstr : String

解説
寸法文字列を設定/取得します。

arw_var1 プロパティ

矢の種類1

dim2angle.arw_var1 : Integer

解説
矢の種類1を設定/取得します。

arw_var2 プロパティ

矢の種類2

dim2angle.arw_var2 : Integer

解説
矢の種類2を設定/取得します。

sid1 プロパティ

寸法補助線の表示/非表示のフラグ1

dim2angle.sid1 : Integer

解説
寸法補助線の表示/非表示のフラグ1を設定/取得します。

sid2 プロパティ

寸法補助線の表示/非表示のフラグ2

dim2angle.sid2 : Integer

解説
寸法補助線の表示/非表示のフラグ2を設定/取得します。

mog_f プロパティ

寸法文字の置き方

dim2angle.mog_f : Integer

解説
寸法文字の置き方(0:センター合わせ、1:方向sang側、2:方向sang+dang側)を設定/取得します。

Dim2Angle コンストラクター

Dim2Angleオブジェクトを作成

new Dim2Angle( ) : Dim2Angle

引数
なし
返値
Dim2Angleオブジェクトを返します。
解説
Dim2Angleオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2angle.clone( ) : Dim2Angle

引数
なし
返値
Dim2Angleオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Angle(), snp2 = new Dim2Angle();
 :
snp1 = snp2.clone();

Dim2Csnpクラス

C寸法要素を扱うクラスです。
説明中に出てくる"dim2csnp"はDim2Csnpクラスのオブジェクトです。


x プロパティ

中心X座標

dim2csnp.x : Number

解説
中心X座標を設定/取得します。

y プロパティ

中心Y座標

dim2csnp.y : Number

解説
中心Y座標を設定/取得します。

ang プロパティ

寸法線の傾き角

dim2csnp.ang : Number

解説
寸法線の傾き角を設定/取得します。

body プロパティ

寸法線の胴体の長さ

dim2csnp.body : Number

解説
寸法線の胴体の長さを設定/取得します。

arm プロパティ

寸法線の腕の長さ

dim2csnp.arm : Number

解説
寸法線の腕の長さを設定/取得します。

l_r プロパティ

矢の先端部の長さまたは半径(図面大)

dim2csnp.l_r : Number

解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。

ya_th プロパティ

矢の挟み角

dim2csnp.ya_th : Number

解説
矢の挟み角を設定/取得します。

dh プロパティ

寸法線と寸法文字との距離(図面大)

dim2csnp.dh : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

h プロパティ

文字の高さ

dim2csnp.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2csnp.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2csnp.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2csnp.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2csnp.n : Integer [ReadOnly]

解説
文字の文字数を取得します。

textstr プロパティ

寸法文字列

dim2csnp.textstr : String

解説
寸法文字列を設定/取得します。

arw_var プロパティ

矢の種類

dim2csnp.arw_var : Integer

解説
矢の種類を設定/取得します。

mog_f プロパティ

寸法文字の置き方

dim2csnp.mog_f : Integer

解説
寸法文字の置き方(0:センター合わせ、1:方向ang側、2:方向-ang側)を設定/取得します。

Dim2Csnp コンストラクター

Dim2Csnpオブジェクトを作成

new Dim2Csnp( ) : Dim2Csnp

引数
なし
返値
Dim2Csnpオブジェクトを返します。
解説
Dim2Csnpオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2csnp.clone( ) : Dim2Csnp

引数
なし
返値
Dim2Csnpオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Csnp(), snp2 = new Dim2Csnp();
 :
snp1 = snp2.clone();

Dim2Noteクラス

引き出し線、注釈要素を扱うクラスです。
説明中に出てくる"dim2note"はDim2Noteクラスのオブジェクトです。


x プロパティ

基準点X座標

dim2note.x : Number

解説
基準点X座標を設定/取得します。

y プロパティ

基準点Y座標

dim2note.y : Number

解説
基準点Y座標を設定/取得します。

ang1 プロパティ

寸法線の傾き角1

dim2note.ang1 : Number

解説
寸法線の傾き角1を設定/取得します。

ang2 プロパティ

寸法線の傾き角2

dim2note.ang2 : Number

解説
寸法線の傾き角2を設定/取得します。

body プロパティ

寸法線の胴体の長さ

dim2note.body : Number

解説
寸法線の胴体の長さを設定/取得します。

arm1 プロパティ

寸法線の腕の長さ1

dim2note.arm1 : Number

解説
寸法線の腕の長さ1を設定/取得します。

arm2 プロパティ

寸法線の腕の長さ2

dim2note.arm2 : Number

解説
寸法線の腕の長さ2を設定/取得します。

l_r プロパティ

矢の先端部の長さまたは半径(図面大)

dim2note.l_r : Number

解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。

ya_th プロパティ

矢の挟み角

dim2note.ya_th : Number

解説
矢の挟み角を設定/取得します。

dh プロパティ

寸法線と寸法文字との距離(図面大)

dim2note.dh : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

h プロパティ

文字の高さ

dim2note.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2note.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2note.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2note.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2note.n : Integer [ReadOnly]

解説
文字の文字数を取得します。

textstr プロパティ

寸法文字列

dim2note.textstr : String

解説
寸法文字列を設定/取得します。

arw_var プロパティ

矢の種類

dim2note.arw_var : Integer

解説
矢の種類を設定/取得します。

mog_f プロパティ

寸法文字の置き方

dim2note.mog_f : Integer

解説
寸法文字の置き方(0:センター合わせ、1,2:arm1の端に合わせる)を設定/取得します。

Dim2Note コンストラクター

Dim2Noteオブジェクトを作成

new Dim2Note( ) : Dim2Note

引数
なし
返値
Dim2Noteオブジェクトを返します。
解説
Dim2Noteオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2note.clone( ) : Dim2Note

引数
なし
返値
Dim2Noteオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Note(), snp2 = new Dim2Note();
 :
snp1 = snp2.clone();

Dim2Arclenクラス

弧状寸法要素を扱うクラスです。
説明中に出てくる"dim2arclen"はDim2Arclenクラスのオブジェクトです。

x プロパティ

中心X座標

dim2arclen.x : Number

解説
中心X座標を設定/取得します。

y プロパティ

中心Y座標

dim2arclen.y : Number

解説
中心Y座標を設定/取得します。

r プロパティ

半径

dim2arclen.r : Number

解説
半径を設定/取得します。

sang プロパティ

開始角

dim2arclen.sang : Number

解説
開始角を設定/取得します。

dang プロパティ

変位角

dim2arclen.dang : Number

解説
変位角を設定/取得します。

dr プロパティ

基準円と寸法線との距離

dim2arclen.dr : Number

解説
基準円と寸法線との距離を設定/取得します。

leg1 プロパティ

基準点から足先までの長さ1

dim2arclen.leg1 : Number

解説
基準点から足先までの長さ1を設定/取得します。

leg2 プロパティ

基準点から足先までの長さ2

dim2arclen.leg2 : Number

解説
基準点から足先までの長さ2を設定/取得します。

head1 プロパティ

寸法補助線の頭の長さ1

dim2arclen.head1 : Number

解説
寸法補助線の頭の長さ1を設定/取得します。

head2 プロパティ

寸法補助線の頭の長さ2

dim2arclen.head2 : Number

解説
寸法補助線の頭の長さ2を設定/取得します。

arm1 プロパティ

寸法線の腕の長さ1

dim2arclen.arm1 : Number

解説
寸法線の腕の長さ1を設定/取得します。

arm2 プロパティ

寸法線の腕の長さ2

dim2arclen.arm2 : Number

解説
寸法線の腕の長さ2を設定/取得します。

l_r1 プロパティ

矢の先端部の長さまたは半径1(図面大)

dim2arclen.l_r1 : Number

解説
矢の先端部の長さまたは半径1(図面大)を設定/取得します。

l_r2 プロパティ

矢の先端部の長さまたは半径2(図面大)

dim2arclen.l_r2 : Number

解説
矢の先端部の長さまたは半径2(図面大)を設定/取得します。

ya_th1 プロパティ

矢の挟み角1

dim2arclen.ya_th1 : Number

解説
矢の挟み角1を設定/取得します。

ya_th2 プロパティ

矢の挟み角2

dim2arclen.ya_th2 : Number

解説
矢の挟み角2を設定/取得します。

dh プロパティ

寸法線と寸法文字との距離(図面大)

dim2arclen.dh : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

dh2 プロパティ

寸法線と寸法文字との距離(図面大)

dim2arclen.dh2 : Number

解説
寸法線と寸法文字との距離(図面大)を設定/取得します。

h プロパティ

文字の高さ

dim2arclen.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2arclen.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2arclen.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2arclen.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2arclen.n : Integer [ReadOnly]

解説
文字の文字数を取得します。

textstr プロパティ

寸法文字列

dim2arclen.textstr : String

解説
寸法文字列を設定/取得します。

arw_var1 プロパティ

矢の種類1

dim2arclen.arw_var1 : Integer

解説
矢の種類1を設定/取得します。

arw_var2 プロパティ

矢の種類2

dim2arclen.arw_var2 : Integer

解説
矢の種類2を設定/取得します。

sid1 プロパティ

寸法補助線の表示/非表示のフラグ1

dim2arclen.sid1 : Integer

解説
寸法補助線の表示/非表示のフラグ1を設定/取得します。

sid2 プロパティ

寸法補助線の表示/非表示のフラグ2

dim2arclen.sid2 : Integer

解説
寸法補助線の表示/非表示のフラグ2を設定/取得します。

mog_f プロパティ

寸法文字の置き方

dim2arclen.mog_f : Integer

解説
寸法文字の置き方(0:センター合わせ、1:方向sang側、2:方向sang+dang側)を設定/取得します。

Dim2Arclen コンストラクター

Dim2Arclenオブジェクトを作成

new Dim2Arclen( ) : Dim2Arclen

引数
なし
返値
Dim2Arclenオブジェクトを返します。
解説
Dim2Arclenオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2arclen.clone( ) : Dim2Arclen

引数
なし
返値
Dim2Arclenオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Arclen(), snp2 = new Dim2Arclen();
 :
snp1 = snp2.clone();

Dim2Ballonクラス

バルーン要素を扱うクラスです。
説明中に出てくる"dim2ballon"はDim2Ballonクラスのオブジェクトです。


x プロパティ

基準点X座標

dim2ballon.x : Number

解説
基準点X座標を設定/取得します。

y プロパティ

基準点Y座標

dim2ballon.y : Number

解説
基準点Y座標を設定/取得します。

arm1 プロパティ

第1の腕の長さ

dim2ballon.arm1 : Number

解説
第1の腕の長さを設定/取得します。

ang1 プロパティ

第1の腕の角度

dim2ballon.ang1 : Number

解説
第1の腕の角度を設定/取得します。

arm2 プロパティ

第2の腕の角度

dim2ballon.arm2 : Number

解説
第2の腕の角度を設定/取得します。

ang2 プロパティ

第2の腕の長さ

dim2ballon.ang2 : Number

解説
第2の腕の長さを設定/取得します。

l_r プロパティ

矢の先端部の長さまたは半径(図面大)

dim2ballon.l_r : Number

解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。

ya_th プロパティ

矢の挟み角

dim2ballon.ya_th : Number

解説
矢の挟み角を設定/取得します。

ballon プロパティ

バルーンの半径または一辺の長さ(図面大)

dim2ballon.ballon : Number

解説
バルーンの半径または一辺の長さ(図面大)を設定/取得します。

mth プロパティ

寸法文字方向の回転角

dim2ballon.mth : Number

解説
寸法文字方向の回転角を設定/取得します。

h プロパティ

文字の高さ

dim2ballon.h : Number

解説
文字の高さを設定/取得します。

wDh プロパティ

文字の巾/高さ(比)

dim2ballon.wDh : Number

解説
文字の巾/高さ(比)を設定/取得します。

p プロパティ

文字のピッチ(比)

dim2ballon.p : Number

解説
文字のピッチ(比)を設定/取得します。

rot プロパティ

文字の傾斜角(-π/4~π/4)

dim2ballon.rot : Number

解説
文字の傾斜角(-π/4~π/4)を設定/取得します。

n プロパティ

文字の文字数

dim2ballon.n : Integer [ReadOnly]

解説
文字の文字数を取得します。

textstr プロパティ

寸法文字列

dim2ballon.textstr : String

解説
寸法文字列を設定/取得します。

arw_var プロパティ

矢の種類

dim2ballon.arw_var : Integer

解説
矢の種類を設定/取得します。

ballon_var プロパティ

バルーンの種類

dim2ballon.ballon_var : Integer

解説
バルーンの種類を設定/取得します。

put_f プロパティ

三角/正方形バルーンの置き方

dim2ballon.put_f : Integer

解説
三角/正方形バルーンの置き方(1:丸形、2:三角形、3:正方形)を設定/取得します。

Dim2Ballon コンストラクター

Dim2Ballonオブジェクトを作成

new Dim2Ballon( ) : Dim2Ballon

引数
なし
返値
Dim2Ballonオブジェクトを返します。
解説
Dim2Ballonオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

dim2ballon.clone( ) : Dim2Ballon

引数
なし
返値
Dim2Ballonオブジェクトを返します。
解説
自身のコピーを作成し返します。
var snp1 = new Dim2Ballon(), snp2 = new Dim2Ballon();
 :
snp1 = snp2.clone();

CadAppオブジェクト

CAD全体を管理したり補助関数を集めたオブジェクトです。

ActiveModel プロパティ

アクティブなモデル

CadApp.ActiveModel : Model

解説
アクティブなModelオブジェクトを取得または設定
var m = CadApp.ActiveModel;

bDrwSign プロパティ

モデル内の印(1,2,3)の付いた要素を特別色で描画するか決めるフラグ

CadApp.bDrwSign : Boolean

解説
bDrwSign=trueなら、印の付いた要素を特別色で描画します。
bDrwSign=falseなら、印の付いた要素を特別色で描画しません。
CadApp.bDrwSign = true;

CurrentColor プロパティ

カレントカラーハンドル

CadApp.CurrentColor : HColor=Integer

解説
カレントカラーハンドルを取得または設定
alert( CadApp.CurrentColor );	//"8"

CurrentLStyle プロパティ

カレント線種ハンドル

CadApp.CurrentLStyle : HLStyle=Integer

解説
カレント線種ハンドルを取得または設定
alert( CadApp.CurrentLStyle );	//"1"

CurrentTFont プロパティ

カレントフォントハンドル

CadApp.CurrentTFont : HTFont=Integer

解説
カレントフォントハンドルを取得または設定
alert( CadApp.CurrentTFont );	//"1"

ExeDir プロパティ

アプリケーションプログラムが収めてあるフォルダ

CadApp.ExeDir : String

解説
アプリケーションプログラムが収めてあるフォルダを取得または設定
最後の文字は'\'になっています
alert( CadApp.ExeDir );	//"C:\Program Files\Cosmos\"

IniName プロパティ

初期化ファイル名

CadApp.IniName : String [ReadOnly]

解説
初期化ファイル名を取得
alert( CadApp.IniName );	//"C:\Program Files\Cosmos\Cosmos.ini"

MaxColor プロパティ

カラーハンドルの最大値

CadApp.MaxColor : Integer [ReadOnly]

解説
カラーハンドルの最大値を取得
alert( CadApp.MaxColor );	//"16"

MaxLStyle プロパティ

線種ハンドルの最大値

CadApp.MaxLStyle : Integer [ReadOnly]

解説
線種ハンドルの最大値を取得
alert( CadApp.MaxLStyle );	//"8"

MaxTFont プロパティ

フォントハンドルの最大値

CadApp.MaxTFont : Integer [ReadOnly]

解説
フォントハンドルの最大値を取得
alert( CadApp.MaxTFont );	//"2"

ActiveWorkwin プロパティ

アクティブな作業ウィンドウ

CadApp.ActiveWorkwin : Workwin

解説
アクティブなWorkwinオブジェクトを取得
var w = new Workwin();
w = CadApp.ActiveWorkwin;

WorkwinS プロパティ

すべての作業ウィンドウ

CadApp.WorkwinS : WorkwinS

解説
すべてのWorkwinオブジェクトを取得
var ws = new WorkwinS();
ws = CadApp.WorkwinS;

SetSTC, SetSTCvariable 関数

STC変数,メンバーに値を設定

CadApp.SetSTC( STCname, member, value )
CadApp.SetSTC( "section.member", [ainfile,] value )
CadApp.SetSTC( member, [ainfile,] value )
CadApp.SetSTCvariable( STCname, member, value )
CadApp.SetSTCvariable( "section.member", [ainfile,] value )
CadApp.SetSTCvariable( member, [ainfile,] value )

引数
STCname : String
STC名
section : String
section名
member : String
メンバー名
ainifile : String
初期化ainファイル名(省略した場合、STCain()が返す初期化ainファイルでこの関数が実行されます。)
value : String | Number
設定する値
返値
なし
解説
SetSTCvariable関数は、SetSTC関数の別名です。

SetSTC( STCname, member, value )形式ではCADエンジン内部に定義されているものだけが有効です。
STC変数の初期値はFUTURE.INIファイル内に次の形式で記述されます。
[STCname]
member=value


SetSTC( "section.member", [ainfile,] value ), SetSTC( "membe", [ainfile,] value )形式では
ユーザが自由に定義可能で初期化ainファイル(ainfile)に保存できます。
ainfileを省略した場合、STCain()が返す初期化ainファイル内に次の形式で記述されます。
"section.member"の場合、
[section]
member=value

"member"の場合、
[NonSTCname]
member=value

CadApp.SetSTC("sysSt","DataPath","D:\CADDATA");
/*=FUTURE.INI=
[sysSt]
DataPath="D:\CADDATA"
*/

CadApp.SetSTC("AAA",1234);
/*=FUTURE.AIN=
[NonSTCname]
AAA=1234
*/

CadApp.SetSTC("PQR.AAA",3.14159);
/*=FUTURE.AIN=
[PQR]
AAA=3.14159
*/

CadApp.SetSTC("STU.BBB","d:/work/a.ain", "xyz");
/*="d:/work/a.ain"=
[STU]
BBB="xyz""
*/

GetSTCvariable 関数

STC変数,メンバーから値を取得

value = CadApp.GetSTC( STCname, member ) : String | Number
value = CadApp.GetSTC( "section.member"[, ainfile] ) : String | Number
value = CadApp.GetSTC( member[, ainfile] ) : String | Number
value = CadApp.GetSTCvariable( STCname, member ) : String | Number
value = CadApp.GetSTCvariable( "section.member"[, ainfile] ) : String | Number
value = CadApp.SetSTCvariable( member[, ainfile] ) : String | Number
引数
STCname : String
STC名
section : String
section名
member : String
メンバー名
ainifile : String
初期化ainファイル名(省略した場合、STCain()が返す初期化ainファイルでこの関数が実行されます。)
返値
取得した値を返します。初期化ainファイルに値が記述がなければ、undefinedを返します。
解説
GetSTCvariable関数は、GetSTC関数の別名です。

GetSTC( STCname, member, value )形式ではCADエンジン内部に定義されているものだけが有効です。
STC変数の初期値はFUTURE.INIファイル内に次の形式で記述されたものが読み込まれます。
[STCname]
member=value

GetSTC( "section.member", [ainfile,] value ), SetSTC( "membe", [ainfile,] value )形式では
ユーザが自由に定義可能で初期化ainファイル(ainfile)から読み込まれます。
ainfileを省略した場合、STCain()が返す初期化ainファイル内に次の形式で記述された値を読み込みます。
"section.member"の場合、
[section]
member=value

"member"の場合、
[NonSTCname]
member=value

/*=FUTURE.INI=
[sysSt]
DataPath="D:\CADDATA"
*/
value = CadApp.GetSTC("sysSt","DataPath");  //"D:\CADDATA"

/*=FUTURE.AIN=
[NonSTCname]
AAA=1234
*/
value = CadApp.GetSTC("AAA"); //1234

/*=FUTURE.AIN=
[PQR]
AAA=3.14159
*/
value = CadApp.GetSTC("PQR.AAA"); //3.14159

/*="d:/work/a.ain"=
[STU]
BBB="xyz""
*/
value = CadApp.SetSTC("STU.BBB","d:/work/a.ain"); //"xyz"

STCain 関数

初期化ainファイル名の取得 または 変更を行う。

ainfile = CadApp.STCain() : String
prev_ainfile = CadApp.STCain( ainfile ) : String
引数
ainfile : String
新しく設定する初期化ainファイル名
返値
    引数なしで実行した場合、現在設定された初期化ainファイル名を返します。
    引数ありで実行した場合、設定前の初期化ainファイル名を返し、
        新しくainfileが初期化ainファイルとして扱われます。
  
解説
  引数ainfile=""を渡した場合、FUTURE.AIN が初期化ainファイルとして設定されます。
  また、返値が""を返した場合、FUTURE.AIN が初期化ainファイルとして設定されていることを意味します。
  

tfontname 関数

指定のフォント名

CadApp.tfontname( hTFont, [bAnotherName=false] ) : String

引数
hTFont : HTFont=Integer
テキストフォントハンドル
bAnotherName : Boolean
取り出しフラグ
返値
フォント名を返します。
解説
指定のフォント名を取得
		

hTFont = htfontSTANDARD hTFont = htfontSTANDARD2 hTFont = その他
bAnotherName = false "_DEFAULT" "_DEFAULT2" TrueTypeフォント名
bAnotherName = true "標準フォント" "標準フォント2" 空文字 ""
alert( CadApp.tfontname(CadConst.htfontSTANDARD,true) );  //"標準フォント"

abcLine2 関数

直線方程式の係数を求める

CadApp.abcLine2( x1, y1, x2, y2 ) : Array
CadApp.abcLine2( Ln ) : Array

引数
x1, y1 : Number
直線の端点1座標
x2, y2 : Number
直線の端点2座標
Ln : Line2
直線オブジェクト
返値
直線方程式の係数を配列で返します。
解説
結果は配列[ a, b, c ]に格納されます。
失敗したらundefindを返します。
var x1 = 100, y1 = 100, x2 = 200, y2 = 200;
var ans = CadApp.abcLine2( x1, y1, x2, y2 );
if( ans ){
  alert( "a = "+ans.a+", b = "+ans.b+", c = "+ans.c );	//"a = -0.707..., b = 0.707..., c = 0"
}else{
  alert( "失敗!!" );
}

Afine2Ang 関数

角度のアフィン変換

CadApp.Afine2Ang( af, ang ) : Number

引数
af : Matrix23
アフィン行列
ang : Number
角度
返値
変換後の角度を返します。
解説
角度angをアフィン行列afでアフィン変換します。
失敗したらundefindを返します。
var af = new Matrix23();
var ang;
  :
var ans = CadApp.Afine2Ang( af, ang );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Afine2Dang 関数

変位角のアフィン変換

CadApp.Afine2Dang( af, dang ) : Number

引数
af : Matrix23
アフィン行列
dang : Number
変位角
返値
変換後の変位角を返します。
解説
変位角dangをアフィン行列afでアフィン変換します。
失敗したらundefindを返します。
var af = new Matrix23();
var dang;
  :
var ans = CadApp.Afine2Dang( af, dang );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Afine2Line2 関数

直線のアフィン変換

CadApp.Afine2Line2( af, a, b, c ) : Array

引数
af : Matrix23
アフィン行列
a, b, c : Number
直線の係数
返値
変換後の直線の係数を配列で返します。
解説
直線(a・x+b・y+c=0)をアフィン行列afでアフィン変換します。
結果は配列[ a, b, c ]に格納されます。
失敗したらundefindを返します。
var af = new Matrix23();
var a, b, c;
  :
var ans = CadApp.Afine2Line2( af, a, b, c );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Afine2Point2 関数

点のアフィン変換

CadApp.Afine2Point2( af, x, y ) : Array

引数
af : Matrix23
アフィン行列
x, y : Number
点の座標
返値
変換後の点の座標を配列で返します。
解説
点(x,y)をアフィン行列afでアフィン変換します。
結果は配列[ x, y ]に格納されます。
失敗したらundefindを返します。
var af = new Matrix23();
var x, y;
  :
var ans = CadApp.Afine2Point2( af, x, y );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Afine2Vector 関数

ベクトルのアフィン変換(単位化する)

CadApp.Afine2Vector( af, u, v ) : Array

引数
af : Matrix23
アフィン行列
u, v : Number
ベクトル
返値
変換後のベクトル
解説
ベクトル(u,v)をアフィン行列afでアフィン変換します。(単位化されます)
結果は配列[ u, v ]に格納されます。
失敗したらundefindを返します。
var af = new Matrix23();
var u, v;
  :
var ans = CadApp.Afine2Vector( af, u, v );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Afine2Vector_ 関数

ベクトルのアフィン変換(単位化しない)

CadApp.Afine2Vector_( af, u, v ) : Array

引数
af : Matrix23
アフィン行列
u, v : Number
ベクトル
返値
ans : Array[ u, v ]
変換後のベクトル
解説
ベクトル(u,v)をアフィン行列afでアフィン変換します。(単位化されません)
結果は配列[ u, v ]に格納されます。
失敗したらundefindを返します。
var af = new Matrix23();
var u, v;
  :
var ans = CadApp.Afine2Vector_( af, u, v );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

AfineEntys 関数

要素群をのアフィン変換

CadApp.AfineEntys( FromModel, arrayEntyA, af, [ZumTextScalar=0], [GenTextScalar=-1], [mode=drawmodeDRAW], [ToModel=NULL], [ChgAttrib=NULL] )

引数
FromModel : Model
変換元Modelオブジェクト
arrayEntyA : ArrayEntityA
変換対象ArrayEntityAオブジェクト
af : Matrix23
アフィン行列
ZumTextScalar : Number
図面大記事・寸法文字矢印倍率
GenTextScalar : Number
現大記事率
mode : DrawMode=Integer
描画モード
ToModel : Model
変換先Modelオブジェクト
ChgAttrib : EntityHead
変換後の属性EntityHeadオブジェクト
返値
なし
解説
モデル(FromModel)に属する要素群(arrayEntyA)をアフィン行列afで変換してモデル(ToModel)へ表示したり、登録します。

ZumTextScalarは図面大記事・寸法記事矢印の大きさを調整します。
    ZumTextScalar<0のとき、倍
    ZumTextScalar=0のとき、1 倍
    ZumTextScalar>0のとき、ZumTextScalar*倍

GenTextScalarは現寸記事の大きさを調整します。
    GenTextScalar<0のとき、倍
    GenTextScalar=0のとき、1 倍
    GenTextScalar>0のとき、GenTextScalar倍

modeは変換後の要素をどのように描画するか登録するかを決めます。
    mode=drawmodeERASEのとき、要素をバックグラウンドで描画
    mode=drawmodeDRAWのとき、Entityのカラーハンドルで描画
    mode=drawmodeSPECLのとき、特別色で描画
    mode=drawmodeXORDRWのとき、XORで描画
    mode=drawmodeSAVEcopyのとき、複写保存
        変換した要素をNewSave関数でモデルToModelへ新規登録
    mode=drawmodeSAVEmoveのとき、移動保存
        ToModel=FormModelまたはToModel=NULLの場合の関数の動作は
            1回目の実行
                要素を変換してChangeSave、すなわち変更登録
            2回目以降の実行
                変換した要素をNewSave、すなわち新規登録
        ToModel≠FormModelかつToModel≠NULLの場合の関数の動作は
            1回目の実行
                モデルFromModel内にある要素群arrayEntyAをすべて削除
                変換した要素をNewSave関数でモデルToModelへ新規登録
            2回目以降の実行
                変換した要素をNewSave関数でモデルToModelへ新規登録

ToModelはアフィン変換した要素を登録するモデルです。
    ToModel=NULLの場合、ToModel=FromModelを引数として与えたのと同じです。

ChgAttribは要素の属性をどのように変換するかを決めます。
    ChgAttrib≠NULLの場合
        [画層]
            ChgAttrib.hLayer=0ならば、カレント画層へ変換
            ChgAttrib.hLayer=chgattribPARALLELならば、固有画層は同じ番号の固有画層へ、共有可能な画層は類似した名前の画層へ変換
            ChgAttrib.hLayer=その他ならば、ChgAttrib.hLayer画層へ変換
        [色]
            ChgAttrib.hColor=0ならば、カレントカラーへ変換
            ChgAttrib.hColor=chgattribPARALLELならば、カラーは変換しない
            ChgAttrib.hColor=その他ならば、ChgAttrib.hColorカラーへ変換
        [線種]
            ChgAttrib.hLStyle=0ならば、カレント線種へ変換
            ChgAttrib.hLStyle=chgattribPARALLELならば、線種は変換しない
            ChgAttrib.hLStyle=その他ならば、ChgAttrib.hLStyle線種へ変換
        [テキストフォント]
            ChgAttrib.hTFont=0ならば、カレントテキストフォントへ変換
            ChgAttrib.hTFont=chgattribPARALLELならば、テキストフォントは変換しない
            ChgAttrib.hTFont=その他ならば、ChgAttrib.hTFontテキストフォントへ変換
        [色2]
            ChgAttrib.hColor2=0ならば、カレントカラーへ変換
            ChgAttrib.hColor2=chgattribPARALLELならば、カラーは変換しない
            ChgAttrib.hColor2=その他ならば、ChgAttrib.hColor2カラーへ変換
   
//矩形内に収まる要素群を平行移動する
var FromModel = CadApp.CreateModel("F.ftr"), ToModel = CadApp.CreateModel("T.ftr"); //既存図面ファイル F.ftr, T.ftr
var xp1, yp1, xp2, yp2;
var dx, dy;
var xk = [], yk = [];
  :
xp1 = ...; yp1 = ...; xp2 = ...; yp2 = ...;
dx = ...; dy = ...;
  :
xk[0] = xp1; yk[0] = yp1;
xk[1] = xp2; yk[1] = yp1;
xk[2] = xp2; yk[2] = yp2;
xk[3] = xp1; yk[3] = yp2;
xk[4] = xp1; yk[4] = yp1;

FromModel.AllClearEntySign( 1 );	//印1をすべて消す
FromModel.CollectEntity( 4, xk, yk, 1 );	//矩形内に収まる要素に印1を付ける
var arrayEnty = FromModel.GatherSignedEntys( 1 );	//印1の付いた要素を配列にセット

//平行移動のアフィン行列をセット
var af = new Matrix23();
af.Set( 1, 0, dx, 0, 1, dy );

//アフィン変換
CadApp.AfineEntys( FromModel, arrayEnty, af, 0, 0, CadConst.drawmodeDRAW, ToModel );	//描画だけ
CadApp.AfineEntys( FromModel, arrayEnty, af, 0, 0, CadConst.drawmodeSAVEmove, ToModel );	//登録

if( ! FromModel.IsEqual( ToModel ) ) FromModel.DelimitHistory();
ToModel.DelimitHistory();

angAmongVector2 関数

二つのベクトルの成す角度

CadApp.angAmongVector2( u1, v1, u2, v2 ) : Number

引数
u1, v1 : Number
ベクトル1
u2, v2 : Number
ベクトル2
返値
角度を返します。
解説
ベクトル1(u1,v1)とベクトル2(u2,v2)の成す角度を求めます。
失敗したらundefindを返します。
var u1, v1, u2, v2;
  :
var ans = CadApp.angAmongVector2( u1, v1, u2, v2 );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

CalcString 関数

文字列式を計算

CadApp.CalcString( strExpression, [m=NULL] ) : String

引数
strExpression : String
文字列式
m : Model
モデル
返値
計算後の文字列式を返します。
解説
文字列式は、以下の構文から生成される式です。
    文字列式 : 文字列または文字列式 + 文字列または文字列式
    文字列式 : 文字列または文字列式 + 数値式
    文字列式 : 文字列または文字列式 - 数値式
    文字列式 : 数値式 + 文字列または文字列式
    文字列式 : 文字列を返す関数(引数,・・・)
    文字列式 : 文字列変数
    文字列式 : "文字列"
モデルmを引数に渡した場合、そのモデル内で定義してある変数が文字列式の中で使用できます。
失敗したらundefindを返します。

Calculate 関数

数値式を計算

CadApp.Calculate( strExpression, [m=NULL] ) : String

引数
strExpression : String
数値式
m : Model
モデル
返値
計算結果を返します。
解説
モデルmを引数に渡した場合、そのモデル内で定義してある変数が文字列式の中で使用できます。
失敗したらundefindを返します。

Circle2 関数

オブジェクトをCircle2型に変換

CadApp.Circle2( enty ) : Circle2
CadApp.Circle2( x, y, r, sa, da ) : Circle2

引数
enty : Entity
円要素がセットされているEntityオブジェクト
x, y : Number
中心の座標
r : Number
半径
sa : Number
開始角
da : Number
変位角
返値
Circle2オブジェクトを返します。
解説
円を構成するデータを引数に与えてCircle2オブジェクトを作成します。
失敗したらundefindを返します。
var x, y, r, sa, da;
  :
var ans = CadApp.Circle2( x, y, r, sa, da );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

CreateModel, newModel 関数

モデルを作成(呼出)、既存Modelオブジェクトからモデルを作成

①CadApp.CreateModel( hmodel, newname ) : Model
 CadApp.newModel( hmodel, newname ) : Model

②CadApp.CreateModel( modelname, [papername=""], [Xsize=0], [Ysize=0], [Nlayer=-1] ) : Model
 CadApp.newModel( modelname, [papername=""], [Xsize=0], [Ysize=0], [Nlayer=-1] ) : Model

引数
hmodel : Model
Modelオブジェクト
newname : String
新しいモデル名
modelname : String
モデル名(フルパスのファイル名)
papername : String
ペーパー座標系の名前
Xsize : Number
ペーパーの幅
Ysize : Number
ペーパーの高さ
Nlayer : Integer
固有画層数
返値
Modelオブジェクトを返します。
解説
①の場合・・・
    既存Modelオブジェクトと同じモデルを作成し、その名前をnewnameにします。
    すでに同名のモデルがある場合や失敗した場合はundefindを返します。

②の場合・・・
    ●CreateModel(modelname)・・・既存ファイルの読み込み
        modelname<>""かつ(papername,Xsize,Ysize,Nlayer)がすべて省略されている場合、
        modelnameファイルを読み込んで作成されたModelオブジェクトを返します。
    ●CreateModel(modelname,papername,Xsize,Ysize,[Nlayer])・・・新規作成 モデル名=modelname
        modelname<>""かつ(papername,Xsize,Ysize,Nlayer)がすべて省略されていない場合、
        名前modelnameで、引数で指定されたペーパーサイズと固有画層数をもつモデルを新しく作成し、
        そのModelオブジェクトを返します。
    ●CreateModel("",papername,Xsize,Ysize,[Nlayer])・・・新規作成 モデル名=*Untitle:番号
        modelname==""かつ(papername,Xsize,Ysize,Nlayer)がすべて省略されていない場合、
        「*Untitle:番号」というモデル名で新規Modelオブジェクトが作成されます。

    すでに同名のモデルがある場合や失敗した場合はundefindを返します。
var m = CadApp.CreateModel("D:\\ABC.FTR","A1横",841,594,8);
if( m ) alert( m.name );	//"D:\ABC.FTR"

var m = CadApp.CreateModel("","A1横",841,594,8);
if( m ) alert( m.name );	//"*Untitle:1"

CreateTFont 関数

テキストフォントハンドルを作成

①CadApp.CreateTFont( tfname, [anothername=""] ) : HTFont=Integer
②CadApp.CreateTFont( tfname, [bSearch=false] ) : HTFont=Integer

引数
tfname : String
テキストフォント名(TrueTypeフォント名)
anothername : String
テキストフォント別名
bSearch : Boolean
trueなら作成前に探索
返値
テキストフォントハンドルを返します。
解説
①の場合、引数tfnameにTrueTypeフォント名を渡すと、CAD内で使用できるテキストフォントハンドルが作成されます。
TrueTypeフォント名が不適であったり、すでに作成されている場合、undefinedを返します。
引数anothernameはCADエンジン内部で使用しますので引数に与えないでください。

②の場合、bSearch=trueならテキストフォントハンドルを作成する前に探索します。(SearchTFont関数を実行します) 
bSearch=falseならCreateTFont(tfname)と同じです。

Dist 関数

点要素とEntityオブジェクト間の距離を求める

CadApp.Dist( enty1, enty2, [bExactly=false] ) : Number

引数
enty1 : Entity
要素1
enty2 : Entity
要素2
bExactly : Boolean

  
返値
計測結果を返します。
解説
enty1かenty2のどちらかが少なくとも点要素で、もう一方は点、直線または円要素でなくてはなりません。
失敗したらundefinedを返します。

Ellipse2 関数

オブジェクトをEllipse2型に変換

CadApp.Ellipse2( enty ) : Ellipse2
CadApp.Ellipse2( x, y, ra, rb, tna, sa, da ) : Ellipse2

引数
enty : Entity
楕円要素がセットされているEntityオブジェクト
x, y : Number
中心の座標
ra : Number
長軸半径
rb : Number
短軸半径
tna : Number
傾斜角
sa : Number
開始角
da : Number
変位角
返値
Ellipse2オブジェクトを返します。
解説
楕円を構成するデータを引数に与えてEllipse2オブジェクトを作成します。
失敗したらundefindを返します。
var x, y, ra, rb, tna, sa, da;
  :
var ans = CadApp.Ellipse2( x, y, ra, rb, tna, sa, da );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Entity 関数

オブジェクトをEllipse2型に変換

CadApp.Entity( args... ) : Entity

引数
args... : Number | String | Object
要素を構成するデータ
返値
Entityオブジェクトを返します。
解説
要素を構成するデータを引数に与えてEntityオブジェクトを作成します。
失敗したらundefindを返します。
var x, y;
  :
var ans = CadApp.Entity( x, y );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

entyXenty 関数

2要素の交点を全て求める

CadApp.entyXenty( enty1, enty2, [bExactly=false] ) : ArrayEntity

引数
enty1 : Entity
要素1
enty2 : Entity
要素2
bExactly : Boolean

  
返値
ArrayEntityオブジェクトを返します。
解説
交点すべてをEntityの配列にして返します。
交点の数は返値のArrayEntityオブジェクトのCountプロパティまたはlengthプロパティで知ることができます。
失敗したらundefindを返します。
var enty1 = new Entity(), enty2 = new Entity();
  :
var ans = CadApp.entyXenty( enty1, enty2 );
if( ans ){
  for( var i=0; i<ans.Count; i++ ){
    alert( ans[i].x+" , "+ans[i].y );	//X座標 , Y座標
  }
}else{
  alert( "失敗!!" );
}

entyXNEARenty 関数

2要素の交点の中で基準点に一番近い交点を求める

CadApp.entyXNEARenty( BasePt, enty1, enty2, [bExactly=false] ) : Entity

引数
BasePt : Entity
基準点
enty1 : Entity
要素1
enty2 : Entity
要素2
bExactly : Boolean

  
返値
Entityオブジェクトを返します。
解説
enty1とenty2との交点がある場合、BasePtに一番近い交点のEntityオブジェクトを返します。
失敗したらundefindを返します。
var BasePt = new Entity();
var enty1 = new Entity(), enty2 = new Entity();
  :
var ans = CadApp.entyXNEARenty( BasePt, enty1, enty2 );
if( ans ){
  alert( ans.x+" , "+ans.y );	//X座標 , Y座標
}else{
  alert( "失敗!!" );
}

GetBigCmntFile 関数

図面ファイルから大コメントを取得

CadApp.GetBigCmntFile( modelname ) : String

引数
modelname : String
モデル名
返値
大コメントを返します。
解説
外部記憶装置に収めてある図面ファイルから大コメントを取得します。
失敗したらundefindを返します。
var str = CadApp.GetBigCmntFile( "D:\\ABC.FTR" ) );
if( str ){
  alert( str );	//大コメント
}else{
  alert( "失敗!!" );
}

GetDatafileFormat 関数

ファイルのデータ形式を調べる

CadApp.GetDatafileFormat( modelname, [SmallCmntSize=0], [BigCmntSize=0] ) : Array

引数
modelname : String
モデル名(フルパス)
SmallCmntSize : Integer
小コメント取得サイズ
BigCmntSize : Integer
大コメント取得サイズ
返値
データ形式、小コメント、大コメントを返します。
解説
結果を配列[ FileFormat, SmallCmnt, BigCmnt ]を返します。
モデル名modelnameが存在して、読み込んでModelオブジェクトに変換できるデータ形式である場合、
そのデータファイルのデータ形式を返します。
    識別不可能な形式・・・CadConst.datafileXXX
    FTR形式・・・CadConst.datafileFTR
    SVL作成中のFTR形式・・・CadConst.datafileMAKINGSVL
    DXF形式・・・CadConst.datafileDXF
    DWG形式・・・CadConst.datafileDWG
    JWC形式・・・CadConst.datafileJWC
    EMF形式・・・CadConst.datafileMETAFILE
    SXF形式・・・CadConst.datafileSXF
    JWW形式・・・CadConst.datafileJWW
失敗したらundefindを返します。
var ans = CadApp.GetDatafileFormat( "D:\\ABC.FTR" ) );
if( ans ){
  switch( ans.FileFormat ){
    case CadConst.datafileFTR:
      alert( "FTR形式" );
      break;
    case CadConst.datafileDXF:
      alert( "DXF形式" );
      break;
    default:
      alert( "???" );
  }
}else{
  alert( "失敗!!" );
}

hypot 関数

を計算

CadApp.hypot( x, y, [z=0.0] ) : Number

引数
x : Number
y : Number
z : Number
返値
数値を返します。
解説
の計算結果を返します。
失敗したらundefindを返します。
var x, y, z;
  :
alert( CadConst.hypot( x, y, z ) );

IsColor 関数

カラーハンドルが適切かどうかを判定

CadApp.IsColor( hcolor ) : Boolean

引数
hcolor : HColor=Integer
判定対象のカラーハンドル
返値
判定結果を返します。
解説
hcolor=CadConst.hcolorBLACK~CadConst.hcolorMAXであれば、trueを返します。そうでなければfalseを返します。
失敗したらundefinedを返します。

IsLStyle 関数

線種ハンドルが適切かどうかを判定

CadApp.IsLStyle( hlstyle ) : Boolean

引数
hlstyle : HLStyle=Integer
判定対象の線種ハンドル
返値
判定結果を返します。
解説
hlstyle=CadConst.hlstyleSOLID~CadConst.hlstyleMAXであれば、trueを返します。そうでなければfalseを返します。
失敗したらundefinedを返します。

IsTFont 関数

フォントハンドルが適切かどうかを判定

CadApp.IsTFont( htfont ) : Boolean

引数
htfont : Integer
判定対象のフォントハンドル
返値
判定結果を返します。
解説
htfontが標準フォント・標準フォント2のハンドルであるか、CreateTFont関数で作成された
フォントであれば、trueを返します。そうでなければfalseを返します。
失敗したらundefinedを返します。

Line2 関数

オブジェクトをLine2型に変換

CadApp.Line2( enty ) : Line2
CadApp.Line2( x1, y1, x2, y2 ) : Line2

引数
enty : Entity
直線要素がセットされているEntityオブジェクト
x1, y1 : Number
直線の始点側の座標
x2, y2 : Number
直線の終点側の座標
返値
Line2オブジェクトを返します。
解説
直線を構成するデータを引数に与えてLine2オブジェクトを作成します。
失敗したらundefinedを返します。
var x1, y1, x2, y2;
  :
var ans = CadApp.Line2( x1, y1, x2, y2 );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

Line2XLine2 関数

直線と直線の交点を求める

CadApp.Line2XLine2( a1, b1, c1, a2, b2, c2 ) : Array

引数
a1, b1, c1 : Number
直線1の係数
a2, b2, c2 : Number
直線2の係数
返値
交点の座標を返します。
解説
直線1(a1*x+b1*y+c1=0)と直線2(a2*x+b2*y+c2=0)の交点を求めます。
結果は配列[ x, y ]に格納されます。
失敗したらundefinedを返します。
var Ln1 = new Line2(), Ln2 = new Line2();
  :
var Ln1k = CadApp.abcLine2( Ln1 );
var Ln2k = CadApp.abcLine2( Ln2 );
var ans = CadApp.Line2XLine2( Ln1k.a, Ln1k.b, Ln1k.c, Ln2k.a, Ln2k.b, Ln2k.c );
if( ans ){
  alert( ans.x+" , "+ans.y );	//X座標 , Y座標
}else{
  alert( "失敗!!" );
}

MakeEntityAttrib, newEntityHead関数

EntityHeadオブジェクトを作成

CadApp.MakeEntityAttrib( [hLay=0], [hCol=0], [hLStl=0], [hTFnt=0], [hCol2=0] ) : EntityHead
CadApp.newEntityHead( [hLay=0], [hCol=0], [hLStl=0], [hTFnt=0], [hCol2=0] ) : EntityHead

引数
hLay : HLayer=Integer
画層ハンドル
hCol : HColor=Integer
カラーハンドル
hLStl : HLStyle=Integer
線種ハンドル
hTFnt : HTFont=Integer
フォントハンドル
hCol2 : HColor=Integer
カラーハンドル2
返値
EntityHeadオブジェクトを返します。
解説
モデルへ要素を登録したり変更するときにその要素の属性はEntityHeadオブジェクトされたものを使用します。
失敗したらundefinedを返します。
var m = CadApp.CreateModel("A.ftr", "A1", 841, 594); //新規図面作成
var enty = CadApp.Line2( x1, y1, x2, y2 );
var entyhead = CadApp.MakeEntityAttrib( 0, CadConst.hcolorRED );	//カラー以外はカレントの属性
m.NewSave( enty, entyhead );

MakeTextFlag 関数

テキストフラグを作成

CadApp.MakeTextFlag( [xbs=0], [ybs=0], [vdir=false], [psize=false], [xmir=false], [ymir=false] ) : Integer

引数
xbs : Integer
X方向基準
ybs : Integer
Y方向基準
vdir : Boolean
縦置き(true)、横置き(false)
psize : Boolean
図面大(true)、現寸大(false)
xmir : Boolean
X軸対象
ymir : Boolean
Y軸対象
返値
テキストフラグを返します。
解説

失敗したらundefinedを返します。
var f = CadApp.MakeTextFlag( 1, 1, false, true, false, false );

GetTextXbs 関数

テキストフラグからX方向基準を取得

CadApp.GetTextXbs( textflag ) : Integer

引数
textflag : Integer
テキストフラグ
返値
X方向基準(0~2の値)を返します。
解説
0の場合、X方向基準が左端となります。
  1の場合、X方向基準が中間となります。
  2の場合、X方向基準が右端となります。
  失敗したらundefindを返します。

GetTextYbs 関数

テキストフラグからY方向基準を取得

CadApp.GetTextYbs( textflag ) : Integer

引数
textflag : Integer
テキストフラグ
返値
Y方向基準(0~2の値)を返します。
解説
0の場合、Y方向基準が下側となります。
    1の場合、Y方向基準が中間となります。
    2の場合、Y方向基準が上側となります。
    失敗したらundefindを返します。

IsTextVdir 関数

テキストフラグから図面大か現寸大を判定

CadApp.IsTextVdir( textflag ) : Boolean

引数
textflag : Integer
判定対象のテキストフラグ
返値
縦置き(true)か横置き(false)かを返します。
解説
trueを返せば、テキストフラグに縦置きがセットされています。
falseを返せば、テキストフラグに横置きがセットされています。
var f = CadApp.MakeTextFlag();
if( CadApp.IsTextVdir( f ) ){
  alert( "縦置き" );
}else{
  alert( "横置き" );
}

IsTextPsize 関数

テキストフラグから図面大か現寸大を判定

CadApp.IsTextPsize( textflag ) : Boolean

引数
textflag : Integer
判定対象のテキストフラグ
返値
図面大(true)か現寸大(false)かを返します。
解説
trueを返せば、テキストフラグに図面大がセットされています。
falseを返せば、テキストフラグに現寸大がセットされています。
var f = CadApp.MakeTextFlag();
if( CadApp.IsTextPsize( f ) ){
  alert( "図面大テキスト" );
}else{
  alert( "現寸大テキスト" );
}

ModifyLayerName 関数

座標系固有画層名の変更

CadApp.ModifyLayerName( hmap, layername ) : String

引数
hmap : HMap=Integer
座標系ハンドル
layername : String
修正したい画層名
返値
変更後の画層名を返します。
解説
hmap≠CadConst.hmapNothingならlayernameを固有画層名の形式(M hmap-layername)に画層名を変更した文字列を返します。
hmap=CadConst.hmapNothingなら、"M 番号-"を除いた共有可能な画層に変更した文字列を返します。
失敗したらundefinedを返します。

Nearest 関数

基準点に一番近い要素を求める

CadApp.Nearest( BasePt, n, EntyS ) : Integer

引数
BasePt : Entity | Point2
基準点
n : Integer
対象要素数
EntyS : ArrayEntity
対象要素群
返値
インデックス番号を返します。
解説
対象要素群(EntyS[0],EntyS[1],・・・,EntyS[n-1])から基準点BasePtに一番近い要素のインデックス番号を返します。
失敗したらundefinedを返します。

Point2 関数

オブジェクトをPoint2型に変換

CadApp.Point2( enty ) : Point2
CadApp.Point2( x, y ) : Point2

引数
enty : Entity
点要素がセットされているEntityオブジェクト
x, y : Number
点の座標
返値
Point2オブジェクトを返します。
解説
点を構成するデータを引数に与えてPoint2オブジェクトを作成します。
失敗したらundefinedを返します。
var x, y;
  :
var ans = CadApp.Point2( x, y );
if( ans ){
  alert( "成功!!" );
}else{
  alert( "失敗!!" );
}

QangAmong 関数

閉空間[sang,eang],[eang,sang]に入るかどうかを調べる

CadApp.QangAmong( ang, sang, eang ) : Boolean

引数
ang : Number
対象となる角度
sang : Number
閉空間始まり角度
eang : Number
閉空間終わり角度
返値
判定結果を返します。
解説
角度angが閉空間[sang,eang],[eang,sang]に入れば角度angをsang≦ang≦eangの範囲に修正してtrueを返します。
入らなければfalseを返します。
失敗したらundefinedを返します。
var ang, sang, eang;
  :
if( CadApp.QangAmong( ang, sang, eang ){
  alert( "入っています" );
}else{
  alert( "入っていません" );
}

QangIn 関数

開空間(sang,eang),(eang,sang)に入るかどうかを調べる

CadApp.QangIn( ang, sang, eang ) : Boolean

引数
ang : Number
対象となる角度
sang : Number
開空間始まり角度
eang : Number
開空間終わり角度
返値
判定結果を返します。
解説
角度angが開空間(sang,eang),(eang,sang)に入れば角度angをsang<ang<eangの範囲に修正してtrueを返します。
入らなければfalseを返します。
失敗したらundefinedを返します。
var ang, sang, eang;
  :
if( CadApp.QangIn( ang, sang, eang ){
  alert( "入っています" );
}else{
  alert( "入っていません" );
}

ReadSTC 関数

STC変数の値をINIファイルから読み込みます。

CadApp.ReadSTC( [STCname=""], [InifileName=""] ) : Boolean

引数
STCname : String
STC変数の名前
InifileName : String
INIファイル名(フルパス)
返値
成否を返します。
解説
INIファイル名(InifileName)を読み込んでSTC変数のすべてのメンバーの値を更新します。
STCname==""である場合すべてのSTC変数の内容を更新します。
読み込みに成功した場合trueを返し、読み込みに失敗したらfalseを返します。
失敗したらundefinedを返します。

RenameTFont 関数

TrueTypeフォント名を取り換える

CadApp.RenameTFont( htfont, newtfname ) : Boolean

引数
htfont : HTFont=Integer
フォントハンドル
newtfname : String
新しい名前
返値
成否を返します。
解説
テキストフォントハンドルhtfontのTrueTypeフォント名を変更します。名前変更に成功すると(true)、
そのテキストフォントハンドルを属性としてもつ記事・寸法がそれに応じてすべて変更されます。
newtfnameがすべて使用されている名前である場合やTrueTypeフォント名でなければfalseを返します。
失敗したらundefinedを返します。

RequestClick 関数

マウス入力要求

CadApp.RequestClick( [flag=0], [m=NULL], [elms=0] ) : InpInfo

引数
flag : RequestFlags=Integer
要求フラグ
m : Model
指定モデル
elms : PickElm=Integer
要求する要素の種類
返値
InpInfoオブジェクトを返します。
解説
●要求フラグflagは | 演算子で結んで与えます。
    reqSPKEY・・・Esc, Tab, Shift+Tab, Ctrl+Tab の特殊キーを待ちます。
    reqMSCLIK・・・マウス左ボタンクリックで自由位置指示を要求
    reqPICKENTY・・・マウス左ボタンクリックで要素指示を要求(その種類はelmsで指定)
    reqNOMSSIGN・・・reqMSCLIK、reqPICKENTYで要求した場合のクリック位置を残さないようにします。
    reqYESNO・・・マウスの左右と第3ボタンのクリックを要求
    reqVIEWRECT・・・矩形領域を要求(左ボタンを押した後、そのWindowにマウスが占有されます)
    reqDRAGDROP・・・モデルをマウス左ボタンで掴んでドラッグ&ドロップの操作をできるように要求
    reqNothing・・・要求なし
●要求フラッグの中にreqPICKENTYがあった場合、その要素の種類は引数elmsで与えられます。 | 演算子で結んで与えます。
    pickPOINT2・・・点
    pickLINE2・・・直線
    pickCIRCLE2・・・円
    pickELLIPSE2・・・楕円
    pickCURVE2・・・曲線
    pickTEXT2・・・記事
    pickDIM2・・・寸法
    pickALL・・・pickPOINT2 | pickLINE2 | pickELLIPSE2 | pickCURVE2 | pickTEXT2 | pickDIM2
    pickDBONLY・・・モデル内に登録されている要素に限定(要素の端点・交点を除く)
    pickFINITEONLY・・・有限の長さをもつ要素に限定(無限要素を除く)
    pickNOTHING・・・要素の種類を指定しない

成功したら入力情報を返します。失敗したらundefinedを返します。

ReturnEvent 関数

RequestClick関数でユーザからの入力待ち状態時に、指定InpINFOオブジェクトで値を返す

CadApp.ReturnEvent( inpinfo ) : Boolean

引数
inpinfo : InpINFO
RequestClick関数に返す情報
返値
RequestClick関数で入力待ち状態ならtrueを返す。入力待ち状態でなければfalseを返す。
解説
inpinfo.fに入力情報の識別番号をセットして、この関数に渡すことは大事です。

SearchTFont 関数

テキストフォント名のテキストフォントハンドルを探索

CadApp.SearchTFont( tfname, [bAnothername=false] ) : Boolean

引数
tfname : String
テキストフォント名
bAnothername : Boolean
別名で探索するかどうか
返値
成否を返します。
解説
bAnotherName==falseなら、CreateTFont関すの第一引数のテキストフォント名で探索してくれます。
bAnotherName==trueなら、CreateTFont関数の第二引数の別名で探索してくれます。
失敗したらundefinedを返します。

SepCommaExpr 関数

カンマ(,)と@マークからなる式を解釈する

CadApp.SepCommaExpr( Siki, [hmodel=NULL] ) : Array

引数
Siki : String
カンマ(,)と@マークからなる式
hmodel : Model
モデル
返値
式を解釈した結果を返します。
解説
カンマ(,)と@マークからなる式から数値の列を解釈します。結果は配列[n, Nk=[], v=[], Total, state ]で返ります。
仮にSikiの内容が「数値式0, 個数式1@数値式0,・・・, 数値式K」としたとき、以下のような結果が返ってきます。
    n = K + 1
    Nk[0] = 1, Nk[1] = 個数式1の計算値, ・・・, Nk[K] = 1
    v[0] = 数値式0の計算値, v[1] = 数値式1の計算値, ・・・, v[K] = 数値式Kの計算値
    Total = Nk[0] + Nk[1] + ・・・ + Nk[K]

stateには以下の内容がセットされます。
    CadConst.calcEXPRESxxx = 0 ・・・ 計算エラー
    正常に計算できた場合
        CadConst.calcEXPRESconst = 1 ・・・ 定数だけの計算
        CadConst.calcEXPRESusevar = 2 ・・・ 変数を含む計算

失敗したらundefinedを返します。

sign 関数

数値の符号を調べる

CadApp.sign( v ) : Integer

引数
v : Number
数値
返値
判定結果を返します。
解説
v≧0なら+1を、v<0なら-1を返します。
失敗したらundefinedを返します。

Tenty 関数

点から他要素へ下ろした垂点をすべて求める

CadApp.Tenty( PointEnty, enty ) : ArrayEntity

引数
PointEnty : Entity | Point2
点要素
enty : Entity
他要素
返値
すべての垂点を配列で返します。
解説
点要素(PointEnty)から他要素(enty)へ下ろしたすべての垂点をArrayEntityオブジェクトで返します。
失敗したらundefinedを返します。
var ePt = new Entity(), enty = new Entity();
var pts = new ArrayEntity();
  :
pts = CadApp.Tenty( ePt, enty );

TNEARenty 関数

点Pから他要素へ下ろした垂点から点Pに一番近い垂点を求める

CadApp.TNEARenty( PointEnty, enty ) : Entity

引数
PointEnty : Entity | Point2
点要素
enty : Entity
他要素
返値
一番近い垂点を返します。
解説
点要素(PointEnty)から他要素(enty)へ下ろした垂点のうち点要素(PointEnty)に最も近い点を返します。
失敗したらundefinedを返します。
var ePt = new Entity(), enty = new Entity();
var pt = new Entity();
  :
pt = CadApp.TNEARenty( ePt, enty );

TPenty 関数

点から他要素へ下ろした垂点位置パラメータをすべて求める

CadApp.TPenty( PointEnty, enty ) : Array

引数
PointEnty : Entity | Point2
点要素
enty : Entity
他要素
返値
すべての垂点位置パラメータを配列で返します。
解説
点要素(PointEnty)から他要素(enty)へ下ろしたすべての垂点をentyの始点を0、終点1としたパラメータの配列として返します。
失敗したらundefinedを返します。
var ePt = new Entity(), enty = new Entity();
var ppts = [];
  :
ppts = CadApp.TPenty( ePt, enty );

TPNEARenty 関数

点Pから他要素へ下ろした垂点から点Pに一番近い垂点位置パラメータを求める

CadApp.TPNEARenty( PointEnty, enty ) : Number

引数
PointEnty : Entity | Point2
点要素
enty : Entity
他要素
返値
一番近い垂点位置パラメータを返します。
解説
点要素(PointEnty)から他要素(enty)へ下ろした垂点のうち点要素(PointEnty)に最も近い位置をenty上の位置パラメータとして返します。
垂点が求められなかったら、ERR_NUMを返します。
失敗したらundefinedを返します。
var ePt = new Entity(), enty = new Entity();
var ppt;
  :
ppt = CadApp.TPNEARenty( ePt, enty );

SetInpWin 関数

入力Winへ表示と入力要求情報をセット

CadApp.SetInpWin( Set ) : Boolean

引数
Set : String
表示文字列
返値
成否を返します。
解説
入力Winへ表示と入力要求情報をセットします。{・・・}内の文法は以下の通りです。
●{M[Did] `文字列} ・・・ボタンの上に文字列を表示。左クリックで指示されることを要求
●{m[Did] `文字列} ・・・文字列だけを表示。左クリックで指示されることを要求
●{I n[/m][Did] `文字列[`初期値]} または {i n[/m][Did] `文字列[`初期値]} ・・・整数入力を要求
●{F n[/m][Did] `文字列[`初期値]} または {f n[/m][Did] `文字列[`初期値]} ・・・実数値入力を要求
●{X n[/m][Did] `文字列[`初期値]} または {x n[/m][Did] `文字列[`初期値]} ・・・16進整数入力を要求
●{S n[/m][Did] `文字列[`初期値]} または {s n[/m][Did] `文字列[`初期値]} ・・・文字列入力を要求
Did・・・入力項目のID番号を指定(例:D10 → ID番号10番)
n/m・・・入力エディタの長さ/入力最大数(例:16/255 → 16文字分/最大255文字)
CadApp.SetInpWin("{MD1 ` ①ボタンA }  {mD2 ` ②ボタンB }\n
    ③{I 16/32 D3 `整数=`1} ④{F 16/255 D4 `実数=`3.14}\n
    ⑤{X 16/32 D5 `16進整数=`22} ⑥{S 32/255 D6 `文字列=`ABC");

while( true ){
    var ans = CadApp.RequestClick( );
    switch( ans.f ){
       case 1:
          alert( "ボタンAが押されました" );
          break;
       case 2:
          alert( "ボタンBが押されました" );
          break;
       case 3:
          alert( "整数が入力されました : " + ans.n );
          break;
       case 4:
          alert( "実数が入力されました : " + ans.value );
          break;
       case 5:
          alert( "16進数が入力されました : " + ans.n );
          break;
       case 6:
          alert( "文字列が入力されました : " + ans.str );
          break;
    }
}

ReInpWin 関数

特定の入力項目へ再入力を要求

CadApp.ReInpWin( ID, [Set=""] )

引数
ID : Integer
入力項目ID
Set : String
変更した初期値
返値
なし
解説
特定の入力項目へID番号を指定して再入力要求します。初期値の変更も可能です。

SetInpListHandler 関数

入力Winの入力項目のIDと入力リストオブジェクトをつなぐ

CadApp.SetInpListHandler( ID, inplist )

引数
ID : Integer
入力項目ID
inplist : InpList
入力リストオブジェクト
返値
なし
解説
入力WinのID入力項目と入力リストオブジェクトを結びつける。

SetInpListHandler 関数

入力Winの入力項目のIDと入力リストオブジェクトをつなぐ

CadApp.SetInpHCtrlHandler( ID, inplclr )

引数
ID : Integer
入力項目ID
inplclr : InpLClr
色・線種を表示するオブジェクト
返値
なし
解説
入力WinのID入力項目とInpLClrオブジェクトを結びつける。この結び付け操作があってボタンが表示される。

LoadModule 関数

モジュールをロードします。

CadApp.LoadModule( modulefilename, [moduleID=""] ) : Boolean

引数
modulefilename : String
モジュール名
moduleID : String
モジュールID
返値
成否を返します。

UnloadModule 関数

モジュールをアンロードします。

CadApp.UnloadModule( moduleID )

引数
moduleID : String
モジュールID
返値
なし

InsertInpEdit 関数

入力エディタへ文字列を挿入

CadApp.InsertInpEdit( Str )

引数
Str : String
挿入する文字列
返値
なし
解説
アクティブな入力エディタの文字列を置き換えます。

FlushInpWin 関数

入力エディタへ文字列を挿入

CadApp.FlushInpWin( )

引数
なし
返値
なし
解説
入力Winを再描画します。

GetInpWinData 関数

入力Win内のデータを取り出す

CadApp.GetInpWinData( ID ) : InpInfo

引数
ID : Integer
入力項目ID
返値
指定IDの入力情報を返します。
解説
特定の入力項目の入力情報を取得します。

GetInpValue 関数

入力項目の値を取得

CadApp.GetInpValue( ID ) : String | Number

引数
ID : Integer
入力項目ID
返値
指定IDの入力値を返します。
解説
特定の入力項目の入力値を取得します。

SetInpValue 関数

入力項目の値を設定

CadApp.SetInpValue( ID, value )

引数
ID : Integer
入力項目ID
value : String | Number
設定する値
返値
なし
解説
特定の入力項目の入力値を設定します。

WriteSTC 関数

STC変数の値をINIファイルに書き込む

CadApp.WriteSTC( [STCname=""], [InifileName=""] ) : Boolean

引数
STCname : String
STC変数の名前
InifileName : String
INIファイル名(フルパス)
返値
成否を返します。
解説
STC変数名(STCname)のすべてのSTC変数の内容を書き込みます。
STCname==""である場合すべてのSTC変数の内容を書き込みます。
書き込みに成功した場合trueを返し、書き込みに失敗したらfalseを返します。
失敗したらundefinedを返します。

IsMapHavingLayerName 関数

座標系固有画層名から座標系ハンドルと'-'先の名前を取得

CadApp.IsMapHavingLayerName( layername ) : Array

引数
layername : String
画層名
返値
座標系ハンドルと画層名を配列で返します。
解説
layernameが固有画層名の形式(M 座標系番号-名前)である場合、配列[ hmap(座標系ハンドル), name(名前) ]を返します。
固有画層名の形式でない場合、undefinedを返します。

IsModelFile 関数

モデルが存在するか調べる

CadApp.IsModelFile( modelname ) : Boolean

引数
modelname : String
ファイル名
返値
存在するかどうかを返します。
解説
ファイル名modelnameが図面ファイルかどうかを判定します。
存在すればtrueを返します。なければfalseを返します。
失敗したらundefinedを返します。

IsModelfileMakingSVL 関数

SVL図面ファイルであるか調べる

CadApp.IsModelfileMakingSVL( modelname ) : Boolean

引数
modelname : String
ファイル名
返値
SVL図面ファイルかどうかを返します。
解説
ファイル名modelnameがSVLプログラム作成中の図面ファイルかどうかを判定します。
SVLプログラム作成中の図面ファイルであればtrueを返します。そうでなければfalseを返します。
失敗したらundefinedを返します。

SetupPrinter 関数

印刷設定ダイアログを実行

CadApp.SetupPrinter( ) : Boolean

引数
なし
返値
成否(true/false)を返します。
解説
印刷設定ダイアログの呼び出しに成功したらtrueを、失敗したらfalseを返します。

SetPrinterSetting 関数

印刷設定を行なう

CadApp.SetPrinterSetting(printerName, paperSizeVal=9, orientationVal=2 ) : Boolean
CadApp.SetPrinterSetting(printerName, {paperSize:paperSizeVal, orientation:orientationVal, quality:qualityVal, yresolution:yresolutionVal, color:colorVal} ) : Boolean

引数
printerName : String
印刷デバイス名
paperSizeVal : Integer
ペーパーサイズ番号。DMPAPER_A3(8),DMPAPER_A4(9),DMPAPER_A(10)
orientationVal : lean
用紙印刷の向き。DMORIENT_PORTRAIT(1):用紙縦置き, DMORIENT_LANDSCAPE(2):用紙横置き
qualityVal : Integer
印刷解像度。DMRES_HIGH(0xFFFC):高解像度, DMRES_MEDIUM(0xFFFD):中解像度, DMRES_LOW(0xFFFE):低解像度
yresolution : Integer
1インチあたりのドット数
colorVal : Integer
DMRES_MONOCHROME(0):モノクロモード, DMRES_COLOR(2):カラーモード
返値
成功したらtrueを、失敗したらfalseを返します。

GetPrinterSize 関数

現在設定されている印刷用紙サイズを取得

CadApp.GetPrinterSize( ) : Array

引数
なし
返値
印刷用紙サイズを配列で返します。
解説
印刷用紙サイズを配列[ W, H ]で返します。
失敗したらundefinedを返します。

PrintModel 関数

図面上の矩形領域を印刷出力

CadApp.PrintModel( hmodel, [bFromTop=true], [Xpaper=0.0], [Ypaper=0.0], [Angpaper=0.0], [Wpaper=0.0], [Hpaper=0.0], [Scalar=0.0], [Xprinter=0.0], [Yprinter=0.0], [Angprinter=0.0] ) : Boolean
CadApp.PrintModel( modelfile, [bFromTop=true], [Xpaper=0.0], [Ypaper=0.0], [Angpaper=0.0], [Wpaper=0.0], [Hpaper=0.0], [Scalar=0.0], [Xprinter=0.0], [Yprinter=0.0], [Angprinter=0.0] ) : Boolean

引数
hmodel : Model
モデルオブジェクト
modelfile : String
モデル名(フルパス)
bFromTop : Boolean
true:印刷用紙の左上から出力、false:印刷用紙の左下から出力
Xpaper : Number
図面上矩形領域の隅点X座標
Ypaper : Number
図面上矩形領域の隅点Y座標
Angpaper : Number
図面上矩形領域の傾斜角
Wpaper : Number
図面上矩形領域の幅(0の場合、図面用紙の幅)
Hpaper : Number
図面上矩形領域の高さ(0の場合、図面用紙の高さ)
Scalar : Number
図面上矩形領域から印刷領域への出力倍率
Xprinter : Number
(Xpaper,Ypaper)に対する印刷側のX座標
Yprinter : Number
(Xpaper,Ypaper)に対する印刷側のY座標
Angprinter : Number
Angpaperに対する印刷側の傾斜角
返値
成否を返します。
解説
印刷に成功したらtrueを、失敗したらfalseを返します。


失敗したらundefinedを返します。

PreviewModel 関数

図面上の矩形領域を印刷出力したときのイメージを表示

CadApp.PreviewModel( hmodel, [bFromTop=true], [Xpaper=0.0], [Ypaper=0.0], [Angpaper=0.0], [Wpaper=0.0], [Hpaper=0.0], [Scalar=0.0], [Xprinter=0.0], [Yprinter=0.0], [Angprinter=0.0] ) : Boolean
CadApp.PreviewModel( modelfile, [bFromTop=true], [Xpaper=0.0], [Ypaper=0.0], [Angpaper=0.0], [Wpaper=0.0], [Hpaper=0.0], [Scalar=0.0], [Xprinter=0.0], [Yprinter=0.0], [Angprinter=0.0] ) : Boolean

引数
hmodel : Model
モデルオブジェクト
modelfile : String
モデル名(フルパス)
bFromTop : Boolean
true:印刷用紙の左上から出力、false:印刷用紙の左下から出力
Xpaper : Number
図面上矩形領域の隅点X座標
Ypaper : Number
図面上矩形領域の隅点Y座標
Angpaper : Number
図面上矩形領域の傾斜角
Wpaper : Number
図面上矩形領域の幅(0の場合、図面用紙の幅)
Hpaper : Number
図面上矩形領域の高さ(0の場合、図面用紙の高さ)
Scalar : Number
図面上矩形領域から印刷領域への出力倍率
Xprinter : Number
(Xpaper,Ypaper)に対する印刷側のX座標
Yprinter : Number
(Xpaper,Ypaper)に対する印刷側のY座標
Angprinter : Number
Angpaperに対する印刷側の傾斜角
返値
成否を返します。
解説
表示に成功したらtrueを、失敗したらfalseを返します。


失敗したらundefinedを返します。

IsPrnBusy 関数

プリンタが動作中かどうか調べる

CadApp.IsPrnBusy( ) : Boolean

引数
なし
返値
プリンタが動作中かどうかを返します。

GetModelS 関数

すべてのModelオブジェクトを取得

CadApp.GetModelS( ) : Array

引数
なし
返値
Modelオブジェクトの配列を返します。
解説
作業Window中のすべてのModelオブジェクトを配列で返します。失敗したらundefinedを返します。

FindModel 関数

モデルを探索

CadApp.FindModel( modelname ) : Model

引数
modelname : String
探索するモデル名
返値
Modelオブジェクトを返します。
解説
作業Window中のすべてのModelオブジェクトからモデル名modelnameを検索し、見つかったらModelオブジェクトを返します。
失敗したらundefinedを返します。

AllClearMarks 関数

すべてのモデルに表示されているマークをクリア

CadApp.AllClearMarks( )

引数
なし
返値
なし
解説
作業Window中のすべてのModelオブジェクトのマークをクリアします。

Vset 関数

変数名とその値を登録

CadApp.Vset( varname, value, [pcmnt=""] ) : Boolean

引数
varname : String
変数名
value : String | Number
pcmnt : String
コメント
返値
成否を返します。
解説
変数名とその値を変数テーブルへ登録します。コメント(変数の説明)も付加できます。
変数テーブルに同じ名前の変数があれば、その内容は更新されます。
登録に成功したらtrueを返します。不適な変数名であったり値が許されない型であればfalseを返します。
失敗したらundefinedを返します。

Vclear 関数

変数をクリア

CadApp.Vclear( )

引数
なし
返値
なし
解説
変数テーブルを空にします。

StopRubber 関数

ラバーバンドを中止

CadApp.StopRubber( )

引数
なし
返値
なし
解説
実行中のラバーバンドを中止します。

RestartRubber 関数

ラバーバンドを再スタート

CadApp.RestartRubber( )

引数
なし
返値
なし
解説
停止中のラバーバンドを再スタートします。

EndRubber 関数

ラバーバンドを終了

CadApp.EndRubber( )

引数
なし
返値
なし
解説
実行中のラバーバンドを終了します。

BeginRubberLine2 関数

直線ラバーバンドを表示

CadApp.BeginRubberLine2( m, rbon, pb, [vector1=NULL], [vector2=NULL] ) : Boolean

引数
m : Model
Modelオブジェクト
rbon : RubberOn=Integer
座標系モード
pb : Point2
始点座標
vector1 : Point2
方向ベクトル1
vector2 : Point2
方向ベクトル2
返値
成否を返します。
解説
点pbを始点とする直線のラバーバンドを表示できるようにします。
座標系モードrbonの値が CadConst.rubberOnPAPER であれば図面上の座標で直線を表示し、
CadConst.rubberOnMODELであればモデル上の座標で直線を表示します。
方向ベクトルvector1、vector2引数を省略した場合、点pbとマウス矢印を結ぶ直線のラバーバンドを表示します。
vector2だけを省略した場合、点pbを始点としvector1に平行なラバーバンド直線を表示します。

vector1、vector2を引数に与えた場合、点pbとマウス矢印を結ぶ直線の傾きがvector1に近ければvector1に平行なラバーバンド直線となり、
vector2に近ければvector2に平行なラバーバンド直線となります。

BeginRubberCircle2 関数

円ラバーバンドを表示

CadApp.BeginRubberCircle2( m, rbon, pb ) : Boolean

引数
m : Model
Modelオブジェクト
rbon : RubberOn=Integer
座標系モード
pb : Point2
中心座標
返値
成否を返します。
解説
点pbを中心点とする円のラバーバンドを表示できるようにします。
座標系モードrbonの値が CadConst.rubberOnPAPER であれば図面上の座標で円を表示し、
CadConst.rubberOnMODELであればモデル上の座標で円を表示します。

BeginRubberRect2 関数

矩形ラバーバンドを表示

CadApp.BeginRubberRect2( m, rbon, pb, [vector=NULL], [whratio=0.0] ) : Boolean

引数
m : Model
Modelオブジェクト
rbon : RubberOn=Integer
座標系モード
pb : Point2
矩形頂点座標
vector : Point2
方向ベクトル
whratio : Number
.
返値
成否を返します。
解説
点pbを対角点とする矩形のラバーバンドを表示できるようにします。
座標系モードrbonの値が CadConst.rubberOnPAPER であれば図面上の座標で矩形を表示し、
CadConst.rubberOnMODELであればモデル上の座標で矩形を表示します。
方向ベクトルvector引数を省略した場合、点pbとマウス矢印とを対角点とするXY軸に平行な矩形を表示します。

方向ベクトルvector引数に与えた場合、vectorと同じ傾きの矩形を表示します。

BeginRubberCRect2 関数

基準が中心の矩形ラバーバンドを表示

CadApp.BeginRubberCRect2( m, rbon, pb, [vector=NULL] ) : Boolean

引数
m : Model
Modelオブジェクト
rbon : RubberOn=Integer
座標系モード
pb : Point2
矩形中心点座標
vector : Point2
方向ベクトル
返値
成否を返します。
解説
点pbを中心点とする矩形のラバーバンドを表示できるようにします。
座標系モードrbonの値が CadConst.rubberOnPAPER であれば図面上の座標で矩形を表示し、
CadConst.rubberOnMODELであればモデル上の座標で矩形を表示します。
方向ベクトルvector引数を省略した場合、矩形はXY軸に平行に表示します。
vectorを省略しなかった場合、そのvectorと同じ傾きで表示します。

BeginRubberDrag2 関数

要素群のラバーバンドを表示

CadApp.BeginRubberDrag2( m, entyS, xbp, ybp, [ub=1.0], [vb=0.0], [K=1.0], [ChgAttrib=NULL] ) : Boolean

引数
m : Model
Modelオブジェクト
entyS : ArrayEntityA
要素群
xbp, ybp : Number
基準点
ub, vb : Number
基準方向
K : Number
倍率
ChgAttrib : EntityHead
要素群属性
返値
成否を返します。
解説
要素群entySを(xbp,ybp)座標基準に移動するラバーバンドを表示します。
ub,vb引数を与えた場合、移動する方向を指定できます。
K引数を与えた場合、要素群の倍率を指定できます。ラバーバンド中のみ有効です。
ChgAttrib引数を与えた場合、要素群の属性を指定できます。ラバーバンド中のみ有効です。
var hModel = CadApp.CreateModel("ABC.ftr");//既存図面 ABC.ftr
var xp1, yp1, xp2, yp2;
var xk = [], yk = [];
  :
xp1 = ...; yp1 = ...; xp2 = ...; yp2 = ...;
  :
xk[0] = xp1; yk[0] = yp1;
xk[1] = xp2; yk[1] = yp1;
xk[2] = xp2; yk[2] = yp2;
xk[3] = xp1; yk[3] = yp2;
xk[4] = xp1; yk[4] = yp1;

hModel.AllClearEntySign( 1 );	//印1をすべて消す
hModel.CollectEntity( 4, xk, yk, 1 );	//矩形内に収まる要素に印1を付ける
var arrayEnty = hModel.GatherSignedEntys( 1 );	//印1の付いた要素を配列にセット

CadApp.SetInpWin( "点を指示" );

while( true ){

  CadApp.BeginRubberDrag2( hModel, arrayEnty, xp1, yp1 );	//ラバーバンド開始

  var ans = CadApp.RequestClick( CadConst.reqPICKENTY, hModel, CadConst.pickPOINT2 );
  if( ans.f == CadConst.ansPICKENTY && ans.hType == CadConst.htypePoint2 ){
    :
    CadApp.EndRubber();	//ラバーバンド終了
  }
}

ChangeRubberDrag2 関数

要素群のラバーバンドを変更

CadApp.ChangeRubberDrag2( xbp, [ybp=0.0], [ub=1.0], [vb=0.0], [entyS=NULL] ) : Boolean
ChangeRubberDrag2( entyS ) : Boolean

引数
xbp, ybp : Number
変更点
ub, vb : Number
変更方向
entyS : ArrayEntityA
変更要素群
返値
成否を返します。
解説
BeginRubberDrag2関数で実行したラバーバンドの情報を変更します。基準点、基準方向、要素群を変更できます。

SetRubberDrag2Reverse 関数

要素群のラバーバンドを反転

CadApp.SetRubberDrag2Reverse( )

引数
なし
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドを基準方向を軸に反転します。

SetRubberDrag2Dir 関数

要素群のラバーバンドを基準方向を変更

CadApp.SetRubberDrag2Dir( u, v )

引数
u, v : Number
変更方向
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドの基準方向を変更します。

SetRubberDrag2Rotate 関数

要素群のラバーバンドを回転

CadApp.SetRubberDrag2Rotate( dang )

引数
dang : Number
回転角
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドを回転します。

SetRubberDrag2Move 関数

要素群のラバーバンドを相対移動

CadApp.SetRubberDrag2Move( dx, dy )

引数
dx, dy : Number
XY移動量
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドを相対移動します。

SetRubberDrag2Put 関数

要素群のラバーバンドを指定したモデルへ表示

CadApp.SetRubberDrag2Put( m, x, y )

引数
m : Model
Modelオブジェクト
x, y : Number
表示位置座標
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドを指定したモデルへ表示します。

SetRubberDrag2Afine 関数

要素群のラバーバンドを指定したモデルへアフィン変換して表示

CadApp.SetRubberDrag2Afine( m, af )

引数
m : Model
Modelオブジェクト
af : Matrix23
アフィン行列
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドを指定したモデルへアフィン変換して表示します。

GetRubberDrag2Mode 関数

要素群のラバーバンドの描画モードを取得

CadApp.GetRubberDrag2Mode( ) : DrawMode=Integer

引数
なし
返値
描画モードを返します。
解説
BeginRubberDrag2関数で実行したラバーバンドの描画モードを返します。

SetRubberDrag2Mode 関数

要素群のラバーバンドの描画モードを設定

CadApp.SetRubberDrag2Mode( newmode )

引数
newmode : DrawMode=Integer
描画モード
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドに描画モードを設定します。

GetRubberDrag2Inf 関数

要素群のラバーバンドの情報を取得

CadApp.GetRubberDrag2Inf( ) : Array

引数
なし
返値
ラバーバンドの情報を配列で返します。
解説
BeginRubberDrag2関数で実行したラバーバンドの情報を配列[ m, af, xb, yb, u, v ]で返します。

SetRubberDrag2FixModel 関数

要素群のラバーバンドを描画するモデルを設定

CadApp.SetRubberDrag2FixModel( m )

引数
m : Model
Modelオブジェクト
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドを描画するモデルを設定します。

GetRubberDrag2FixModel 関数

要素群のラバーバンドを描画するモデルを取得

CadApp.GetRubberDrag2FixModel( ) : Model

引数
なし
返値
ラバーバンドを描画するModelオブジェクトを返します。
解説
BeginRubberDrag2関数で実行したラバーバンドを描画するモデルを取得します。

SetRubberDrag2MDir 関数

要素群のラバーバンドの移動する方向を固定

CadApp.SetRubberDrag2MDir( um, vm )

引数
um, vm : Number
方向ベクトル
返値
なし
解説
BeginRubberDrag2関数で実行したラバーバンドの移動する方向を固定します。

newMatrix23 関数

Matrix23オブジェクトを作成

① CadApp.newMatrix23() : Matrix23
② CadApp.newMatrix23( obj ) : Matrix23
③ CadApp.newMatrix23( a00, a01, a02, a10, a11, a12 ) : Matrix23

引数
obj : Matrix23
Matrix23オブジェクト
a00 : Number
(0,0)成分の値
a01 : Number
(0,1)成分の値
a02 : Number
(0,2)成分の値
a10 : Number
(1,0)成分の値
a11 : Number
(1,1)成分の値
a12 : Number
(1,2)成分の値
返値
Matrix23オブジェクトを返します。

FakeMode 関数

仮縮尺・実縮尺モードの切り替え

CadApp.FakeMode( [mode] ) : Boolean

引数
mode : Boolean
mode:trueなら、仮縮尺モードに切り替える。
mode:falseなら、実縮尺モードに切り替える。
mode:引数なしなら、モードの切り替えなし。
返値
呼び出し前の仮・実縮尺モードを返します。
trueが返された場合、仮縮尺モードであった。
falseが返された場合、実縮尺モードであった。

Maybe_F2R, _F2R 関数

仮縮尺での長さを実縮尺での長さに変換

CadApp.Maybe_F2R( fakeLen, [realScale] ) : Number
CadApp._F2R( fakeLen, [realScale] ) : Number

引数
fakeLen : Number
仮縮尺での長さ。
realScale : Number
この実縮尺で長さを計算する。
realScale≦0または引数を省略した場合、アクティブModelのフォーカス座標系の縮尺を実縮尺として計算する。
返値
仮縮尺モードの場合、fakeLen*仮縮尺/実縮尺を計算して 実縮尺での長さに変換した値を返します。(fakeLen*仮縮尺は図面上の長さ)
実縮尺モードの場合、fakeLenをそのまま返します。

Maybe_R2F, _R2F 関数

実縮尺での長さを仮縮尺での長さに変換

CadApp.Maybe_R2F( realLen, [realScale] ) : Number
CadApp._R2F( realLen, [realScale] ) : Number

引数
realLen : Number
実縮尺での長さ。
realScale : Number
この実縮尺で仮縮尺での長さを計算する。
realScale≦0または引数を省略した場合、アクティブModelのフォーカス座標系の縮尺を実縮尺として計算する。
返値
仮縮尺モードの場合、realLen*縮尺/仮縮尺を計算して 仮縮尺での長さに変換した値を返します。(realLen*実縮尺は図面上の長さ)
実縮尺モードの場合、realLenをそのまま返します。

InpINFOクラス

ユーザーが入力した情報を扱うクラスです。
説明中に出てくる"inpinfo"はInpINFOクラスのオブジェクトです。

f プロパティ

ユーザー入力情報の種類

inpinfo.f : RequestAns=Integer

解説
ansBACKRECT	: バック矩形領域
ansDRAGDROP	: Drag&Drop
ansMSCLIK	: 自由点指示
ansPICKENTY	: 要素ピックアップ
ansSPKEY	: 特殊キー
ansVIEWRECT	: 作業Window矩形領域
ansYESNO	: YES/NO
0以上の整数	: CadApp.SetInpWin関数で要求した入力情報の種類

Model プロパティ

Modelオブジェクト(=Workwin.Model)

inpinfo.Model : Model

解説
図面をクリックした際にModelオブジェクトを返します。

inpwinF プロパティ

入力Windowからの入力種類

inpinfo.inpwinF : String

解説
CadApp.SetInpWin関数へ渡される引数内の簡易言語部分{...}の最初の文字を返します。

bUseVar プロパティ

数値式・文字列式の中に変数が使用されているか

inpinfo.bUseVar : Boolean

解説
数値式・文字列式の中に変数が使用されている場合trueを、そうでない場合falseを返します。

n プロパティ

入力された整数

inpinfo.n : Integer

解説
入力された整数を返します。

value プロパティ

入力された実数値

inpinfo.value : Number

解説
入力された実数値を返します。

c プロパティ

入力文字列の最初の文字

inpinfo.c : String

解説
入力文字列の最初の文字を返します。

InpStr プロパティ

入力された文字列そのもの

inpinfo.InpStr : String

解説
入力された文字列そのものを返します。

str プロパティ

文字列式を解釈した後の文字列

inpinfo.str : String

解説
文字列式を解釈した後の文字列を返します。

spKey プロパティ

特殊キー

inpinfo.spKey : SpkeyAns=Integer

解説
spkeyESC		: ESC
spkeyTAB		: TAB
spkeyControlTAB	: Control + TAB
spkeyShiftTAB	: Shift + TAB

xbk1 プロパティ

作業Windowの矩形領域の頂点1 X座標(クライアント座標)

inpinfo.xbk1 : Integer

解説
作業Windowの矩形領域の頂点1 X座標(クライアント座標)を返します。

ybk1 プロパティ

作業Windowの矩形領域の頂点1 Y座標(クライアント座標)

inpinfo.ybk1 : Integer

解説
作業Windowの矩形領域の頂点1 Y座標(クライアント座標)を返します。

xbk2 プロパティ

作業Windowの矩形領域の頂点2 X座標(クライアント座標)

inpinfo.xbk2 : Integer

解説
作業Windowの矩形領域の頂点2 X座標(クライアント座標)を返します。

ybk2 プロパティ

作業Windowの矩形領域の頂点2 Y座標(クライアント座標)

inpinfo.ybk2 : Integer

解説
作業Windowの矩形領域の頂点2 Y座標(クライアント座標)を返します。

fwKey プロパティ

修飾キー・マウスの情報

inpinfo.fwKey : KeyMsk=Integer

解説
keymskLBtn	: 左マウスボタンが押されています。
keymskMBtn	: 中マウスボタンが押されています。
keymskRBtn	: 右マウスボタンが押されています。
keymskShift	: Shiftキーが押されています。
keymskCtrl	: Ctrlキーが押されています。

hWnd プロパティ

作業Windowハンドル(=Workwin.hWnd)

inpinfo.hWnd : Integer

解説
作業Windowハンドル(=Workwin.hWnd)を返します。

Workwin プロパティ

作業Windowオブジェクト

inpinfo.Workwin : Workwin

解説
作業Windowオブジェクトを返します。

xs プロパティ

作業Window内のX座標(クライアント座標)

inpinfo.xs : Integer

解説
作業Window内のX座標(クライアント座標)を返します。

ys プロパティ

作業Window内のY座標(クライアント座標)

inpinfo.ys : Integer

解説
作業Window内のY座標(クライアント座標)を返します。

xd プロパティ

図面でのX座標(修正あり)

inpinfo.xd : Number

解説
図面でのX座標(修正あり)を返します。

yd プロパティ

図面でのY座標(修正あり)

inpinfo.yd : Number

解説
図面でのY座標(修正あり)を返します。

xd_ プロパティ

図面でのX座標(修正なし)

inpinfo.xd_ : Number

解説
図面でのX座標(修正なし)を返します。

yd_ プロパティ

図面でのY座標(修正なし)

inpinfo.yd_ : Number

解説
図面でのY座標(修正なし)を返します。

hMap プロパティ

座標系ハンドル

inpinfo.hMap : HMap=Integer

解説
座標系ハンドルを返します。

Ptc プロパティ

hMap座標系での座標(修正あり)

inpinfo.Ptc : Entity

解説
hMap座標系での座標(修正あり)を返します。

Ptc_ プロパティ

hMap座標系での座標(修正なし)

inpinfo.Ptc_ : Entity

解説
hMap座標系での座標(修正なし)を返します。

hType プロパティ

ピックアップされた要素のタイプ

inpinfo.hType : HType=Integer

解説
ピックアップされた要素のタイプを返します。

PickT プロパティ

要素に対するピックアップ位置比(0.0:始点、1.0:終点)

inpinfo.PickT : Number

解説
要素に対するピックアップ位置比(0.0:始点、1.0:終点)を返します。

henty プロパティ

ピックアップされた要素のハンドル

inpinfo.henty : HEnty=Integer

解説
ピックアップされた要素のハンドルを返します。

Enty プロパティ

ピックアップ要素

inpinfo.Enty : Entity

解説
ピックアップ要素を返します。

hEnty0 プロパティ

点のハンドル

inpinfo.hEnty0 : HEnty=Integer

解説
点のハンドルを返します。

DefNo プロパティ

要素の端点番号(0~)

inpinfo.DefNo : Integer

解説
要素の端点番号(0~)を返します。

hMap0 プロパティ

点の座標系ハンドル

inpinfo.hMap0 : HMap=Integer

解説
点の座標系ハンドルを返します。

Dist0 プロパティ

マウス位置とピックアップして点との図面上距離

inpinfo.Dist0 : Number

解説
マウス位置とピックアップして点との図面上距離を返します。

hEnty1 プロパティ

一番目に近い要素のハンドル

inpinfo.hEnty1 : HEnty=Integer

解説
一番目に近い要素のハンドルを返します。

hMap1 プロパティ

一番目に近い要素を表示している座標系ハンドル

inpinfo.hMap1 : HMap=Integer

解説
一番目に近い要素を表示している座標系ハンドルを返します。

Dist1 プロパティ

一番目に近い要素とマウス位置との図面上距離

inpinfo.Dist1 : Number

解説
一番目に近い要素とマウス位置との図面上距離を返します。

hEnty2 プロパティ

二番目に近い要素のハンドル

inpinfo.hEnty2 : HEnty=Integer

解説
二番目に近い要素のハンドルを返します。

hMap2 プロパティ

二番目に近い要素を表示している座標系ハンドル

inpinfo.hMap2 : HMap=Integer

解説
二番目に近い要素を表示している座標系ハンドルを返します。

Dist2 プロパティ

二番目に近い要素とマウス位置との図面上距離

inpinfo.Dist2 : Number

解説
二番目に近い要素とマウス位置との図面上距離を返します。

xc プロパティ

hMap座標系でのX座標(修正あり)

inpinfo.xc : Number

解説
hMap座標系でのX座標(修正あり)を返します。

yc プロパティ

hMap座標系でのY座標(修正あり)

inpinfo.yc : Number

解説
hMap座標系でのY座標(修正あり)を返します。

xc_ プロパティ

hMap座標系でのX座標(修正なし)

inpinfo.xc_ : Number

解説
hMap座標系でのX座標(修正なし)を返します。

yc_ プロパティ

hMap座標系でのY座標(修正なし)

inpinfo.yc_ : Number

解説
hMap座標系でのY座標(修正なし)を返します。

InpINFO コンストラクター

InpINFOオブジェクトを作成

new InpINFO( ) : InpINFO

引数
なし
返値
InpINFOオブジェクトを返します。
解説
InpINFOオブジェクトを作成して返します。
作成できない場合、例外を発生します。

EntityHeadクラス

図面へ登録されている図形要素はすべて属性を持っています。この属性を扱うためのクラスです。
属性の種類(要素タイプ、画層、カラー、線種、テキストフォント、カラー予備)
説明中に出てくる"entityhead"はEntityHeadクラスのオブジェクトです。

hColor プロパティ

カラーハンドル

entityhead.hColor : HColor=Integer

解説
hcolorBLACK	= 1  : 黒
hcolorRED		= 2  : 赤
hcolorGREEN	= 3  : 緑
hcolorYELLOW	= 4  : 黄
hcolorBLUE	= 5  : 青
hcolorVIOLET	= 6  : 紫
hcolorSKYBLUE	= 7  : 水色
hcolorWHITE	= 8  : 白
hcolorMAX		= 16 : 最大カラー数

hColor2 プロパティ

寸法文字のカラーハンドル

entityhead.hColor2 : HColor=Integer

解説
hcolorBLACK	= 1  : 黒
hcolorRED		= 2  : 赤
hcolorGREEN	= 3  : 緑
hcolorYELLOW	= 4  : 黄
hcolorBLUE	= 5  : 青
hcolorVIOLET	= 6  : 紫
hcolorSKYBLUE	= 7  : 水色
hcolorWHITE	= 8  : 白
hcolorMAX		= 16 : 最大カラー数

hLayer プロパティ

画層ハンドル

entityhead.hLayer : HLayer=Integer

解説
hlayerNULL	= 1  : NULL画層

hLStyle プロパティ

線種ハンドル

entityhead.hLStyle : HLStyle=Integer

解説
hlstyleSOLID	= 1  : 実線
hlstyleDOT	= 2  : 点線
hlstyleDASH	= 3  : 破線(1)
hlstyleDOT1DOT	= 4  : 一点鎖線(1)
hlstyleDOT2DOT	= 5  : 二点鎖線(1)
hlstyleDASH_	= 6  : 破線(2)
hlstyleDOT1DOT_	= 7  : 一点鎖線(2)
hlstyleDOT2DOT_	= 8  : 二点鎖線(2)
hlstyleMAX	= 8  : 最大線種数

hTFont プロパティ

テキストフォントハンドル

entityhead.hTFont : HTFont=Integer

解説
htfontSTANDARD	= 1  : デフォルトフォント
htfontSTANDARD2	= 2  : デフォルトフォント2

hType プロパティ

要素タイプハンドル

entityhead.hType : HType=Integer

解説
htypePoint2	= 1  : 点
htypeLine2		= 2  : 直線
htypeCircle2	= 3  : 円(弧)
htypeEllipse2	= 4  : 楕円(弧)
htypeCurve2	= 5  : 曲線
htypeText2	= 6  : 記事
htypeDim2		= 7  : 寸法

EntityHead コンストラクター

EntityHeadオブジェクトを作成

new EntityHead( ) : EntityHead

引数
なし
返値
EntityHeadオブジェクトを返します。
解説
EntityHeadオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

entityhead.clone( ) : EntityHead

引数
なし
返値
EntityHeadオブジェクトを返します。
解説
自身のコピーを作成し返します。
var ehead1 = new EntityHead(), ehead2 = new EntityHead();
 :
ehead1 = ehead2.clone();

Entityクラス

基本図形要素を扱うためのクラスです。
要素タイプにとらわれることなく修正、高度な幾何計算や属性値の取得などが行えます。
説明中に出てくる"entity"はEntityクラスのオブジェクトです。

x, y, x1, y1, x2, y2, r, sa, da, ra, rb, tna プロパティ

要素の値

entity.x, enty.y, enty.x1, enty.y1, enty.x2, enty.y2, enty.r, enty.sa, enty.da, enty.ra, enty.rb, enty.tna : Number

解説
Entityオブジェクトの要素タイプによって動的に意味が変化します。
    点の場合	・・・座標(x,y)
    直線の場合	・・・始点座標(x1,y1)、終点座標(x2,y2)
    円の場合	・・・中心座標(x,y)、半径r、開始角sa、変位角da
    楕円の場合	・・・中心座標(x,y)、長軸半径ra、短軸半径rb、軸傾き角tna、開始角sa、変位角da
    その他の場合	・・・x,y,x1,y1,x2,y2,r,sa,da,ra,rb,tnaはすべて意味を持ちません

hType プロパティ

要素のタイプ

entity.hType : HType=Integer [ReadOnly]

解説
要素のタイプハンドルを返します。

minorType プロパティ

自由曲線や寸法の種類

entity.minorType : CurveForm, Dim2Type=Integer [ReadOnly]

解説
●要素タイプが自由曲線の場合
    curveformBSPL		= 1  : B-スプライン(3次)
    curveformCSPL		= 2  : C-スプライン(3次)
●要素タイプが寸法の場合
    dim2typeNORMAL		= 1  : 水平・垂直・平行寸法
    dim2typeDIAMETER	= 2  : 直径寸法
    dim2typeRADIUS		= 3  : 半径寸法
    dim2typeANGLE		= 4  : 角度寸法
    dim2typeCSNP		= 6  : C寸法
    dim2typeNOTE		= 7  : 引き出し線・注釈
    dim2typeARCLEN		= 8  : 弧長寸法
    dim2typeBALLON		= 11 : バルーン
●要素タイプが自由曲線や寸法以外である場合、0です。

textstr プロパティ

記事または寸法の場合、その中の文字列

entity.textstr : String [ReadOnly]

解説
Entityオブジェクトの中身が記事または寸法の場合、その中の文字列を返します。

Afine 関数

アフィン変換

entity.Afine( af, [TextScalar=0] ) : Boolean

引数
af : Matrix23
アフィン行列
TextScalar : Number
記事倍率
返値
成否を返します。
解説
アフィン行列afを使用したアフィン変換は次の式です。
    (x,y) →アフィン変換→ (X,Y)


<点対称>

<線対称>

<移動>

<回転>

<拡大/縮小>


TextScalarは文字の大きさ変換をコントロールします。
    TextScalar>0の場合、文字の大きさをTextScalar倍します。
    TextScalar≦0の場合、現寸大文字の大きさはアフィン行列afに従い、図面大文字や寸法の大きさは変化させません。

Area 関数

面積を求める

entity.Area( [T1=0.0], [T2=1.0] ) : Number

引数
T1 : Number
計測開始位置パラメータ
T2 : Number
計測終了位置パラメータ
返値
面積を返します。
解説
Entityオブジェクトの始点0と終点1を基準にしたときの位置をパラメータに与えます。
原点からT1、T2を直線で結んできた内側領域(斜線部分)の面積を求め、T1からT2へ進んだときに、
内側領域が左側であれば+(プラス)、右側であれば-(マイナス)の符号を持ちます。
var s;
var e1 = new Entity(), e2 = new Entity(), e3 = new Entity();
e1.Set( 50.0, 50.0, 100.0, 50.0 );
e2.Set( 100.0, 50.0, 75.0, 100.0 );
e3.Set( 75.0, 100.0, 50.0, 50.0 );
s = e1.Area() + e2.Area() + e3.Area();	//sは三角形の面積

CenterG 関数

要素の重心を求める

entity.CenterG( [T1=0.0], [T2=1.0] ) : Entity

引数
T1 : Number
計測開始位置パラメータ
T2 : Number
計測終了位置パラメータ
返値
面積の重心をEntityオブジェクトで返します。
解説
Entityオブジェクトの始点0と終点1を基準にしたときの位置をパラメータに与えます。
var s;
var e1 = new Entity(), e2 = new Entity(), e3 = new Entity();
var ptg = new Entity();
e1.Set( 50.0, 50.0, 100.0, 50.0 );
e2.Set( 100.0, 50.0, 75.0, 100.0 );
e3.Set( 75.0, 100.0, 50.0, 50.0 );
s = abs( e1.Area() + e2.Area() + e3.Area() );	//sは三角形の面積
ptg = e1.CenterG();
ptg = e2.CenterG();
ptg = e3.CenterG();
alert( (ptg.x/s) + " , " + (ptg.y/s) );	//重心座標

ChangeSave 関数

要素を変更登録

entity.ChangeSave( m, henty, [bDraw=true] ) : HEnty=Integer
entity.ChangeSave( m, henty, [entyhead=NULL], [bDraw=true] ) : HEnty=Integer

引数
m : Model
変更登録するModelオブジェクト
henty : HEnty=Integer
要素ハンドル
entyhead : EntityHead
要素属性
bDraw : Boolean
描画フラグ
返値
要素ハンドルを返します。
解説
entyhead=NULLの場合、要素ハンドルが持つ属性になります。
bDraw=trueであれば登録時に再描画します。

Check 関数

要素に矛盾した値が入っていないか調べる

entity.Check( ) : Boolean

引数
なし
返値
成否を返します。
解説
Entityオブジェクトに矛盾した値が入っていなければtrueを、入っていればfalseを返します。

Cut 関数

要素を部分的に取り出す

entity.Cut( T1, T2 ) : Entity

引数
T1 : Number
切断開始位置パラメータ
T2 : Number
切断終了位置パラメータ
返値
Entityオブジェクトを返します。
解説
Entityオブジェクトの始点0と終点1を基準にしたときの位置をパラメータに与えます。

Edge 関数

要素の両端点を取得する

entity.Edge( ) : Array

引数
なし
返値
両端点を配列で返します。
解説
結果は配列[ pe1, pe2 ]に格納されます。pe1、pe2はそれぞれEntityオブジェクトです。
失敗したらundefindを返します。

GetPtAlong 関数

線沿い点の位置を求める

entity.GetPtAlong( T, sDir, L ) : Number

引数
T : Number
基準位置パラメータ
sDir : Integer
方向
L : Number
長さ
返値
位置パラメータを返します。
解説
基準位置から指定長さはなれた要素上の位置を求めます。
失敗したらundefindを返します。

GetRectDomain 関数

要素を囲む矩形領域を求める

entity.GetRectDomain( [map2=NULL], [IsGetPsize=false] ) : Array

引数
map2 : Map2
対象オブジェクトの座標系オブジェクト
IsGetPsize : Boolean
点取得モード
返値
矩形領域を配列で返します。
解説
要素を囲む矩形領域を配列[ Xmin, Ymin, Xmax, Ymax ]で返します。
引数map2は、対象オブジェクトが図面大文字か寸法である場合に必要です。またIsGetPsizeがtrueである場合にも必要です。
引数IsGetPsizeは、trueの場合、図面上での点を取得し、falseの場合、モデル上での点を取得します。
失敗したらundefindを返します。

GetRelatePoint 関数

要素との位置関係から点を求める

entity.GetRelatePoint( pt ) : Entity

引数
pt : Entity | Point2
点要素オブジェクト(位置比)
返値
Entityオブジェクトを返します。
解説
Entityオブジェクトの始点0と終点1を基準にしたとき位置比から点を求める。
Entityオブジェクトが直線、円、楕円要素なら位置比の点がセットされ、Entityオブジェクトが
曲線なら位置比が0.0から1.0の範囲にあれば位置比の点をセットします。
失敗したらundefindを返します。

GetRelatePos 関数

要素との位置関係から点を求める

entity.GetRelatePoint( pt ) : Entity

引数
pt : Entity | Point2
点要素オブジェクト(位置比)
返値
Entityオブジェクトを返します。
解説
Entityオブジェクトの始点0と終点1を基準にしたときの点の位置を比で求める。
Entityオブジェクトを延長し(自由曲線は延長できない)、点ptからそのEntityオブジェクトへ垂線を下ろし
Entityオブジェクトの始点を0、終点1としたときの比をpxh、その垂点位置での接線を反時計回りに90°回転した
直線上の位置比をpyhとし、点要素(pxh,pyh)として返します。
失敗したらundefindを返します。

IsClose 関数

円・楕円・自由曲線が閉じているかどうかを調べる

entity.IsClose( ) : Boolean

引数
なし
返値
閉じているかを返します。
解説
Entityオブジェクトが無限要素の場合にもtrueを返すので注意してください。
IsOpen関数の否定と同じです。

IsEqual 関数

同一要素かどうかを調べる

entity.IsEqual( enty ) : Boolean

引数
enty : Entity
比較用要素
返値
等しいかを返します。
解説
比較用要素(enty)と等しければtrue、そうでなければfalseを返します。

IsFinite 関数

有限要素かどうかを調べる

entity.IsFinite( ) : Boolean

引数
なし
返値
有限要素かを返します。
解説
Entityオブジェクトが有限要素であればtrue、そうでなければfalseを返します。
IsInfinite関数の否定と同じです。

IsInDomain 関数

多角形領域に入るかどうかを調べる

entity.IsInDomain( n, pk, [map2=NULL] ) : Boolean
entity.IsInDomain( n, xk, yk, [map2=NULL] ) : Boolean

引数
n : Integer
モードフラグ
pk : ArrayPoint2
点要素配列
xk, yk : Array
X、Y座標配列
map2 : Map2
対象オブジェクトの座標系オブジェクト
返値
入るかを返します。
解説
true  : 引数の領域内に入るまたは交差する
false : 引数の領域内に入らないまたは交差しない

n == 1 : 直線(xk[0],yk[0])-(xk[1],yk[1])と交差するかどうか
n == 2 : 矩形領域(xk[0],yk[0])-(xk[1],yk[1])と交差するかどうか
n ≧ 3 : 多角形領域(xk[i],yk[i]) i=0~n xk[0]==xk[n],yk[0]==yk[n]にすっぽり入るかどうか

引数map2は、対象オブジェクトが図面大文字か寸法である場合に必要です。NULLの場合はSetEnviro関数で設定したものが適用されます。

IsInfinite 関数

無限要素かどうかを調べる

entity.IsInfinite( ) : Boolean

引数
なし
返値
無限要素かを返します。
解説
Entityオブジェクトが無限要素であればtrue、そうでなければfalseを返します。
IsFinite関数の否定と同じです。

IsNotEqual 関数

同一要素でないかどうかを調べる

entity.IsNotEqual( enty ) : Boolean

引数
enty : Entity
比較用要素
返値
等しくないかを返します。
解説
比較用要素(enty)と等しければtrue、そうでなければfalseを返します。

IsOpen 関数

円・楕円・自由曲線が開いているかどうかを調べる

entity.IsOpen( ) : Boolean

引数
なし
返値
開いているかを返します。
解説
IsClose関数の否定と同じです。

Length 関数

要素の長さを求める

entity.Length( [T1=0.0], [T2=1.0] ) : Number

引数
T1 : Number
計測開始位置パラメータ
T2 : Number
計測終了位置パラメータ
返値
長さを返します。
解説
Entityオブジェクトの始点0と終点1を基準にしたときの位置をパラメータに与えます。

ModifyEnd 関数

要素の端点を変更する

entity.ModifyEnd( whichend, pt ) : Boolean

引数
whichend : EntitySTRETCH=Integer
モード
pt : Entity | Point2
点要素オブジェクト
返値
成否を返します。
解説
モード(whichend)の指定
    entitySTRETCH_END1 = 0  : 始点側
    entitySTRETCH_END2 = 1  : 終点側

Move 関数

要素の移動する

entity.Move( pt ) : Boolean

引数
pt : Entity | Point2
点要素オブジェクト(X、Y軸方向の移動量)
返値
成否を返します。
解説
要素を相対移動します。

NewSave 関数

要素を新規登録

entity.NewSave( m, [bDraw=true] ) : HEnty=Integer
entity.NewSave( m, [entyhead=NULL], [bDraw=true] ) : HEnty=Integer

引数
m : Model
Modelオブジェクト
entyhead : EntityHead
要素属性
bDraw : Boolean
描画フラグ
返値
要素ハンドルを返します。
解説
bDraw=trueであれば登録時に描画します。
var m = CadApp.CreateModel("ABC.ftr");
var e = new Entity();
  :
e.Set( 0.0, 0.0, 100.0, 100.0 );
e.NewSave( m );

Normalize 関数

要素の向きを正規化する

entity.Normalize( )

引数
なし
返値
なし
解説
直線は傾き-45度以上135度未満、円・楕円は反時計回りを正規な方向とします。

Offset 関数

要素をオフセットする

entity.Offset( L, [Nsep=100] ) : Boolean

引数
L : Number
オフセット量
Nsep : Integer
曲線分割数
返値
成否を返します。
解説
Lが正の場合Entityオブジェクトの始点から終点に向かって左側の領域にLほどオフセットします。
負の場合は逆になります。

pointON 関数

要素上の点を取得する

entity.pointON( n ) : Entity
entity.pointON( T ) : Entity

引数
n : Integer
定義点番号
T : Number
0.0を始点、1.0を終点とする位置パラメータ
返値
点要素オブジェクトを返します。
解説
●定義点番号を指定する場合
    nで指定した定義点番号のx、y座標を求めます。
    
●位置パラメータを指定する場合 <点の場合> 全ての値tに対して、点と同じ座標となる <直線の場合> tに対する直線上の点座標は ( x2+t*(x2-x1), y2+t*(y2-y1) ) となる(tに制限はなし) <円(弧)の場合> tに対する円周上の点座標は ( x+r*cos(sa+t*da), y+r*sin(sa+t*da) ) となる(tに制限はなし) <楕円(弧)の場合> tに対する楕円上の点座標は xmt = ra*cos(sa+t*da) ymt = rb*sin(sa+t*da) co = cos(tna) si = sin(tna) ( co*xmt-si*ymt, si*xmt+co*ymt ) となる(tに制限はなし) <自由曲線の場合> tに対する曲線上の点座標は図のようにt=0.0,1/(N-1),2/(N-1),・・・,1.0となり その中間点はi/(N-1)≦t≦(i+1)/(N-1)となるiとt=(t-i/(N-1))*(N-1)を求めて 計算式で曲線上の点座標が求められます。 <記事の場合> 全ての値tに対して記事基準点と同じ座標となる

qON 関数

点が要素上にあるか調べる

entity.qON( pt, [check=false] ) : Boolean

引数
pt : Entity | Point2
点要素オブジェクト
check : Boolean
チェックモード
返値
点があるかどうかを返します。
解説
check=trueを指示した場合は要素上にあることのみを調べ、check=falseを指示した場合は要素の延長上にあることも調べます。

ReverseDir 関数

要素の向きを逆にする

entity.ReverseDir( ) : Boolean

引数
なし
返値
成否を返します。
解説
向きを持たない要素に対してはfalseを返します。

Rotate 関数

要素を回転する

entity.Rotate( pt, ang ) : Boolean

引数
pt : Entity | Point2
点要素オブジェクト
ang : Number
回転角
返値
成否を返します。

Set 関数

Entityオブジェクトを作成

entity.Set( args... ) : Boolean

引数
args... : Number | String | Object
要素を構成するデータ
返値
成否を返します。

SetEnviro 関数

表示される座標系を設定

entity.SetEnviro( pcmap )

引数
pcmap : Map2
座標系オブジェクト
返値
なし
解説
pointON関数、IsInDomain関数、GetRectDomain関数で表示される座標系が指定されていない場合、
SetEnviroで指定された表示座標系を利用します。

signDomain 関数

ある点から見た要素の向きを調べる

entity.signDomain( pt )

引数
pt : Entity | Point2
点要素オブジェクト
返値
向きを返します
解説
Entityオブジェクトの始点から終点に向かって進むとき
引数で与えられた点が左側にあれば+1.0、右側にあれば-1.0を返します。

Stretch 関数

要素の端を伸縮する

entity.Stretch( [whichend=-1], [L=0.0] )

引数
whichend : EntitySTRETCH=Integer
端点モード
L : Number
伸縮量
返値
成否を返します
解説
entitySTRETCH_INFINITE	= -1  : 無限に伸ばす
entitySTRETCH_END1	= 0  : 始点側を伸縮
entitySTRETCH_END2	= 1  : 終点側を伸縮
entitySTRETCH_BOTHENDS	= 2  : 両端を伸縮

TAN 関数

要素上の接線ベクトルを求める

entity.TAN( T )

引数
T : Number
位置パラメータ
返値
Entityオブジェクトを返します
解説
指示位置の接線ベクトルを求めます。
直線に対してはどの位置でも同じ接線ベクトルになります。
記事に対しては文字の方向が接線ベクトル(cosθ、sinθ)として得られます。

Entity コンストラクター

Entityオブジェクトを作成

new Entity( args... ) : Entity

引数
args... : Number | String | Object
要素を構成するデータ
返値
Entityオブジェクトを返します。
解説
Entityオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

entity.clone( ) : Entity

引数
なし
返値
Entityオブジェクトを返します。
解説
自身のコピーを作成し返します。
var e1 = new Entity(), e2 = new Entity();
 :
e1 = e2.clone();

Map2クラス

2次元座標系を操作するクラスです。
説明中に出てくる"map2"はMap2クラスのオブジェクトです。

name プロパティ

座標系名

map2.name : String

解説
座標系名は座標系矢印の下側に描画されます。

bShow プロパティ

座標系表示/非表示フラグ

map2.bShow : Boolean

解説
trueならその座標系で表示画層である要素が表示されます。falseなら要素、座標系矢印や座標系枠すべて表示されません。

hStart プロパティ

座標系固有のスタート画層ハンドル

map2.hStart : HLayer=Integer [ReadOnly]

解説
座標系固有のスタート画層ハンドルを返します。

Nlayer プロパティ

座標系の固有画層数

map2.Nlayer : Integer [ReadOnly]

解説
連続なハンドル hStart, hStart+1, ・・・ , hStart+(Nlayer-1)がこの座標系の固有画層ハンドルです。
固有画層の数は CadApp.CreateModel(..,Nlayer) の最後の引数で決まります。

hCurrent プロパティ

フォーカス座標系のカレント画層

map2.hCurrent : HLayer=Integer

解説
この座標系で表示・参照される画層がカレント画層にできます。

xpbase プロパティ

モデル空間上の点(xb,yb)に対応するペーパー空間上の点 X座標

map2.xpbase : Number

解説
モデル空間上の点(xb,yb)に対応するペーパー空間上の点 X座標を設定/取得できます。

ypbase プロパティ

モデル空間上の点(xb,yb)に対応するペーパー空間上の点 Y座標

map2.ypbase : Number

解説
モデル空間上の点(xb,yb)に対応するペーパー空間上の点 Y座標を設定/取得できます。

xb プロパティ

ペーパー空間上の点(xpbase,ypbase)に対応するモデル空間上の点 X座標

map2.xb : Number

解説
ペーパー空間上の点(xpbase,ypbase)に対応するモデル空間上の点 X座標を設定/取得できます。

yb プロパティ

ペーパー空間上の点(xpbase,ypbase)に対応するモデル空間上の点 Y座標

map2.yb : Number

解説
ペーパー空間上の点(xpbase,ypbase)に対応するモデル空間上の点 Y座標を設定/取得できます。

xpdom1 プロパティ

ペーパー空間上の座標系領域の左下X座標

map2.xpdom1 : Number

解説
ペーパー空間上の座標系領域の左下X座標を設定/取得できます。

ypdom1 プロパティ

ペーパー空間上の座標系領域の左下Y座標

map2.ypdom1 : Number

解説
ペーパー空間上の座標系領域の左下Y座標を設定/取得できます。

xpdom2 プロパティ

ペーパー空間上の座標系領域の右上X座標

map2.xpdom2 : Number

解説
ペーパー空間上の座標系領域の右上X座標を設定/取得できます。

ypdom2 プロパティ

ペーパー空間上の座標系領域の右上Y座標

map2.ypdom2 : Number

解説
ペーパー空間上の座標系領域の右上Y座標を設定/取得できます。

bNonBound プロパティ

座標系領域を効かせるかどうかのフラグ

map2.bNonBound : Boolean

解説
ペーパー空間内の座標系領域(xpdom1、ypdom1)-(xpdom2,ypdom2)の境界を越えて表示するかどうかを決めます。
trueなら境界を越えて表示します。falseなら境界を越えた部分も表示します。

xsymbol プロパティ

ペーパー空間上の座標系矢印表示位置X座標

map2.xsymbol : Number

解説
座標系矢印位置はペーパー空間内の座標系領域(xpdom1、ypdom1)-(xpdom2,ypdom2)内になければいけません。

ysymbol プロパティ

ペーパー空間上の座標系矢印表示位置Y座標

map2.ysymbol : Number

解説
座標系矢印位置はペーパー空間内の座標系領域(xpdom1、ypdom1)-(xpdom2,ypdom2)内になければいけません。

rotate プロパティ

座標系の傾き角

map2.rotate : Number

解説
角度はラジアンで与えます。

xscale プロパティ

座標系領域のX軸方向の縮尺

map2.xscale : Number

解説
座標系領域のX軸方向の縮尺を設定/取得します。

yscale プロパティ

座標系領域のY軸方向の縮尺

map2.yscale : Number

解説
座標系領域のY軸方向の縮尺を設定/取得します。
yscale=0とするとxscale=yscaleと解釈されます。

m2p プロパティ

モデル座標からペーパー座標への変換行列

map2.m2p : Matrix23 [ReadOnly]

解説
モデル座標からペーパー座標への変換行列を返します。

p2m プロパティ

ペーパー座標からモデル座標への変換行列

map2.p2m : Matrix23 [ReadOnly]

解説
ペーパー座標からモデル座標への変換行列を返します。

maptype プロパティ

座標系タイプ

map2.maptype : MapType=Integer [ReadOnly]

解説
maptype2DIM	= 1  : 2次元座標系
maptype3DIM	= 2  : 3次元座標系

Map2 コンストラクター

Map2オブジェクトを作成

new Map2( ) : Map2

引数
なし
返値
Map2オブジェクトを返します。
解説
Map2オブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

map2.clone( ) : Map2

引数
なし
返値
Map2オブジェクトを返します。
解説
自身のコピーを作成し返します。
var mapobj1 = new Map2(), mapobj2 = new Map2();
 :
mapobj1 = mapobj2.clone();

CmdHelperオブジェクト

CmdHelperオブジェクトは、 CADコマンドのユーザー入力と計算処理のフローを補助する関数をまとめたオブジェクトです。
使用する関数、ラベルは次のように宣言しておくと使いやすくなります。

var {_CP, _LB, _Retry, _Prev, _Start, _Next, _Exit, _Quit} = CmdHelper;

_CP 関数

コマンドの処理(CommandProcess)にラベル付けし、処理間を移動しやすくする。

_CP(
Label,()=>{
・・・//コマンド処理1
},
Labe2,()=>{
・・・//コマンド処理1
},
・・・
()=>{
・・・//コマンド後始末
}
);


引数
Label,Label2,・・・ : Object
ジャンプ先ラベルを示すオブジェクト。
オブジェクトは_LB関数で作成されたものです。
      
()=>{ ・・・//コマンド処理} : Function
ラベル位置に対する処理を{・・・}内に処理プログラムを記述します。

returnなしでこの処理が終了した場合、
  次のラベルのコマンド処理が実行されます。
  もし、次のラベルがなければ_CP(...)を終了します。
return 値;でこの処理が終了した場合、
  _CP(...)関数が終了し、この値を返してきます。

他のラベルの処理にジャンプしたい場合、
  throw ラベル;
  でそのラベルの処理関数へジャンプ移動します。
()=>{ ・・・//コマンド後始末} : Function
このコマンド後始末は省略できます。
あれば、_CP(・・・・)内のコマンド処理関数を終了したり、ジャンプ以外の例外処理が起きた場合、
この後始末処理が実行されます。

注意としてコマンド後始末では、return文やthrow文を実行しないでください。
      
返値
コマンド処理部分で return 値; が実行されていれば、その値を返します。
コマンド処理部分で return文が実行されないで、終了した場合、null値を返します。
      
解説
コマンド処理内から他のコマンド処理にジャンプするためには、ジャンプ先のラベルをthrowすればよい。
        throw ジャンプ先ラベルオブジェクト;

先頭ラベルや処理中のコマンド処理先頭や次ラベルにジャンプする場合、
_CP(...)関数の引数ラベルでなくCmdHelperが準備したラベルオブジェクトをthrowすることで実現できます。
throw _Start;//_CP(...)の最初のコマンド処理へジャンプ
throw _Prev;//現処理中の前コマンド処理へジャンプ
throw _Retry;//現処理中のコマンド処理を再度先頭から処理
throw _Next;//現処理中の次コマンド処理へジャンプ
throw _Exit;//現実行中_CP(...)を終了し、null値を返す
throw _Quit;//ネストした_CP(...)をすべて終了し、null値を返す
  %
  //Declare
  var {reqMSCLIK, ansMSCLIK, reqPICKENTY, ansPICKENTY} = CadConst;
  var {reqSPKEY, ansSPKEY, spkeyESC} = CadConst;
  var {pickPOINT2} = CadConst;
  var {SetInpWin, RequestClick} = CadApp;
  
  
  //直線コマンド
  var m =null;
  var x1, y1, x2, y2;
  
  var Point1=_LB(), Point2=_LB(), SaveLine = _LB();  //ジャンプ先オブジェクトを作成
  _CP(

  Point1,()=>{
    m = null;
  
    SetInpWin("点1を指示");
  
    var info = RequestClick(reqMSCLIK|reqPICKENTY, m, pickPOINT2);
    if (info.f==ansMSCLIK || info.f==ansPICKENTY) {
      m = info.Model;
      x1 = info.xc; y1 = info.yc;
    }else{
      //その他はこのラベルの処理を再実行
      throw _Retry; //throw Point2; or throw _Start;
    }
    //throw _Next; or throw Point2;
  },
  
  Point2, ()=>{
    SetInpWin("点2を指示");
  
    var info = RequestClick(reqMSCLIK|reqPICKENTY|reqSPKEY, m, pickPOINT2);
    if (info.f==ansMSCLIK || info.f==ansPICKENTY) {
      x2 = info.xc; y2 = info.yc;
    }else if (info.f==ansSPKEY && info.n==spkeyESC) {
      throw _Prev;  //throw Point1; or throw _Start;
    }else{
      //その他はこのラベルの処理を再実行
      throw _Retry; //throw Point2; or throw _Start;
    }
    //throw _Next; or throw SaveLine;
  },
  
  SaveLine, ()=>{
    if (x1==x2 && y1==y2) {
      alert("点1と点2が一致して直線が作成できません!");
      throw _Start; //throw Point1;
    }
  
    var entyLine = new Entity(x1,y1,x2,y2);
    m.NewSave(entyLine);
    m.DelimitHistory();
    
    throw _Start; //throw Point1;  //throwしなければ、_CP(...)を終了
  }
  
  );
    

_LB 関数

_CP(...)関数内のジャンプ先オブジェクトを作成する。

var Label = _LB()


引数
なし
返値
ジャンプ先オブジェクトを返します。
返されたジャンプ先オブジェクトは変数にその値を設定し、_CP(...)関数のラベル引数にします。
      
解説
予約ラベルオブジェクト_Start, _Prev, _Retry, _Next, _Exit, _Quitはすべてこの_LB関数で作成されたものです。

_Start, _Prev, _Retry, _Next, _Exit, _Quit プロパティ

_CP(...)内のコマンド処理で指定場所へジャンプするための予約ラベルです。

throw _Start; //_CP(...)の最初のコマンド処理へジャンプ
throw _Prev; //現処理中の前コマンド処理へジャンプ
throw _Retry; //現処理中のコマンド処理を再度先頭から処理
throw _Next; //現処理中の次コマンド処理へジャンプ
throw _Exit; //現実行中_CP(...)を終了し、null値を返す
throw _Quit; //ネストした_CP(...)をすべて終了し、null値を返す

InpListクラス

入力Winの入力項目に入力値のリストや選択ボタンを設定できるようにするクラスですです。
InpListクラスは、InpWinオブジェクトのメンバーです。
このクラスを使うには、最初に次のスクリプトを実行してください。
var {InpList} = InpWin;

new InpList

InpListオブジェクト作成

new InpList(funcname, entry, [aininame]) : InpList
new InpList(termList, [funcname], [entry], [aininame]) : InpList

引数
funcname : String
ainiファイルのtag名(アルファベットと'_'で構成された文字列)
entry : String
ainiファイルのentry名
aininame : String
          ainiファイル名(拡張子を除いた名前)
省略された場合、"RunSVL"が引数値と解釈される。
termList : String
選択項目を'\n'で区切った文字列
返値
InpListオブジェクト
解説
        引数(funcname, entry, [aininame])であるとき、ainiファイルの[functname]entryに記述された値リストが入力Winの入力項目のプルダウンメニューで選べる。
        入力された値(文字列)は、ainiファイルの[functname]entryに記録される。
引数(termList, [funcname], [entry], [aininame])であるとき、termListの'\n'で区切った項目がボタン表示され、プルダウンメニューでその項目が選択できる。 選択された項目は、ainiファイルの[functname]entryにindexが記録される。

count プロパティ

入力値(文字列),選択項目の数

inplist.count : Integer

selectedItem プロパティ

選択された項目のindex

inplist.selectedItem : Integer

AddHead 関数

入力値リストの先頭に文字列を追加する。

inplist.AddHead( strValue )

引数
strValue : String
文字列値
解説
追加に成功したら、countプロパティ値が+1される。

AddTail 関数

入力値リストの後尾に文字列を追加する。

inplist.AddTail( strValue )

引数
strValue : String
文字列値
解説
追加に成功したら、countプロパティ値が+1される。

at 関数

入力値(文字列),選択項目を取得する。

inplist.at( index ) : String

引数
index : Integer
入力値(文字列),選択項目リストのindex
解説
index<0 または count<=indexなら、nullが返される。

bindInpID 関数

入力Winの入力項目IDとInpListオブジェクトをつなぐ。

inplist.bindInpID( id )

引数
id : Integer
入力項目ID
解説
つなぐと、このオブジェクトの内容が入力Winの操作に反映する。

SetSelectItem 関数

選択項目のindexを設定する。

inplist.SetSelectItem( index )

引数
index : Integer
選択したい項目のindex
解説
入力Winとつないでる入力項目のボタンの内容がそのindexに対する文字列が表示される。

DeleteItem 関数

入力値(文字列),選択項目リストの項目を削除する。

inplist.DeleteItem( index )

引数
index : Integer
削除したい項目のindex
解説
削除成功したら、countプロパティ値がー1される。

InpLClrクラス

入力Winの入力項目に色や線種を表示するボタンを扱うクラスですです。
InpLClrクラスは、InpWinオブジェクトのメンバーです。
このクラスを使うには、最初に次のスクリプトを実行してください。
var {InpLClr} = InpWin;

new InpList

InpLClrオブジェクト作成

new InpLClr(drawType, [hColor], [hLStyle]) : InpLClr

引数
drawType : Integer
0なら、CADが扱う色を表示するボタン
1なら、CADが扱う色と線種を表示するボタンコントロールを作成します。
返値
InpLClrオブジェクト

drawType プロパティ

ボタン表示タイプ

inplclr.drawType : Integer

解説
0なら、hColorプロパティの色を表示するボタン。
1なら、hColor,HLStyleプロパティの色と線種を表示するボタン。

hColor プロパティ

色ハンドル

inplclr.hColor : HColor

hLStyle プロパティ

線種ハンドル

inplclr.hLStyle : HLStyle

bindInpID 関数

入力Winの入力項目IDとInpLClrオブジェクトをつなぐ。

inplclr.bindInpID( id )

引数
id : Integer
入力項目ID
解説
つなぐと、このオブジェクトのプロパティ内容にしたがってボタンが表示される。

Modelクラス

プログラム内部では図面をModelクラスのオブジェクトとして扱います。
説明中に出てくる"model"はModelクラスのオブジェクトです。

bigcmnt プロパティ

大コメント

model.bigcmnt : String

解説
大コメントを設定/取得します。

CurrentLayer プロパティ

カレント画層ハンドル

model.CurrentLayer : HLayer=Integer

解説
カレント画層ハンドルを設定/取得します。

FocusMap プロパティ

フォーカス座標系ハンドル

model.FocusMap : HMap=Integer [ReadOnly]

解説
フォーカス座標系ハンドルを取得します。

LastHistory プロパティ

履歴の末尾のハンドル

model.LastHistory : HHistory=Integer [ReadOnly]

解説
履歴の末尾のハンドルを取得します。

MaxEnty プロパティ

最後に登録された要素ハンドル

model.MaxEnty : Integer [ReadOnly]

解説
最後に登録された要素ハンドルを取得します。

MaxLayer プロパティ

最後に登録された画層ハンドル

model.MaxLayer : HLayer=Integer [ReadOnly]

解説
最後に登録された画層ハンドルを取得します。

MaxMap プロパティ

最後に登録された座標系ハンドル

model.MaxMap : HMap=Integer [ReadOnly]

解説
最後に登録された座標系ハンドルを取得します。

name プロパティ

モデル名

model.name : String [ReadOnly]

解説
モデル名を取得します。

NMark プロパティ

印(マーク)の数

model.NMark : Integer [ReadOnly]

解説
印(マーク)の数を取得します。

smallcmnt プロパティ

小コメント

model.smallcmnt : String

解説
小コメントを設定/取得します。

WorkwinS プロパティ

作業ウィンドウ群

model.WorkwinS : WorkwinS [ReadOnly]

解説
作業ウィンドウ群を取得します。

cRefLayer 関数

画層に登録されている要素数

model.cRefLayer( hlayer ) : Integer

引数
hlayer : HLayer=Integer
画層ハンドル
返値
要素数を返します。
解説
画層(hlayer)に登録されている要素数を返します。

Entity 関数

要素オブジェクトを取得

model.Entity( henty ) : Entity

引数
henty : HEnty=Integer
要素ハンドル
返値
要素オブジェクトを返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素オブジェクトを返します。

EntityHead 関数

要素属性を取得

model.EntityHead( henty ) : EntityHead

引数
henty : HEnty=Integer
要素ハンドル
返値
要素属性オブジェクトを返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素属性オブジェクトを返します。

hColor 関数

要素の色を取得

model.hColor( henty ) : HColor=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
要素の色を返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素の色を返します。

hColor2 関数

要素の色を取得

model.hColor2( henty ) : HColor=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
要素の色2を返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素の色2を返します。

hLayer 関数

登録画層ハンドルを取得

model.hLayer( henty ) : HLayer=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
要素の登録画層ハンドルを返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素の登録画層ハンドルを返します。

hLStyle 関数

要素の線種を取得

model.hLStyle( henty ) : HLStyle=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
要素の線種を返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素の線種を返します。

hTFont 関数

要素のフォントを取得

model.hTFont( henty ) : HTFont=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
要素のフォントを返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素のフォントを返します。

hType 関数

要素のフォントを取得

model.hType( henty ) : HType=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
要素タイプを返します。
解説
Modelオブジェクトに登録されている要素ハンドル(henty)から要素タイプを返します。

layername 関数

画層名

model.layername( hlayer, [bHeadlessName=false] ) : String

引数
hlayer : HLayer=Integer
画層ハンドル
bHeadlessName : Boolean
true:固有画層については「M座標系番号-」部分を除いた名前を取得 false:正確なフルネームで取得
返値
画層名を返します。
解説
bHeadlessNameの値により、固有画層名が簡略名か正確な名前が取得できます。
bHeadlessName=falseである場合、hLayerの正確な画層名を取得できます。
bHeadlessName=trueである場合、hLayerが固有画層のハンドルである場合「M 座標系番号 - 名前」形式の文字列が正確な名前ですが、
「M 座標系番号 - 」部分を除いた名前を取得できます。
hLayerが固有画層でなければ、bHeadlessNameの値がfalse/trueどちらでも正確な画層名を取得します。

GetMapCurrentLayer 関数

座標系内カレント画層を取得

model.GetMapCurrentLayer( hMap ) : HLayer=Integer

引数
hMap : HMap=Integer
座標系ハンドル
返値
画層ハンドルを返します。
解説
指定座標系のカレント画層ハンドルを取得します。

SetMapCurrentLayer 関数

座標系内カレント画層を設定

model.SetMapCurrentLayer( hMap, hlayer )

引数
hMap : HMap=Integer
座標系ハンドル
hlayer : HLayer=Integer
画層ハンドル
返値
なし
解説
指定座標系のカレント画層を設定します。

MapLayer 関数

指定座標系の固有画層と表示される画層の配列

model.MapLayer( index, [hMap=0] ) : HLayer=Integer

引数
index : Integer
0から始まるインデックス
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
画層ハンドルを返します。
解説
hMap座標系の固有画層と表示される画層ハンドルを取得できます。

MapLayerindex 関数

MapLayer配列の逆配列

model.MapLayerindex( hlayer, [hMap=0] ) : Integer

引数
hlayer : HLayer=Integer
画層ハンドル
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
インデックスを返します。
解説
MapLayer(index,hMap)=hlayerとなるインデックスindexを取得します。
もしそのようなindexがなければ、MapLayerindex(hlayer)の値は-1となります。

MapLayerMaxindex 関数

MapLayer配列の最大インデックス値

model.MapLayerMaxindex( [hMap=0] ) : Integer

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
最大インデックスを返します。

mapname 関数

座標系名

model.mapname( [hMap=0] ) : String

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
座標系名を返します。
解説
指定座標系ハンドルの座標系名を取得します。

MapNLayer 関数

固有画層数

model.MapNLayer( hMap ) : Integer

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
固有画層数を返します。
解説
hMapが座標系ハンドル値であれば、その中の固有画層数を返します。
hMapが座標系ハンドルとして不適な値であったり、固有画層をもっていなければ0を返します。

MapObj 関数

座標系オブジェクトを取得

model.MapObj( [hMap=0] ) : Map2

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
固有画層数を返します。
解説
hMapが座標系ハンドル値であれば、Map2オブジェクトを返します。
失敗したらundefindを返します。

MapStartLayer 関数

最初の固有画層ハンドル

model.MapStartLayer( [hMap=0] ) : HLayer=Integer

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
固有画層ハンドルを返します。
解説
座標系内の固有画層ハンドルの値は、連続数になっています。
最初の固有画層ハンドルとその座標系内の固有画層の数が分かれば、固有画層のハンドルをすべて取得できます。
var m = CadApp.CreateModel("ABC.ftr");
var hMap, hLayer, hStart, Nlayer, i;
  :
hMap = ・・・;
hStart = m.MapStartLayer( hMap );
Nlayer = m.MapNLayer( hMap );
for( i=0; i

MapType 関数

座標系タイプを取得

model.MapType( [hMap=0] ) : MapType=Integer

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
座標系タイプを返します。
解説
maptype2DIM	= 1  : 2次元座標系
maptype3DIM	= 2  : 3次元座標系

minorType 関数

自由曲線や寸法の種類

model.minorType( henty ) : CurveForm, Dim2Type=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
自由曲線や寸法の種類を返します。
解説
●要素タイプが自由曲線の場合
    curveformBSPL		= 1  : B-スプライン(3次)
    curveformCSPL		= 2  : C-スプライン(3次)
●要素タイプが寸法の場合
    dim2typeNORMAL		= 1  : 水平・垂直・平行寸法
    dim2typeDIAMETER	= 2  : 直径寸法
    dim2typeRADIUS		= 3  : 半径寸法
    dim2typeANGLE		= 4  : 角度寸法
    dim2typeCSNP		= 6  : C寸法
    dim2typeNOTE		= 7  : 引き出し線・注釈
    dim2typeARCLEN		= 8  : 弧長寸法
    dim2typeBALLON		= 11 : バルーン
●要素タイプが自由曲線や寸法以外である場合、0です。

Size 関数

モデルのファイルサイズ

model.Size( [bigcmnt=""] ) : Number

引数
bigcmnt : String
大コメント
返値
ファイルサイズを返します。
解説
モデルを外部記憶装置へファイルとして書き込むときのファイルサイズを計算します。
大コメントbigcmntを与えると、その文字列の長さがファイルに加えられます。

AddDispMapToLayer 関数

画層を座標系で表示

model.AddDispMapToLayer( hlayer, [hMap=0] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
hMap : HMap=Integer
座標系ハンドル(0の場合、hlayerの持っている座標系ハンドルを与えたのと同様)
返値
成否を返します。
解説
hlayerの画層をhMapの座標系で表示にします。ただし参照は出来ません。
hlayerの画層属性を持つ要素は、hMap座標系で表示されます。

AddRefMapToLayer 関数

画層を座標系で参照

model.AddRefMapToLayer( hlayer, [hMap=0] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
hMap : HMap=Integer
座標系ハンドル(0の場合、hlayerの持っている座標系ハンドルを与えたのと同様)
返値
成否を返します。
解説
hlayerの画層をhMapの座標系で参照にします。同時に表示にもなります。
hlayerの画層属性を持つ要素は、hMap座標系で参照・表示されます。

AllClearEntySign 関数

モデル上の印を除く

model.AllClearEntySign( [signNO=0] )

引数
signNO : Integer
印番号
返値
なし
解説
モデル上の要素に付いているsignNOの印を全て除きます。

ChangeMap 関数

座標系の領域、情報を変更

model.ChangeMap( map, msk, [hMap=0] ) : Boolean

引数
map : Map2
座標系オブジェクト
msk : MskMap=Integer
座標系マスク
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
成否を返します。
解説
変更したい座標系オブジェクトのプロパティ値をセットし、
そのプロパティに対するビット情報をセットした座標系マスクを引数として渡します。

ChangeSave 関数

要素を変更登録

model.ChangeSave( henty, enty, [bDraw=true] ) : HEnty=Integer
model.ChangeSave( henty, enty, entyhead, [bDraw=true] ) : HEnty=Integer

引数
henty : HEnty=Integer
変更したい要素ハンドル
enty : Entity
要素オブジェクト
entyhead : EntityHead
変更する要素の属性
bDraw : Boolean
描画モード
返値
要素ハンドルを返します。
解説
hentyが指す要素をentyに変更します。登録に成功したら要素ハンドルを返します。
entyhead引数を省略した場合には、hentyが指す元の属性をすべて採用します。
またentyhead内のプロパティ値が0になっているものについては、hentyが指す元の属性を採用します。

ClearMarks 関数

印をクリア

model.ClearMarks( )

引数
なし
返値
なし
解説
このモデルを表示している画面上の一時的な印をすべて消します。

CollectEntity 関数

指定した領域内に入り、指定した条件を満たす要素に印を付けます。

model.CollectEntity( n, xk, yk, [signNO=1], [bAdd=true], [DrawMode=drawmodeSPECL], [CollectTypeBits=pickALL], [entyhead=NULL], [hmap=0], [hStart=0], [hEnd=0]) : Integer

引数
n : Integer
領域を指定するポイント数
xk, yk : Array
領域の点列
signNO : Integer
印番号
bAdd : Boolean
既存の印の処理
DrawMode : DrawMode=Integer
描画モード
CollectTypeBits : PickElms=Integer
選択要素タイプ
entyhead : EntityHead
要素属性
hMap : HMap=Integer
座標系ハンドル
hStart : HEnty=Integer
検索開始要素ハンドル
hEnd : HEnty=Integer
検索終了要素ハンドル
返値
印を変更した要素数を返します。
解説
引数の条件に合うモデル内の要素に印を付けて集めます。
n、(xk(i),yk(i)) i=0~n : 領域を指定します。
    n=0 : 指定領域の制限なし
    n=1 : 直線(xk[0],yk[0])-(xk[1],yk[1])と交差するもの
    n=2 : 矩形領域(xk[0],yk[0])-(xk[1],yk[1])と交わるもの
    n>2 : 多角形領域(xk[i],yk[i]) i=0~n xk[0]=xk[n] yk[0]~yk[n] にすっぽり入るもの
  上記の領域は通常ペーパー領域ですが、引数CollectTypeBitsの中にpickInModelが指定されていれば、モデル内の領域となります。

signNO : 1または2を指定することによって要素に印1または印2が付きます。

bAdd : 領域、条件を満たす要素で既に印が付いているものに関してどのような処理するかを指定します。


DrawMode : 印の付く要素をどのように描画するのかを指定します。


CollectTypeBits : 対象となる要素タイプを指定します。
  以下の値を論理和演算子でつないで指定します。


entyhead : 対象となる要素属性を指定します。
  entyheadをNULLまたは省略した場合、属性を限定しません。
  entyhead=MaakeEntityAttrib(hLayer,hColor,hLStyle,hTFont)を引数に与えた場合、
  属性がhLayer,hColor,hLStyle,hTFontである要素が対象となります。0属性についてはチェックしません。

hMap : hMap座標系に表示参照されている要素が対象となります。hMap=0とした場合、フォーカス座標系と同様です。

hStart : 検索開始の要素ハンドルを指定します。hStart=hentyNothingの場合、hStart=1と同じです。

hEnd : 検索終了の要素ハンドルを指定します。hEnd=hentyNothingの場合、hEnd=最後に登録された要素ハンドルと同じです。
var m = CadApp.CreateModel("ABC.ftr");
var x1, y1, x2, y2;
var xk = [], yk = [];
  :
xk[0] = x1; yk[0] = y1;
xk[1] = x2; yk[1] = y2;
m.CollectEntity( 2, xk, yk, 1 );
var EntyS = m.GatherSignedEntys( 1 );

Compress 関数

モデル内部のデータを圧縮

model.Compress( [bNonhistory=false] ) : Boolean

引数
bNonhistory : Boolean
true : 履歴情報も圧縮
返値
成否を返します。

Copy 関数

モデルをコピー

model.Copy( othermodel ) : Boolean

引数
othermodel : Model
Modelオブジェクト
返値
成否を返します。
解説
モデル名を除いてモデルothermodelの内容をすべてコピーします。

CreateLayer 関数

モデルに新たに共有可能な画層を登録

model.CreateLayer( layername ) : HLayer=Integer

引数
layername : String
新規画層名
返値
画層ハンドルを返します。
解説
成功した場合は新たに登録した画層ハンドルを返し、失敗した場合は0を返します。
この関数で作成される画層は共有可能な画層だけです。従って、「M 座標系番号 - 」で始まる名前を引数として与えることはできません。
var m = CadApp.CreateModel("ABC.ftr");
var hlayer, hmap;
  :
hmap = ・・・;
hlayer = m.CreateLayer("ABC");
m.AddRefMapToLayer( hlayer, hmap );
m.DelimitHistory();

CreateMap 関数

座標系を作成

model.CreateMap( map, [msk=mskmapCreateMap2] ) : HMap=Integer

引数
map : Map2
座標系オブジェクト
msk : MskMap=Integer
座標系マスク
返値
座標系ハンドルを返します。
解説
座標系オブジェクトには作成したい座標系に必要なプロパティ値のみをセットし、
そのプロパティに対するビット情報をセットした座標系マスクを引数として与えます。
座標系の作成に成功したら、その座標系ハンドルを返します。もし作成に失敗したら0をかえします。
座標系の作成に成功するとその中に入る固有画層が同時に作成されます。
座標系マスクを省略した場合、座標系オブジェクトにnameプロパティ、(xpbase,ypbase)プロパティ、Scaleプロパティを
セットして標準的な2次元座標系が作成できます。
var m = CadApp.CreateModel("ABC.ftr", "A1横", 841,594);
var xpbase, ypbase, scale;
var map = new Map2();
  :
map.name = "ABC";	//座標系名
map.xpbase = xpbase	//(xpbase,ypbase)はペーパー上での座標系の原点位置
map.ypbase = ypbase
map.xscale = scale	//縮尺

hmap = m.CreateMap( map );
if( hmap != 0 ){
  //新しく座標系が作成された
  m.SetFocusMap( hmap );
  m.DelimitHistory();
}

DeleteEntity 関数

要素を削除

model.DeleteEntity( henty, [bErase=true] ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
bErase : Boolean
描画フラグ
返値
成否を返します。
解説
bErase=trueであればすぐに消画され、falseであればすぐには画面に反映されません。

DeleteLayer 関数

指定画層を削除

model.DeleteLayer( hlayer ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
返値
成否を返します。
解説
NULL画層・固有画層は削除できません。画層に要素が登録されていれば削除できません。

DeleteMap 関数

指定座標系を削除

model.DeleteMap( hMap ) : Boolean

引数
hMap : HMap=Integer
座標系ハンドル
返値
成否を返します。
解説
ペーパー座標系(hmapPAPER)は削除できません。またロックされた固有画層があれば、その場合も削除できません。
フォーカス座標は削除できますが、削除後のフォーカス座標はhMapに近い値のハンドル値をフォーカス座標系とします。

DelimitHistory 関数

履歴の区切り

① model.DelimitHistory( ) : HHistory=Integer
② model.DelimitHistory( textdata, [dataname=""] ) : HHistory=Integer
③ model.DelimitHistory( size ) : HHistory=Integer

引数
textdata : String
Textデータ
dataname : String
データ名
size : Integer
データのサイズ
返値
履歴ハンドルを返します。
解説
要素、画層、プロパティを登録、変更後に履歴を区切りために実行します。
②の場合、履歴を区切った地点にデータ(textdata)を付加できます。名前(dataname)を付けることも可能です。
③の場合、データを格納するためのデータ領域を確保します。
var m = CadApp.CreateModel("ABC.ftr");
var enty1 = new Entity();
enty1.Set(10,20, 30,40);//直線 (10,20)-(30,40)
m.NewSave( enty1 );
m.DelimitHistory( "直線を描きました", "draw1" );	//データ名"draw1"にTextデータを書き込みました。

DoHistory 関数

編集履歴を進める

model.DoHistory( ) : Boolean

引数
なし
返値
成否を返します。
解説
CADデータの編集履歴をRedoします。
BeginHistory()
    :			↑UndoHistory()		↓DoHistory()
EndHistory()
    :			↑UndoHistory()		↓DoHistory()
DelimitHistory()

DrawEnty 関数

要素を描画

① model.DrawEnty( henty, [DrawMode=drawmodeDRAW], [bSetDspLst=false] ) : Boolean
② model.DrawEnty( EntyHead, enty, [DrawMode=drawmodeDRAW] ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
DrawMode : DrawMod=Integer
描画モード
bSetDspLst : Boolean
true : 作業領域内に表示状態を記録する false : 記録しない
EntyHead : EntityHead
要素属性
enty : Entity
要素オブジェクト
返値
成否を返します。
解説
①の場合、指定番号の要素を描画します。
②の場合、引数の要素を描画します。

●DrawMode  描画モード
    drawmodeERASE	: バックグラウンドで描画
    drawmodeDRAW	: Entityの色ハンドルで描画
    drawmodeSPECL	: 特別色で描画
    drawmodeXORDRW	: XORで描画

DrwMap 関数

座標系の座標軸と境界線を描画

model.DrwMap( [hMap=0], [DrawMode = drawmodeDRAW] )

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
DrawMode : DrawMod=Integer
描画モード
返値
なし
解説
DrawMode=drawmodeDRAWの場合、CAD作業画面で通常表示されている色と形で座標系の座標軸と境界線を描画します。
もちろんフォーカス座標系とそうでない座標系も色分けして描画します。
DrawMode=drawmodeERASEの場合、座標系の座標軸と境界線をCAD作業画面のバックと同じ色で描画し、画面からその座標軸と境界線を見えないようにします。

EraseMark 関数

最後の印(マーク)を消去

model.EraseMark( )

引数
なし
返値
なし
解説
モデル内の最後の印(マーク)をメモリー内から消去します。

ErsDispMapFromLayer 関数

画層を座標系で非表示する

model.ErsDispMapFromLayer( hlayer, [hMap=0] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
hMap : HMap=Integer
座標系ハンドル(0の場合、hlayerの持っている座標系ハンドルを与えたのと同様)
返値
成否を返します。
解説
hlayerの画層をhMapの座標系で非表示にします。また同時に非参照にもなります。
hlayerの画層属性を持つ要素は、hMap座標系では表示できません。

FirstEnty 関数

最初に見つけた有効な要素ハンドルを取得

model.FirstEnty( [hBegin=0], [hEnd=0] ) : HEnty=Integer

引数
hBegin : HEnty=Integer
開始要素ハンドル(0の場合、hBegin=1と同様)
hEnd : HEnty=Integer
終了要素ハンドル(0の場合、hEnd=最大要素ハンドルと同様)
返値
要素ハンドルを返します。
解説
hBeginからhEndまでの要素の中から最初に見つけた有効な要素ハンドルを返します。
削除されている要素は検索の対象になりません。有効な要素が見つからなければ0を返します。
var m = CadApp.CreateModel("ABC.ftr");
var henty;
henty = m.FirstEnty();
while( henty != 0 ){
  if( m.IsEntySign( 1 ) ){
    m.DeleteEntity( henty );
  }
  henty = m.NextEnty( henty );
}
m.DelimitHistory();

FirstLayer 関数

最初に見つけた有効な画層ハンドルを取得

model.FirstLayer( [hBegin=0], [hEnd=0] ) : HLayer=Integer

引数
hBegin : HLayer=Integer
開始画層ハンドル(0の場合、hBegin=1と同様)
hEnd : HLayer=Integer
終了画層ハンドル(0の場合、hEnd=最大画層ハンドルと同様)
返値
画層ハンドルを返します。
解説
hBeginからhEndまでの画層の中から最初に見つけた有効な画層ハンドルを返します。
有効な画層が見つからなければ0を返します。

FirstMap 関数

最初に見つけた有効な座標系ハンドルを取得

model.FirstMap( [hBegin=0], [hEnd=0] ) : HMap=Integer

引数
hBegin : HMap=Integer
開始座標系ハンドル(0の場合、hBegin=1と同様)
hEnd : HMap=Integer
終了座標系ハンドル(0の場合、hEnd=最大座標系ハンドルと同様)
返値
座標系ハンドルを返します。
解説
hBeginからhEndまでの座標系の中から最初に見つけた有効な座標系ハンドルを返します。
有効な座標系が見つからなければ0を返します。

FirstMapLayer 関数

座標系内で表示または参照になっている最初の画層ハンドルを取得

model.FirstMapLayer( hMap, [hBegin=0], [hEnd=0] ) : HLayer=Integer

引数
hMap : HMap=Integer
座標系ハンドル
hBegin : HLayer=Integer
開始画層ハンドル(0の場合、hBegin=1と同様)
hEnd : HLayer=Integer
終了画層ハンドル(0の場合、hEnd=最大画層ハンドルと同様)
返値
座標系ハンドルを返します。
解説
hBeginからhEndまでの画層において、hMap座標系で表示または参照になっている最初の画層ハンドルを返します。
有効な座標系が見つからなければ0を返します。

GatherSignedEntys 関数

印の付いた要素を配列に格納

model.GatherSignedEntys( signNO ) : ArrayEntityA

引数
signNO : Integer
印1または2
返値
ArrayEntityAオブジェクトを返します。
解説
印signNOの付いた要素を集めた配列(ArrayEntityAオブジェクト)を返します。

GetHavingMapHandle 関数

指定画層を持つ座標系ハンドルを取得

model.GetHavingMapHandle( hlayer ) : HMap=Integer

引数
hlayer : HLayer=Integer
画層ハンドル
返値
座標系ハンドルを返します。
解説
hlayerが固有画層ハンドルである場合、その画層を持つ座標系ハンドルを返します。
hlayerが共有可能な画層ハンドルである場合、0を返します。

GetPaperSize 関数

用紙サイズを取得

model.GetPaperSize( ) : Array

引数
なし
返値
用紙サイズを配列で返します。
解説
モデルのペーパー横幅・高さが配列[ W, H ]で返ります。

GetSimularLayer 関数

同一名もしくは類似画層名の画層ハンドルを取得

model.GetSimularLayer( layername, [hMap=0] ) : HLayer=Integer

引数
layername : String
画層名
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
画層ハンドルを返します。
解説
layernameが固有画層名形式の名前(M 座標系番号 - 名前)である場合、hMap座標系内の固有画層から類似なものを探します。
layernameが固有画層名形式の名前でない場合、共有可能な画層から類似なものを探します。類似的な名前は次のように決めています。
layername="ABCD"としたとき、"ABCD・・・","ABC","AB","A"が類似画層名となります。
検索順序は、"ABCD・・・"を探し、次に"ABC","AB","A"という順で探していき類似したものがあればそこでその画層ハンドルを返します。
類似したものがなければ、0を返します。

IsChanged 関数

モデル内部が変更されたか調べる

model.IsChanged( ) : Boolean

引数
なし
返値
成否を返します。
解説
CreateModel関数でモデルが作成されてから、あるいはSetChanged(false)関数が実行されてから、
モデルが変更されていればtrueを返し、変更されていなければfalseを返します。

IsDispMap 関数

画層が座標系で表示になっているか調べる

model.IsDispMap( hlayer, [hMap=0] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
hMap : HMap=Integer
座標系ハンドル(0の場合、hlayerの持っている座標系ハンドルを与えたのと同様)
返値
成否を返します。
解説
hlayerの画層がhMapの座標系で表示になっていればtrue、非表示であればfalseを返します。

IsEntity 関数

要素ハンドルが有効か調べる

model.IsEntity( henty ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
返値
成否を返します。
解説
要素ハンドル(henty)にたいする要素が存在すればtrueを返し、削除されているか不適正なハンドルであればfalseを返します。

IsEntyInDom 関数

要素が指定した領域内に入るか調べる

model.IsEntyInDom( henty, n, xk, yk, [bInModel=false], [hMap=0] ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
n : Integer
領域の指定するポイント数
xk, yk : Array
領域のための点列
bInModel : Boolean
領域がモデル内かどうかのフラグ
hMap : HMap=Integer
座標系ハンドル
返値
成否を返します。
解説
要素(henty)が指定した領域内に入ればtrueを返し、入らなければfalseを返します。
n、(xk(i),yk(i)) i=0~n : 領域を指定します。
    n=0 : 指定領域の制限なし
    n=1 : 直線(xk[0],yk[0])-(xk[1],yk[1])と交差するもの
    n=2 : 矩形領域(xk[0],yk[0])-(xk[1],yk[1])と交わるもの
    n>2 : 多角形領域(xk[i],yk[i]) i=0~n xk[0]=xk[n] yk[0]~yk[n] にすっぽり入るもの
  上記の領域は通常ペーパー領域ですが、引数CollectTypeBitsの中にpickInModelが指定されていれば、モデル内の領域となります。

bInModel : falseならペーパー上の領域、trueならモデル内の領域です。

hMap : 要素(henty)がhMap座標系上で表示参照されていれば指定領域に入るかどうかを調べます。
もしhMap座標系上で表示参照されていなければ調べずにfalseを返します。

IsEntySign 関数

要素に印が付いているか調べる

model.IsEntySign( henty, signNO ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
signNO : Integer
印1または2
返値
成否を返します。
解説
対象要素(henty)に印(signNO)が付いていればtrueを返し、付いていなければfalseを返します。

IsEqual 関数

引数の文字列またはModelオブジェクトがモデルの名前と同じであるか調べる

model.IsEqual( othermodel ) : Boolean

引数
othermodel : String | Model
モデル名またはModelオブジェクト
返値
成否を返します。
解説
引数のモデルと同じであればtrueを返し、違えばfalseを返します。

IsLayer 関数

画層ハンドルが有効か調べる

model.IsLayer( hlayer ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
返値
成否を返します。
解説
モデル中で画層ハンドルが適正であればtrue、そうでなければfalseを返します。
hlayer画層が削除されている場合もfalseを返します。

IsLayerLocked 関数

画層がロックされているか調べる

model.IsLayerLocked( hlayer ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
返値
成否を返します。
解説
ロックされていればtrueを返し、そうでなければfalseを返します。

IsMap 関数

座標系ハンドルが有効か調べる

model.IsMap( hMap ) : Boolean

引数
hMap : HMap=Integer
座標系ハンドル
返値
成否を返します。
解説
座標系ハンドルに対する座標系が存在すればtrueを返し、削除されているか不適正なハンドルであればfalseを返します。

IsMapBoundShowed 関数

モデルに座標系の境界線が表示されているか調べる

model.IsMapBoundShowed( [hMap=0] ) : Boolean

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
成否を返します。
解説
表示されていればtrue、非表示であればfalseを返します。

IsMapShowed 関数

モデルに指定座標系が表示されているか調べる

model.IsMapShowed( hMap ) : Boolean

引数
hMap : HMap=Integer
座標系ハンドル
返値
成否を返します。
解説
表示されていればtrue、非表示であればfalseを返します。

IsRefMap 関数

画層が座標系で参照になっているか調べる

model.IsRefMap( hlayer, [hMap=0] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
hMap : HMap=Integer
座標系ハンドル(0の場合、hlayerの持っている座標系ハンドルを与えたのと同様)
返値
成否を返します。
解説
hlayerの画層がhMapの座標系で参照になっていればtrue、そうでなければfalseを返します。

Load 関数

FTR(モデル内で扱える)形式に変換して読み込みます。

① model.Load( filename ) : Boolean
② model.Load( filename, datafileDXF | datafileDWG, [Papername=""], [Xlen=0.0,Ylen=0.0], [Scale=0.0], [txtScalar=1.0] ) : Boolean
③ model.Load( filename, datafileJWC | datafileJWW )

引数
filename : String
ファイル名(フルパス)
Papername : String
ペーパー名
Xlen, Ylen : Number
ペーパーの横幅、高さ
Scale : Number
縮尺
txtScalar : Number
記事倍率
返値
成否を返します。
解説
読み込みに成功した場合はtrueを返し、失敗した場合はfalseを返します。
datafileDXFならDXF形式、datafileDWGならDWG形式、datafileJWCならJWC形式、datafileJWWならJWW形式のファイルをFTR形式に変換して読み込みます。

②の場合、Papername=\22,(Xlen,Ylen)=(0,0)であるとき、GetSTCvariable("sysSv","PaperSize")関数の値により以下のように、ペーパー名とそのサイズが決まります。
		
GetSTCvariable("sysSv","PaperSize") Papername Xlen Ylen
0 "A0横" GetSTCvariable("sysSv","A0X") GetSTCvariable("sysSv","A0Y")
1 "A0縦" GetSTCvariable("sysSv","A0Y") GetSTCvariable("sysSv","A0X")
2 "A1横" GetSTCvariable("sysSv","A1X") GetSTCvariable("sysSv","A1Y")
3 "A1縦" GetSTCvariable("sysSv","A1Y") GetSTCvariable("sysSv","A1X")
4 "A2横" GetSTCvariable("sysSv","A2X") GetSTCvariable("sysSv","A2Y")
5 "A2縦" GetSTCvariable("sysSv","A2Y") GetSTCvariable("sysSv","A2X")
6 "A3横" GetSTCvariable("sysSv","A3X") GetSTCvariable("sysSv","A3Y")
7 "A3縦" GetSTCvariable("sysSv","A3Y") GetSTCvariable("sysSv","A3X")
8 "A4横" GetSTCvariable("sysSv","A4X") GetSTCvariable("sysSv","A4Y")
9 "A4縦" GetSTCvariable("sysSv","A4Y") GetSTCvariable("sysSv","A4X")
10 "FREE" GetSTCvariable("sysSv","FREEX") GetSTCvariable("sysSv","FREEY")

LockLayer 関数

指定した画層をロックする

model.LockLayer( hlayer )

引数
hlayer : HLayer=Integer
画層ハンドル
返値
なし
解説
画層内のロックフラグをセットするだけですのでDeleteLayer関数で削除できます。

ModifyExtension 関数

モデル名の拡張子をFTRに変更

model.ModifyExtension( ) : Boolean

引数
なし
返値
成否を返します。
解説
モデル名(ファイル名)の拡張子が .DWG, .DXF, .JWC, .JWWである場合、.FTRへ変更します。
変更する必要がないか変更を成功した場合trueを返します。変更後の名前がすでにあるモデル名と一致する場合falseを返します。

NewSave 関数

要素を新規登録

① model.NewSave( enty, [bDraw=true] ) : HEnty=Integer
② model.NewSave( enty, EntyHead, [bDraw=true] ) : HEnty=Integer

引数
enty : Entity | Point2 | Line2 | Circle2 | Ellipse2 | Curve2 | Text2 | Dim2N|mal | Dim2Angle | Dim2Arclen | Dim2Ballon | Dim2CSnp | Dim2Diameter | Dim2Note | Dim2Radius
要素データ
bDraw : Boolean
描画モード
EntyHead : EntityHead
要素属性
返値
要素ハンドルを返します。
解説
要素entyの登録に成功したら、その登録した要素を操作するための要素ハンドルを返します。失敗したら0を返します。
EntyHead引数を省略した場合には、全ての属性をカレントにします。またEntyHead内のプロパティ値が0になっているものについては、カレントの属性を採用します。
bDraw=trueなら登録時に描画します。falseなら描画しません。
var m = CadApp.CreateModel("ABC.ftr");
var enty = new Entity();
var x1, y1, x2, y2;
  :
enty.Set( x1, y1, x2, y2 );
m.NewSave( enty );	//属性はカレント

enty.Set( x1, y1+100, x2, y2+100 );
var entyHead = CadApp.MakuEntityAttrib( 0, CadConst.hcolorRED, CadConst.hlstyleSOLID );
m.NewSave( enty, entyHead );	//赤色の実線

m.DelimitHistory();

NextEnty 関数

次の有効な要素ハンドルを取得

model.NextEnty( henty, [hEnd=0] ) : HEnty=Integer

引数
henty : HEnty=Integer
要素ハンドル
hEnd : HEnty=Integer
終了要素ハンドル(0の場合、hEnd=最大要素ハンドルと同様)
返値
要素ハンドルを返します。
解説
hentyの次の要素からhEndまでの要素の中から最初に見つけた有効な要素ハンドルを返します。
削除されている要素は検索の対象になりません。有効な要素が見つからなければ0を返します。

NextLayer 関数

次の有効な画層ハンドルを取得

model.NextLayer( hlayer, [hEnd=0] ) : HLayer=Integer

引数
hlayer : HLayer=Integer
画層ハンドル
hEnd : HLayer=Integer
終了画層ハンドル(0の場合、hEnd=最大画層ハンドルと同様)
返値
画層ハンドルを返します。
解説
hlayerの次の画層からhEndまでの画層の中から最初に見つけた有効な画層ハンドルを返します。
有効な画層が見つからなければ0を返します。

NextMap 関数

次の有効な座標系ハンドルを取得

model.NextMap( hMap, [hEnd=0] ) : HMap=Integer

引数
hMap : HMap=Integer
座標系ハンドル
hEnd : HMap=Integer
終了座標系ハンドル(0の場合、hEnd=最大座標系ハンドルと同様)
返値
座標系ハンドルを返します。
解説
hMapの次の座標系からhEndまでの座標系の中から最初に見つけた有効な座標系ハンドルを返します。
有効な座標系が見つからなければ0を返します。

NextMapLayer 関数

座標系内で表示、参照になっている次の画層を取得

model.NextMapLayer( hMap, hlayer, [hEnd=0] ) : HLayer=Integer

引数
hMap : HMap=Integer
座標系ハンドル
hlayer : HLayer=Integer
画層ハンドル
hEnd : HLayer=Integer
終了画層ハンドル(0の場合、hEnd=最大画層ハンドルと同様)
返値
画層ハンドルを返します。
解説
hlayerの次の画層からhEndまでの画層で、hMap座標系で表示、参照になっている最初の画層を返します。
有効な画層が見つからなければ0を返します。

qPointInMap 関数

指定したペーパー上の点が指定座標系内にあるか調べる

model.qPointInMap( hMap, pt ) : Boolean
model.qPointInMap( hMap, xp, yp ) : Boolean

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
pt : Entity | Point2
点要素オブジェクト
xp, yp : Number
点座標
返値
成否を返します。
解説
ペーパー上の点pt、(xp,yp)がhMap座標系内にある場合はtrue、そうでなければfalseを返します。

Refresh 関数

モデル(図面)をリフレッシュする

model.Refresh( [SelSign=0], [SelEntityHead=NULL], [DrawMode=drawmodeDraw], [hmap=0] )

引数
SelSign : Integer
印番号で処理対象を指定
SelEntityHead : EntityHead
属性で処理対象を指定
DrawMode : DrawMode=Integer
描画モード
hMap : HMap=Integer
指定座標系内の要素を処理の対象
返値
なし
解説
SelSign,SelEntityHead,hMapは描画対象を決めるための引数です。
SelSign=0,SelEntityHead=NULL,hMap=0を引数として与えた場合、全ての要素が描画対象となります。
●SelSign  印
    =0		: 印の有無で描画対象を制限しない
    =1,2,3		: その印番号の付いた要素のみを描画対象とします
●SelEntityHead  属性
    =NULL		: 属性で描画対象を制限しない
    ≠NULL		: 指定した属性を持つ要素のみを描画対象とします
        SelEntityHead.hLayer = 1
        SelEntityHead.hColor = 0
        SelEntityHead.hLStyle = 0
        SelEntityHead.hTFont = 0
        SelEntityHead.hColor2 = 0
        なら画層番号1を持つ要素を描画対象とします(その他、色・線種...は見ない)
●hMap  座標系
    =0		: 全ての座標系内の要素を描画対象とします
    ≠0		: hMap座標系内の要素のみを描画対象とします
Refresh関数は、描画対象条件SelSign,SelEntityHead,hMapを同時に満たす要素のみを再描画します。
●DrawMode  描画モード
    =drawmodeDRAW	: 要素の属性で描画
    =drawmodeERASE	: 要素のバックカラーで描画
    =drawmodeSPECL	: 要素の特別色で描画
    =drawmodeXORDRW	: XOR演算で要素を描画

Rename 関数

モデル名を変更

model.Rename( newname ) : Boolean

引数
newname : String
新しいモデル名
返値
成否を返します。
解説
新しいモデル名はフルパス名にしてください。
すでに同じ名前のモデルがある場合には名前の変更ができません。

RenameLayer 関数

指定した画層の画層名を変更

model.RenameLayer( hlayer, newlayername ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
newlayername : String
新しい画層名
返値
成否を返します。
解説
hlayerが固有画層ハンドルである場合、「M 座標系番号 - 名前」形式になっていれば「M 座標系番号 - 」を除いた名前に変更されます。

Save 関数

モデルを保存

① model.Save( [OutName=""], [smallcmnt=""], [bigcmnt=""] ) : Boolean
② model.Save( OutName, datafileDXF | datafileDWG, [hMap=0], [bOtherMap=true], [textScalar=1.0] ) : Boolean
③ model.Save( OutName, datafileJWC | datafileJWW ) : Boolean
④ model.Save( OutName, datafileMETAFILE, [PDom=NULL], [angDom=0.0], [Size=100.0], [bMono=false]) : Boolean

引数
OutName : String
出力ファイル名
smallcmnt : String
小コメント文字列
bigcmnt : String
大コメント文字列
hMap : HMap=Integer
座標系ハンドル
bOtherMap : Boolean
その他座標系出力フラグ
textScalar : Number
記事倍率
PDom : Line2
出力矩形領域の対角線( in Paper )
angDom : Number
出力矩形領域の傾斜角( in Paper )
Size : Number
メタファイルが表示される時の推奨の大きさまたは横幅
bMono : Boolean
true : モノクロ保存  false : カラー保存
返値
成否を返します。
解説
①の場合・・・
    OutNameが空文字列""の場合、モデルの名前を出力ファイル名とします。
    書き込みに成功した場合はtrueを返し、失敗した場合はfalseを返します。

②の場合・・・
    書き込みに成功した場合はtrueを返し、失敗した場合はfalseを返します。
    出力ファイル名OutNameはフルパス名で与え拡張子はdatafileDXFであれば".DXF"、datafileDWGであれば".DWG"としてください。
    hMapはhMap座標系内で表示されている要素を指定形式で保存します。
    hMap=0である場合、hMap以外の座標系ないで表示されている要素も保存します。但し、データの値は縮尺倍率の違いがあります。
    bOtherMap=falseなら、hMap以外の座標系ないで表示されている要素は保存しません。

③の場合・・・
    書き込みに成功した場合はtrueを返し、失敗した場合はfalseを返します。
    出力ファイル名OutNameはフルパス名で与え拡張子はdatafileJWCであれば".JWC"、datafileJWWであれば".JWW"としてください。

④の場合・・・
    出力ファイル名OutNameの拡張子が".WMF"ならWindowsメタファイル形式、その他の拡張子であれば拡張メタファイル形式で保存します。
    書き込みに成功した場合はtrueを返し、失敗した場合はfalseを返します。
    PDom=NULLを引数に与えると出力矩形領域は図面全体となります。
    

SearchLayer 関数

指定した名前の画層を検索

model.SearchLayer( layername, [bHeadlessName=false] ) : HLayer=Integer

引数
layername : String
画層名
bHeadlessName : Boolean
true : 固有画層名については頭部"Mnn-"を除いた名前として検索  false : 正確なフルネームで検索
返値
画層ハンドルを返します。
解説
指定した画層名の画層が見つかればその画層ハンドルを返し、見つからない場合は0を返します。

EasySearchLayer 関数

簡略名から画層を検索

model.EasySearchLayer( layername ) : HLayer=Integer

引数
layername : String
画層名
返値
画層ハンドルを返します。
解説
指定した簡略名の画層が見つかればその画層ハンドルを返し、見つからない場合は0を返します。

SearchMap 関数

指定した名前の座標系を検索

model.SearchMap( mapname ) : HMap=Integer

引数
mapname : String
座標系名
返値
座標系ハンドルを返します。
解説
指定した座標系名の座標系が見つかればその座標系ハンドルを返し、見つからない場合は0を返します。

SetChanged 関数

モデル内部の変更の有無を設定

model.SetChanged( bchg ) : Boolean

引数
bchg : Boolean
true : 変更あり  false : 変更なし
返値
実行前のモデルの変更状態を返します。
解説
bchg=trueとして実行した後、IsChanged関数はtrueを返します。
bchg=falseとして実行した後、IsChanged関数はfalseを返します。

SetEntySign 関数

要素に印を付ける

model.SetEntySign( henty, signNO, [onoff=true] ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
signNO : Integer
印1または2
onoff : Boolean
true : 印を付ける  false : 印を除く
返値
実行前の印の状態を返します。
解説
hentyで指定した要素にonoffがtrueであればsignNOの印を付け、onoffがfalseであれば印を除きます。
返値にはこの関数を実行する前に要素に印が付いていればtrue、付いていなければfalseを返します。

SetFocusMap 関数

指定座標系をモデルのフォーカス座標系にする

model.SetFocusMap( hMap, [bDraw=false] ) : HMap=Integer

引数
hMap : HMap=Integer
座標系ハンドル
bDraw : Boolean
描画フラグ
返値
実行前のフォーカス座標系のハンドルを返します。
解説
フォーカス座標系の設定と同時に、その座標系内カレント画層がモデル全体のカレント画層になります。

SetMark 関数

モデルにマークを付ける

model.SetMark( type, mk )

引数
type : MarkType=Integer
マークのタイプ
mk : Mark
マークのパラメータ
返値
なし
解説
マークのタイプはsmarkXXXまたはmmarkXXXという形の定数で与えます。
smarkXXXはマークパラメータmkには図面上の座標系で与え、mmarkXXXはフォーカス座標系で与えます。

type=smarkRECTまたはmmarkRECT

type=smarkPEKEまたはmmarkPEKE

type=smarkPLUSまたはmmarkPLUS

type=smarkTRIAまたはmmarkTRIA

type=smarkMARUまたはmmarkMARU

type=smarkTRIA2またはmmarkTRIA2

type=smarkLINEまたはmmarkLINE

TrnsPaper2Map 関数

ペーパー上の点座標(xp,yp)、ptがどの座標系の表示領域に入っているか調べる

model.TrnsPaper2Map( xp, yp ) : Array
model.TrnsPaper2Map( pt ) : Array

引数
xp, yp : Number
ペーパー上の点座標
pt : Entity | Point2
ペーパー上の点要素オブジェクト
返値
座標系と座標系上の点に変換した値を配列で返します。
解説
ペーパー上の点(xp,yp)、ptがどの座標系の表示領域に入っているかを調べ、もし座標系が見つかれば
返値として座標系と座標系上の点に変換した配列[ hmap, enty ]を返します。
点(xp,yp)、ptがどの座標系の表示領域にも入っていなければundefinedを返します。

TrnsPaper2Model 関数

ペーパー上の点から座標系上の点を求める

model.TrnsPaper2Model( hMap, xp, yp ) : Entity
model.TrnsPaper2Model( hMap, pt ) : Entity

引数
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
xp, yp : Number
ペーパー上の点座標
pt : Entity | Point2
ペーパー上の点要素オブジェクト
返値
座標系上の点を返します。
解説
点であるEntityオブジェクトを返します。
hMapが不適な座標系であったり、ペーパー上の点がhMap座標系の表示領域に入らなければundefinedを返します。

UndoHistory 関数

編集履歴を戻す

model.UndoHistory( ) : Entity

引数
なし
返値
成否を返します。
解説
CADデータの編集履歴をUndoします。

UnLockLayer 関数

指定した画層のロックを解除

model.UnLockLayer( hlayer )

引数
hlayer : HLayer=Integer
画層ハンドル
返値
なし
解説
画層内のロックフラグを解除するだけです。

BeginBlock 関数

ブロック開始宣言

model.BeginBlock( blockname ) : Boolean

引数
blockname : String
ブロック名
返値
成否を返します。
解説
ブロック(複数図形)の開始を宣言します。EndBlock関数(ブロック終了宣言)までがブロック(複数図形)となります。
var m = CadApp.CreateModel("ABC.ftr");
var enty = new Entity( );
var x1, y1, x2, y2;
  :
m.BeginBlock( "ABC" );	//"ABC"ブロック開始
  enty.Set( x1, y1, x2, y2 );
  m.NewSave( enty );
  m.BeginBlock( "./1" );
    enty.Set( x1, y1+100, x2, y2+100 );
    m.NewSave( enty );
    alert( m.GetNowBlock( ) );	//"ABC/1"
  m.EndBlock( );
m.EndBlock( );	//"ABC"ブロック終了

m.DelimitHistory();

EndBlock 関数

ブロック終了宣言

model.EndBlock( [blockname=""] ) : Boolean

引数
blockname : String
ブロック名
返値
成否を返します。
解説
BeginBlock関数と対で使用します。

UpdateBlocks 関数

モデル内のブロック要素を更新

model.UpdateBlocks( )

引数
なし
返値
なし
解説
モデル内にあるブロック(複数図形)を更新します。

GetFullBlockname 関数

ブロックの正式名を取得

model.GetFullBlockname( blockname ) : String

引数
blockname : String
ブロック名
返値
正式名を返します。
解説
ブロック名(blockname)が簡略名の場合、正式名を返します。

GetNowBlock 関数

現在編集中のブロック名を取得

model.GetNowBlock( [level=0] ) : String

引数
level : Integer
レベル
返値
ブロック名を返します。
解説
指定レベルの現在編集中ブロック名を返します。なければ空文字列を返します。

●level  レベル
    =0   : 現在編集中の直接ブロック名を得る。
    >0   : その親ブロックをたどる
    =-1 : 現在編集中の最上位のブロック名を得ます。

InWhichBlockIsEnty 関数

要素ハンドルからそれを含むブロック名を取得

model.InWhichBlockIsEnty( henty, [level=-1] ) : String

引数
henty : HEnty=Integer
要素ハンドル
level : Integer
レベル
返値
ブロック名を返します。
解説
要素ハンドルからその要素を含むブロックの名前を取得します。
ブロックが見つかればその名前を返します。なければ空文字列を返します。

CollectBlock 関数

指定ブロックの要素に印を付ける

model.CollectBlock( blockname, [signNO=1], [bAdd=true] ) : Integer
model.CollectBlock( hblock, [signNO=1], [bAdd=true] ) : Integer

引数
blockname : String
ブロック名
hblock : HHistory=Integer
ブロックの履歴ハンドル
signNO : Integer
印1または2
bAdd : Boolean
既存の印の処理
返値
印を付けた要素の数を返します。
解説
ブロック(blockname)内の要素を収集し、印を付けます。

●bAdd  既存の印の処理
    true  : 対象要素に必ず印を付ける
    false : 対象要素に印が付いていなければ付ける。付いていれば印を解除する。

GetHHistoryFromBlockname 関数

指定ブロックの履歴ハンドルを取得

model.GetHHistoryFromBlockname( blockname ) : HHistory=Integer

引数
blockname : String
ブロック名
返値
履歴ハンドルを返します。
解説
ブロック(blockname)の履歴ハンドルを取得します。

TrnsModel2Paper 関数

座標系上の点からペーパー上の点を求める

model.TrnsModel2Paper( xp, yp, [hMap=0] ) : Point2
model.TrnsModel2Paper( pt, [hMap=0] ) : Point2

引数
xp, yp : Number
座標系上の点座標
pt : Entity | Point2
座標系上の点要素オブジェクト
hMap : HMap=Integer
座標系ハンドル(0の場合、フォーカス座標系と同様)
返値
ペーパー上の点を返します。
解説
点であるEntityオブジェクトを返します。

SetAppendixData 関数

添付データを設定

model.SetAppendixData( Appendname, textdata ) : Boolean

引数
Appendname : String
添付データ名
textdata : String
テキストデータ
返値
成否を返します。
解説
添付データ名(Appendname)でテキストデータ(textdata)をモデルに設定します。

GetAppendixData 関数

添付データを取得

model.GetAppendixData( Appendname ) : String

引数
Appendname : String
添付データ名
返値
テキストデータを返します。
解説
モデルから添付データ名(Appendname)のテキストデータを取得します。

DeleteAppendixData 関数

添付データを削除

model.DeleteAppendixData( Appendname ) : Boolean

引数
Appendname : String
添付データ名
返値
成否を返します。
解説
モデルから添付データ(Appendname)を削除します。

EnumAppendixName 関数

添付データ名を列挙

model.EnumAppendixName( ) : Array

引数
なし
返値
添付データ名を配列で返します。
解説
モデルから添付データ名の配列を取得します。

IsGroup 関数

グループハンドルが有効か調べる

model.IsGroup( hentyg ) : Boolean

引数
hentyg : HEntyg=Integer
グループハンドル
返値
成否を返します。
解説
グループハンドル(hentyg)が有効かどうか調べます。

DeleteGroup 関数

指定した要素群を削除

① model.DeleteGroup( blockname )
② model.DeleteGroup( hgroup )

引数
blockname : String
ブロック名
hgroup : HHistory=Integer
履歴ハンドル
返値
なし
解説
①の場合、ブロック(blockname)内の要素を削除します。
②の場合、履歴ハンドル(hgroup)に含まれる要素を削除します。

BeginHistory 関数

グループ化の開始宣言

① model.BeginHistory( ) : HHistory=Integer
② model.BeginHistory( textdata, [dataname=""] ) : HHistory=Integer
③ model.BeginHistory( size ) : HHistory=Integer

引数
textdata : String
テキストデータ
dataname : String
添付データ名
size : Integer
データのサイズ
返値
履歴ハンドルを返します。
解説
①の場合、グループ化の開始宣言します。
②の場合、グループ化の開始宣言し、そのグループに添付データ名(dataname)でテキストデータ(textdata)を付加します。
③の場合、グループ化の開始宣言し、そのグループにデータを付加するための領域を確保しておきます。
var m = CadApp.CreateModel("ABC.ftr");
var enty = new Entity();
var x1, y1, x2, y2;
var hhis;
  :
hhis = m.BeginHistory( "2直線を描画" );	//添付データをつけてグループ化宣言
  enty.Set( x1, y1, x2, y2 );
  m.NewSave( enty );
  enty.Set( x1, y1+100, x2, y2+100 );
  m.NewSave( enty );
m.EndHistory( hhis );

EndHistory 関数

グループ化の終了宣言

model.EndHistory( [hBeginHistory=0] ) : HHistory=Integer

引数
hBeginHistory : HHistory=Integer
履歴ハンドル(0の場合、現在編集中のグループの履歴ハンドルと同様)
返値
履歴ハンドルを返します。
解説
BeginHistory関数と対で使用します。

GetHistoryText 関数

履歴の添付データを取得

model.GetHistoryText( [hhistory=0], [dataname=""] ) : String

引数
hhistory : HHistory=Integer
履歴ハンドル(0の場合、現在編集中のグループの履歴ハンドルと同様)
dataname : String
添付データ名
返値
テキストデータを返します。
解説
履歴(hhistory)に添付(dataname)したデータを取得します。

SetHistoryData 関数

履歴に添付データを設定

model.SetHistoryData( hhistory, textdata, [dataname=""] ) : Boolean

引数
hhistory : HHistory=Integer
履歴ハンドル
textdata : String
テキストデータ
dataname : String
添付データ名
返値
成否を返します。
解説
履歴(hhistory)に添付データ名(dataname)のデータ(dataname)を設定します。

GetLayerRegularname 関数

(正式)画層名を取得

model.GetLayerRegularname( hlayer, [bHeadlessName=false] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
bHeadlessName : Boolean
true : 「Mnn-」を除いた名前  false : そのままの名前
返値
画層名を返します。
解説
長い名前があれば長い名前を、なければ短い名前を返します。

IsLayerLongname 関数

正式な画層名がlong画層名であるかどうか調べる

model.IsLayerLongname( hlayer ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
返値
成否を返します。

ChgLayerAttrib 関数

画層の固有属性を変更

model.ChgLayerAttrib( hlayer, attrib ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
attrib : EntityHead
要素属性
返値
成否を返します。
解説
画層(hlayer)の固有属性を変更します。

SetLayerAttrib 関数

画層に固有属性を設定

model.SetLayerAttrib( hlayer, attrib ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
attrib : EntityHead
要素属性
返値
成否を返します。
解説
画層(hlayer)の固有属性(attrib)を設定します。

GetLayerAttrib 関数

画層の固有属性を取得

model.GetLayerAttrib( hlayer ) : EntityHead

引数
hlayer : HLayer=Integer
画層ハンドル
返値
固有属性を返します。
解説
画層(hlayer)から固有属性(attrib)を取得します。

ErsRefMapFromLayer 関数

画層を指定座標系で非参照に設定

model.ErsRefMapFromLayer( hlayer, [hMap=0] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
hMap : HMap=Integer
座標系ハンドル
返値
成否を返します。
解説
画層(hlayer)をhMap座標系で非参照にします。

AttachProp 関数

要素に添付データを設定

model.AttachProp( henty, textdata, [dataname=""] ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
textdata : String
テキストデータ
dataname : String
添付データ名
返値
成否を返します。
解説
要素(henty)に添付データ名(dataname)でテキストデータ(textdata)を設定します。

DetachProp 関数

要素の添付データを削除

model.DetachProp( henty ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
返値
成否を返します。
解説
要素(henty)の添付データを削除します。

IsProp 関数

要素にデータが添付されているか調べる

model.IsProp( henty ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
返値
成否を返します。
解説
要素(henty)にデータが添付されていたらtrue、なかったらfalseを返します。

GetPropData 関数

要素の添付データを取得

model.GetPropData( henty, [dataname=""] ) : String

引数
henty : HEnty=Integer
要素ハンドル
dataname : String
添付データ名
返値
テキストデータを返します。
解説
要素(henty)の添付データ名(dataname)のデータを取得します。

SetPropData 関数

要素に添付データを設定

model.SetPropData( henty, textdata, [dataname=""] ) : Boolean

引数
henty : HEnty=Integer
要素ハンドル
textdata : String
テキストデータ
dataname : String
添付データ名
返値
成否を返します。
解説
要素(henty)に添付データ名(dataname)でデータ(textdata)を設定します。

ChgLayer 関数

画層情報を変更

model.ChgLayer( hlayer, DispMapList, RefMapList, [bLock=false], [layername=""] ) : Boolean

引数
hlayer : HLayer=Integer
画層ハンドル
DispMapList : MapList=Integer
画層の表示座標系リスト
RefMapList : MapList=Integer
画層の参照座標系リスト
bLock : Boolean
true : ロックする  false : ロックしない
layername : String
変更画層名
返値
成否を返します。
解説
画層(hlayer)を与えた引数で情報を変更します。

GetDispMapList 関数

画層の表示座標系リストを取得

model.GetDispMapList( hlayer ) : MapList=Integer

引数
hlayer : HLayer=Integer
画層ハンドル
返値
表示座標系リストを返します。
解説
画層(hlayer)から表示座標系リストを取得します。

GetRefMapList 関数

画層の参照座標系リストを取得

model.GetRefMapList( hlayer ) : MapList=Integer

引数
hlayer : HLayer=Integer
画層ハンドル
返値
参照座標系リストを返します。
解説
画層(hlayer)から参照座標系リストを取得します。

GetParentHHistoryFromEnty 関数

要素ハンドルから、それを含む履歴ハンドルを求める

model.GetParentHHistoryFromEnty( henty ) : HHistory=Integer

引数
henty : HEnty=Integer
要素ハンドル
返値
履歴ハンドルを返します。
解説
指定要素(henty)を含む履歴ハンドルを返します。

GetNearElms 関数

要素ピックアップ後に、近い要素のハンドルを取得

model.GetNearElms( [maxsize=0] ) : Array

引数
maxsize : Integer
配列の大きさ(0の場合、STC変数(sysSv-Maxnearelms)を採用)
返値
要素ハンドルを配列で返します。
解説
RequestClick関数で要素をピックアップした後に実行します。近い要素ハンドルをすべて配列に入れて返します。

SetBasePV 関数

基準データをモデルに設定

model.SetBasePV( bpv )

引数
bpv : BasePV
基準データオブジェクト
返値
なし
解説
モデルを部品として扱うときの基準データを設定します。

GetBasePV 関数

基準データをモデルから取得

model.GetBasePV( )

引数
なし
返値
基準データを返します。
解説
モデルから基準データを取得します。

DrawGrid 関数

モデルにグリッドの描画モードを設定

model.DrawGrid( [DrawMode=drawmodeDRAW] )

引数
DrawMode : DrawMode=Integer
描画モード
返値
なし
解説
モデルにグリッドの描画モード(DrawMode)を設定します。

SetGrid 関数

モデルにグリッド情報を設定

model.SetGrid( onoff, [grid=NULL] ) : Boolean

引数
onoff : Boolean
表示フラグ
grid : Grid
グリッドオブジェクト
返値
成否を返します。
解説
モデルにグリッド情報(grid)を設定します。表示させるかどうかも設定できます。

GetGrid 関数

モデルからグリッド情報を取得

model.GetGrid( ) : Grid

引数
なし
返値
グリッド情報を返します。
解説
モデルからグリッド情報を取得します

Maybe_F2R, _F2R 関数

仮縮尺での長さを実縮尺での長さに変換

model.Model_F2R( fakeLen, [hmap] ) : Number
model._F2R( fakeLen, [hmap] ) : Number

引数
fakeLen : Number
仮縮尺での長さ。
hmap : HMap
座標系ハンドルhmapの実縮尺で長さを計算する。
hmap=0または引数を省略した場合、アクティブModelのフォーカス座標系の縮尺を実縮尺として計算する。
返値
仮縮尺モードの場合、fakeLen*仮縮尺/実縮尺を計算して 実縮尺での長さに変換した値を返します。(fakeLen*仮縮尺は図面上の長さ)
実縮尺モードの場合、fakeLenをそのまま返します。

Maybe_R2F, _R2F 関数

実縮尺での長さを仮縮尺での長さに変換

model.Maybe_R2F( realLen, [hmap] ) : Number
model._R2F( realLen, [hmap] ) : Number

引数
realLen : Number
実縮尺での長さ。
hmap : HMap
座標系ハンドルhmapの実縮尺で仮縮尺での長さを計算する。
realScale≦0または引数を省略した場合、アクティブModelのフォーカス座標系の縮尺を実縮尺として計算する。
返値
仮縮尺モードの場合、realLen*縮尺/仮縮尺を計算して 仮縮尺での長さに変換した値を返します。(realLen*実縮尺は図面上の長さ)
実縮尺モードの場合、realLenをそのまま返します。

GetFakeScale 関数

モデルに設定した仮縮尺を取得

model.GetFakeScale() : Number

返値
SetFakeScale関数で設定した仮縮尺を返します。

SetFakeScale 関数

モデルに仮縮尺を設定

model.SetFakeScale( fakeScale ) : Number

返値
この関数実行前に持っていた仮縮尺を返します。

Markクラス

ModelオブジェクトのSetMark関数でマークのパラメータを引き渡す為に使用するクラスです。
説明中に出てくる"mark"はMarkクラスのオブジェクトです。

x プロパティ

マークのX座標

mark.x : Number

解説
マークのX座標を設定/取得します。

y プロパティ

マークのY座標

mark.y : Number

解説
マークのY座標を設定/取得します。

ang プロパティ

マークの傾き(ラジアン)

mark.ang : Number

解説
マークの傾きを設定/取得します。

x1 プロパティ

直線マークの始点X座標

mark.x1 : Number

解説
直線マークの始点X座標を設定/取得します。

y1 プロパティ

直線マークの始点Y座標

mark.y1 : Number

解説
直線マークの始点Y座標を設定/取得します。

x2 プロパティ

直線マークの終点X座標

mark.x2 : Number

解説
直線マークの終点X座標を設定/取得します。

y2 プロパティ

直線マークの終点Y座標

mark.y2 : Number

解説
直線マークの終点Y座標を設定/取得します。

Mark コンストラクター

Markオブジェクトを作成

new Mark( ) : Mark

引数
なし
返値
Markオブジェクトを返します。
解説
Markオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

mark.clone( ) : Mark

引数
なし
返値
Markオブジェクトを返します。
解説
自身のコピーを作成し返します。
var mk1 = new Mark(), mk2 = new Mark();
 :
mk1 = mk2.clone();

Matrix23クラス

2×3行列を扱うクラスです。2次元座標でのアフィン変換に使用されます。
説明中に出てくる"matrix23"はMatrix23クラスのオブジェクトです。

Item(i,j) プロパティ

行列i行j列の値を取得

matrix23.(i,j) : Number

引数
i : Integer
行(0~1)
j : Integer
列(0~2)
返値
行列i行j列の値を返します。
解説
行列i行j列の値を返します。
var mtx = new Matrix23();
  :
alert( mtx(0,0) );	//(0,0)成分の値

Item(i,j,newval) プロパティ

行列i行j列に値を設定

matrix23.(i,j,newval)

引数
i : Integer
行(0~1)
j : Integer
列(0~2)
newval : Number
設定する値
返値
なし
解説
行列i行j列に値を設定します。
var mtx = new Matrix23();
mtx(0,0,1);	//(0,0)成分に1をセット

Set 関数

Matrix23オブジェクトに値をセット

① matrix23.Set( obj )
② matrix23.Set( a00, a01, a02, a10, a11, a12 )

引数
obj : Matrix23
Matrix23オブジェクト
a00 : Number
(0,0)成分の値
a01 : Number
(0,1)成分の値
a02 : Number
(0,2)成分の値
a10 : Number
(1,0)成分の値
a11 : Number
(1,1)成分の値
a12 : Number
(1,2)成分の値
返値
なし
解説
①の場合、引数objの内容をコピーします。
②の場合、2×3行列がセットされます。

det 関数

行列式の値を求める

matrix23.det( ) : Number

引数
なし
返値
行列式の値を返します。
解説
このオブジェクトが2×3行列としたとき、
a00×a11-a10×a01が計算されて値を返します。
失敗したらundefinedを返します。

IsEqual 関数

等しいかどうか調べる

matrix23.IsEqual( mtx ) : Boolean

引数
mtx : Matrix23
Matrix23オブジェクト
返値
等しいかどうか返します。
解説
等しければtrueを、そうでなければfalseを返します。
失敗したらundefinedを返します。

SetTranslator 関数

移動、回転、拡大を合成した変換行列を計算しセット

matrix23.SetTranslator( xo, yo, uo, vo, xn, yn, un, vn, [k=1] )

引数
xo : Number
移動前の基準点X座標
yo : Number
移動前の基準点Y座標
uo : Number
回転前の方向ベクトル
vo : Number
回転前の方向ベクトル
xn : Number
移動後の基準点X座標
yn : Number
移動後の基準点Y座標
un : Number
回転後の方向ベクトル
vn : Number
回転後の方向ベクトル
k : Number
倍率
返値
なし
解説
アフィン変換が点(xo,yo)を(xn,yn)に、方向(uo,vo)を(un,vn)に、
そして長さがk倍となる行列を計算してセットします。

Multiply 関数

行列の掛算

matrix23.Multiply( mtx, [mtx2=0] )

引数
mtx : Matrix23
Matrix23オブジェクト
mtx2 : Matrix23
Matrix23オブジェクト
返値
なし
解説
mtx2を省略しなければ( mtx × mtx2 )、省略すれば( オブジェクト自身 × mtx )を計算します。

Divide 関数

行列の割算(逆行列との掛算)

matrix23.Divide( mtx, [mtx2=0] )

引数
mtx : Matrix23
Matrix23オブジェクト
mtx2 : Matrix23
Matrix23オブジェクト
返値
なし
解説
mtx2を省略しなければ( mtx / mtx2 )、省略すれば( オブジェクト自身 / mtx )を計算します。
ただし、mtxの逆行列、mtx2の逆行列が計算できない場合の動作は保証できません。

Reverse 関数

逆行列を求める

matrix23.Reverse( ) : Boolean

引数
なし
返値
成否を返します。
解説
このオブジェクトが2×3行列としたとき、
Δ = a00 × a11 - a10 × a01
逆行列=が計算されてセットされます。

Add 関数

行列の足算

matrix23.Add( mtx, [mtx2=0] )

引数
mtx : Matrix23
Matrix23オブジェクト
mtx2 : Matrix23
Matrix23オブジェクト
返値
なし
解説
mtx2を省略しなければ( mtx + mtx2 )、省略すれば( オブジェクト自身 + mtx )を計算します。

Subtract 関数

行列の引算

matrix23.Subtract( mtx, [mtx2=0] )

引数
mtx : Matrix23
Matrix23オブジェクト
mtx2 : Matrix23
Matrix23オブジェクト
返値
なし
解説
mtx2を省略しなければ( mtx - mtx2 )、省略すれば( オブジェクト自身 - mtx )を計算します。

Matrix23 コンストラクター

Matrix23オブジェクトを作成

new Matrix23( obj ) : Matrix23
new Matrix23( a00, a01, a02, a10, a11, a12 ) : Matrix23

引数
obj : Matrix23
Matrix23オブジェクト
a00 : Number
(0,0)成分の値
a01 : Number
(0,1)成分の値
a02 : Number
(0,2)成分の値
a10 : Number
(1,0)成分の値
a11 : Number
(1,1)成分の値
a12 : Number
(1,2)成分の値
返値
Matrix23オブジェクトを返します。
解説
Matrix23オブジェクトを作成して返します。詳しくはSet関数をご参照下さい。
作成できない場合、例外を発生します。

clone 関数

自身のコピーを作成

matrix23.clone( ) : Matrix23

引数
なし
返値
Matrix23オブジェクトを返します。
解説
自身のコピーを作成し返します。
var mtx1 = new Matrix23(), mtx2 = new Matrix23();
 :
mtx1 = mk2.clone();

Workwinクラス

モデルとモデルを表示させるWindowをつなぐためのクラスです。
モデルとWindowがつながれたWindowを作業Windowと呼びます。
説明中に出てくる"workwin"はWorkwinクラスのオブジェクトです。

hWnd プロパティ

作業Windowハンドル

workwin.hWnd : Integer [ReadOnly]

解説
作業Windowのハンドルを返します。

hLayer プロパティ

表示する画層ハンドル

workwin.hLayer : HLayer=Integer

解説
表示する画層ハンドルを設定/取得します。

left プロパティ

モデルを表示するWindowの左下X座標

workwin.left : Integer

解説
モデルを表示するWindowの左下X座標を設定/取得します。

bottom プロパティ

モデルを表示するWindowの左下Y座標

workwin.bottom : Integer

解説
モデルを表示するWindowの左下Y座標を設定/取得します。

right プロパティ

モデルを表示するWindowの右上X座標

workwin.right : Integer

解説
モデルを表示するWindowの右上X座標を設定/取得します。

top プロパティ

モデルを表示するWindowの右上Y座標

workwin.top : Integer

解説
モデルを表示するWindowの右上Y座標を設定/取得します。

Model プロパティ

表示しているModelオブジェクト

workwin.Model : Model

解説
表示しているModelオブジェクトを設定/取得します。

bShowMapFrame プロパティ

モデルの座標系とその枠の表示/非表示フラグ

workwin.bShowMapFrame : Boolean

解説
モデルの座標系とその枠の表示/非表示フラグを設定/取得します。

bValid プロパティ

作業Windowへモデルが表示可能かどうか判定

workwin.bValid : Boolean [ReadOnly]

解説
作業Windowへモデルが表示可能かどうかを返します。

Activate 関数

作業Windowのアクティブ化

workwin.Activate( )

引数
なし
返値
なし
解説
この関数を実行すると、CadApp.ActiveWorkwinがこのオブジェクトになります。
またCadApp.ActiveModelもこのオブジェクトのModelになります。

DispBase 関数

図面の基図を表示

workwin.DispBase( )

引数
なし
返値
なし
解説
SetBaseRect関数でセットされたペーパー上の基図領域を作業Windowに表示させる。
SetBaseRect関数が実行される前は図面全体が基図領域です。

DispPaper 関数

図面全体を表示

workwin.DispPaper( )

引数
なし
返値
なし
解説
図面全体を作業Window内に表示させます。

GetBaseRect 関数

基図領域を取得

workwin.GetBaseRect( ) : Array

引数
なし
返値
基図領域の対角座標を配列で返します。
解説
ペーパー上の基図領域を配列[ x1, y1, x2, y2 ]で返します。

SetBaseRect 関数

基図領域を設定

workwin.SetBaseRect( x1, y1, x2, y2 )

引数
x1 : Number
基図領域左下X座標
y1 : Number
基図領域左下Y座標
x2 : Number
基図領域右上X座標
y2 : Number
基図領域右上Y座標
返値
なし
解説
指定したペーパー上の領域を基図領域とします。DispBase関数を実行すると、この領域が作業Windowに表示されます。

GetDispRect 関数

表示領域を取得

workwin.GetDispRect( ) : Array

引数
なし
返値
領域の対角座標を配列で返します。
解説
現在表示しているペーパー上の表示領域を配列[ x1, y1, x2, y2 ]で返します。

SetDispRect 関数

表示領域を設定

workwin.SetDispRect( x1, y1, x2, y2 )

引数
x1 : Number
表示領域左下X座標
y1 : Number
表示領域左下Y座標
x2 : Number
表示領域右上X座標
y2 : Number
表示領域右上Y座標
返値
なし
解説
指定したペーパー上の領域を表示領域とします。Refresh関数を実行すると、この領域が作業Windowに表示されます。

Pan 関数

画面を移動

workwin.Pan( xfrom, yfrom, xto, yto )

引数
xfrom : Number
移動の始点X座標
yfrom : Number
移動の始点Y座標
xto : Number
移動の終点X座標
yto : Number
移動の終点Y座標
返値
なし
解説
ペーパー上の点(xfrom,yfrom)から点(xto,yto)まで表示領域を移動させます。

Zoom 関数

図面を拡大

workwin.Zoom( x1, y1, x2, y2 )

引数
x1 : Number
ペーパー上の領域隅点1 X座標
y1 : Number
ペーパー上の領域隅点1 Y座標
x2 : Number
ペーパー上の領域隅点2 X座標
y2 : Number
ペーパー上の領域隅点2 Y座標
返値
なし
解説
ペーパー上の領域(x1,y1)-(x2,y2)を表示領域に表示します。
(x1,y1)-(x2,y2)の与え方により、拡大表示になったり縮小表示になったりします。

Zooming 関数

図面を拡大/縮小

workwin.Zooming( xc, yc, [k=2.0] )

引数
xc : Number
拡大/縮小の基準位置(ペーパー座標) X座標
yc : Number
拡大/縮小の基準位置(ペーパー座標) Y座標
k : Number
倍率
返値
なし
解説
(xc,yc)を中心に表示領域を1/k倍広げます。
k>1なら図面が拡大表示、k<1なら図面が縮小表示されます。

Refresh 関数

作業Windowを再描画

workwin.Refresh( )

引数
なし
返値
なし
解説
作業Windowを再描画します。

W2P 関数

Windowの座標をペーパー上の座標に変換

workwin.W2P( xw, yw ) : Array

引数
xw : Number
WindowのX座標
yw : Number
WindowのY座標
返値
変換した座標を配列[ xp, yp ]で返します。
解説
Windowの座標(xw,yw)をペーパー上の座標(xp,yp)に変換します。

P2W 関数

ペーパー上の座標をWindowの座標に変換

workwin.P2W( xp, yp ) : Array

引数
xp : Number
ペーパー上のX座標
yp : Number
ペーパー上のY座標
返値
変換した座標を配列[ xw, yw ]で返します。
解説
ペーパー上の座標(xp,yp)をWindowの座標(xw,yw)に変換します。

Workwin コンストラクター

Workwinオブジェクトを作成

new Workwin( ) : Workwin

引数
なし
返値
Workwinオブジェクトを返します。
解説
Workwinオブジェクトを作成して返します。
作成できない場合、例外を発生します。

WorkwinSクラス

Workwinクラスの配列です。
説明中に出てくる"workwins"はWorkwinSクラスのオブジェクトです。

Count プロパティ、length プロパティ

現在の配列の最大数

workwins.Count : Integer [ReadOnly]
workwins.length : Integer [ReadOnly]

解説
現在の配列の最大数を返します。Countプロパティとlengthプロパティは同動作します。
var ws = new WorkwinS();
var cnt;
 :
ws = CadApp.WorkwinS;
cnt = ws.Count;
alert( ws[0] );       //配列の最初のWorkwinオブジェクト
alert( ws[cnt-1] );   //配列の最後のWorkwinオブジェクト

WorkwinS コンストラクター

WorkwinSオブジェクトを作成

new WorkwinS( ) : WorkwinS

引数
なし
返値
WorkwinSオブジェクトを返します。
解説
WorkwinSオブジェクトを作成して返します。
作成できない場合、例外を発生します。

BasePVクラス

図面を部品として扱うときの基準データを扱うクラスです。
説明中に出てくる"basepv"はBasePVクラスのオブジェクトです。

xb, yb, zb プロパティ

基準点

basepv.xb : Number
basepv.yb : Number
basepv.zb : Number

解説
基準点
var m = CadApp.ActiveModel;

var bp = new BasePV();
bp.xb = 100.0;
bp.yb = 150.0;

m.SetBasePV( bp );	//部品の基準を設定

xv, yv, zv プロパティ

方向点

basepv.xv : Number
basepv.yv : Number
basepv.zv : Number

解説
方向点
var m = CadApp.ActiveModel;

var bp = new BasePV();
bp = m.GetBasePV( );	//部品の基準を取得

if( bp ){
  alert( bp.xv + " , " + bp.yv );
}

BasePV コンストラクター

BasePVオブジェクトを作成

new BasePV( ) : BasePV

引数
なし
返値
BasePVオブジェクトを返します。
解説
BasePVオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone コンストラクター

自身のコピーを作成

basepv.clone( ) : BasePV

引数
なし
返値
BasePVオブジェクトを返します。
解説
自身のコピーを作成し返します。
var bp1 = new BasePV(), bp2 = new BasePV();
 :
bp1 = bp2.clone();

Gridクラス

グリッドデータを扱うクラスです。
説明中に出てくる"grid"はGridクラスのオブジェクトです。

xg プロパティ

グリッド基準点X座標

grid.xg : Number

解説
グリッド基準点X座標を設定/取得します。

yg プロパティ

グリッド基準点Y座標

grid.yg : Number

解説
グリッド基準点Y座標を設定/取得します。

angx プロパティ

グリッドX方向角度

grid.angx : Number

解説
グリッドX方向角度を設定/取得します。

Lx プロパティ

グリッドX方向単位長さ

grid.Lx : Number

解説
グリッドX方向単位長さを設定/取得します。

angy プロパティ

グリッドY方向角度

grid.angy : Number

解説
グリッドY方向角度を設定/取得します。

Ly プロパティ

グリッドY方向単位長さ

grid.Ly : Number

解説
グリッドY方向単位長さを設定/取得します。

x1 プロパティ

グリッド領域の隅点1 X座標(図面座標)

grid.x1 : Number

解説
グリッド領域の隅点1 X座標(図面座標)を設定/取得します。

y1 プロパティ

グリッド領域の隅点1 Y座標(図面座標)

grid.y1 : Number

解説
グリッド領域の隅点1 Y座標(図面座標)を設定/取得します。

x2 プロパティ

グリッド領域の隅点2 X座標(図面座標)

grid.x2 : Number

解説
グリッド領域の隅点2 X座標(図面座標)を設定/取得します。

y2 プロパティ

グリッド領域の隅点2 Y座標(図面座標)

grid.y2 : Number

解説
グリッド領域の隅点2 Y座標(図面座標)を設定/取得します。

Grid コンストラクター

Gridオブジェクトを作成

new Grid( ) : Grid

引数
なし
返値
Gridオブジェクトを返します。
解説
Gridオブジェクトを作成して返します。
作成できない場合、例外を発生します。

clone コンストラクター

自身のコピーを作成

grid.clone( ) : Grid

引数
なし
返値
Gridオブジェクトを返します。
解説
自身のコピーを作成し返します。
var grd1 = new Grid(), grd2 = new Grid();
 :
grd1 = grd2.clone();