CAD定数一覧です。
計算エラー
解説
0
定数だけの式を計算した
解説
1
変数を含む式を計算した
解説
2
通常コマンドレベル
解説
0
割込コマンドレベル
解説
1
割込コマンドレベル2
解説
2
Defaultコマンドレベル
解説
-1
Noneコマンドレベル
解説
-1
開始状態
解説
-32767
開始状態
解説
-32767
中止状態
解説
-32766
終了状態
解説
-32765
再スタート状態
解説
-32764
無視状態
解説
-32763
エラー状態
解説
-32762
B-スプライン曲線(3次)
解説
0
C-スプライン曲線(3次)
解説
1
識別不可能な形式
解説
0
FTR形式
解説
1
SVL作成中のFTR形式
解説
2
DXF形式
解説
3
DWG形式
解説
4
JWC形式
解説
5
EMF形式
解説
6
SXF形式
解説
7
JWW形式
解説
8
水平・垂直・平行寸法
解説
1
直径寸法
解説
2
半径寸法
解説
3
角度寸法
解説
4
C寸法
解説
6
引き出し線・注釈
解説
7
弧長寸法
解説
8
バルーン
解説
11
移動モード
解説
1
回転モード
解説
2
バックグランドで描画
解説
0
エンティティのカラーハンドルで描画
解説
1
特別色で描画
解説
2
XOR(排他的論理和)で描画
解説
3
複写保存 AfineEntys()用
解説
-1
移動保存 AfineEntys()用
解説
-2
無制限
解説
-1
始点側端
解説
0
終点側端
解説
1
両側
解説
2
なし
解説
0
黒色
解説
1
赤色
解説
2
緑色
解説
3
黄色
解説
4
青色
解説
5
紫色
解説
6
水色
解説
7
白色
解説
8
最大カラー数
解説
16
なし
解説
0
なし
解説
0
ヌル画層
解説
1
パラレル変換用画層
解説
65535
なし
解説
0
実線
解説
1
点線
解説
2
破線(1)
解説
3
1点鎖線(1)
解説
4
2点鎖線(1)
解説
5
破線(2)
解説
6
1点鎖線(2)
解説
7
2点鎖線(2)
解説
8
最大線種数
解説
8
なし
解説
0
ペーパー座標系ハンドル
解説
1
なし
解説
0
標準フォント
解説
1
標準フォント2
解説
2
Point2型
解説
1
Line2型
解説
2
Circle2型
解説
3
Ellipse2型
解説
4
Curve2型
解説
5
Text2型
解説
6
Dim2型
解説
7
数値(SVL入力要素用)
解説
200
文字列(SVL入力要素用)
解説
201
なし
解説
0
メタWindowハンドル
解説
65535
印刷Windowハンドル
解説
65534
要素を優先に取り出す
解説
0
点を優先に取り出す
解説
1
左ボタン
解説
1
右ボタン
解説
2
中ボタン
解説
4
Shiftボタン
解説
8
Ctrlボタン
解説
16
Altボタン
解説
32
2次元座標系
解説
1
3次元座標系
解説
2
小さい矩形(m)
解説
1001
小さいペケ(m)
解説
1002
小さい三角形(m)
解説
1003
丸(m)
解説
1004
直線(m)
解説
1005
小さいプラス(m)
解説
1006
小さい矢印(m)
解説
1007
小さい矩形(s)
解説
1
小さいペケ(s)
解説
2
小さい三角形(s)
解説
3
丸(s)
解説
4
直線(s)
解説
5
小さいプラス(s)
解説
6
小さい矢印(s)
解説
7
name
解説
1
bShow
解説
2
bNonBound
解説
4
Nlayer
解説
8
xpbase,ypbase)
解説
16
xsymbol,ysymbol)
解説
32
xpdom1,ypdom1)-(xpdom2,ypdom2)
解説
64
座標系共通部分すべて
解説
127
xb,yb)
解説
65536
rotate
解説
131072
xscale
解説
262144
yscale
解説
524288
2次元座標系すべて
解説
983167
普通の2次元座標系作成用 name,(xpbase,ypbase),scale
解説
262161
なし
解説
0
点
解説
1(=2^0)
直線
解説
2(=2^1)
円(弧)
解説
4(=2^2)
楕円(弧)
解説
8(=2^3)
曲線
解説
16(=2^4)
記事
解説
32(=2^5)
寸法
解説
64(=2^6)
Group
解説
67108864(=2^26)
#要素
解説
8388608(=2^23)
すべて
解説
127(=1+2+4+8+16+32+64)
要素ハンドルを持つ要素に限定
解説
-2147483648(=2^31)
モデル内で計算 CollectEntity(..,CollectTypeBits,...)関数で使用
解説
1073741824(=2^30)
有限直線のみ
解説
536870912(=2^29)
特殊キー
解説
-32767
自由点
解説
-32766
要素ピックアップ
解説
-32765
バック矩形領域
解説
-32764
ビュー矩形領域
解説
-32763
Yes/No
解説
-32762
ドラッグ&ドロップ
解説
-32761
要求なし
解説
0
特殊キー要求
解説
1
自由点要求
解説
2
要素ピックアップ要求
解説
4
バック矩形領域要求
解説
8
ビュー矩形領域要求
解説
16
Yes/No要求
解説
32
ドラッグ&ドロップ要求
解説
64
クリック位置の無印要求
解説
-2147483648
ペーパー上に表示
解説
0
モデル上に表示
解説
1
[ESC]
解説
0
[TAB]
解説
1
[Shift + TAB]
解説
2
[Ctrl + TAB]
解説
3
エラー数値
解説
1.0e37
例
alert( CadConst.ERR_NUM ); //"1.0e37"
最小誤差
解説
GOSA=1.0e-6, GOSA1=1.0e-9, GOSA=1.0e-12
例
alert( CadConst.GOSA ); //"1.0e-6"
円周率
解説
3.14159265358979323846
例
alert( CadConst.PI ); //"3.14159265358979323846"
印刷用紙サイズ
用紙向き
印刷解像度
印刷カラーモード
Point2クラスの配列です。
説明中に出てくる"arraypoint2"はArrayPoint2クラスのオブジェクトです。
現在の配列の最大数
解説
現在の配列の最大数を返します。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オブジェクトを返します。
解説
ArrayPoint2オブジェクトを作成して返します。
作成できない場合、例外を発生します。
配列の最後に点座標を追加
引数
v : Point2
追加するPoint2オブジェクト
返値
なし
解説
配列の最後に点座標vを追加します。
Countプロパティ、lengthプロパティは自動的に+1増えます。
例
var pts = new ArrayPoint2();
var p = new Point2();
:
pts.Add( p );
配列の中身を空にする
引数
なし
返値
なし
解説
配列の中身を空にします。
Countプロパティ、lengthプロパティは0になります。
例
var pts = new ArrayPoint2();
:
pts.Clear( );
alert( pts.Count ); //"0"
指定した個数分の配列のメモリを確保
引数
n : Integer
確保する個数
返値
なし
解説
メモリを効率よく使用するためにあらかじめ呼び出します。
Countプロパティ、lengthプロパティは変わりません。
例
var pts = new ArrayPoint2();
pts.Reserve( 10 ); //10個分のメモリを確保
Entityクラスの配列です。
説明中に出てくる"arrayentity"はArrayEntityクラスのオブジェクトです。
現在の配列の最大数
解説
現在の配列の最大数を返します。Countプロパティとlengthプロパティは同動作します。
例
var es = new ArrayEntity();
var cnt;
:
cnt = es.Count;
alert( es[0] ); //配列の最初の要素
alert( es[cnt-1] ); //配列の最後の要素
ArrayEntityオブジェクトを作成
引数
なし
返値
ArrayEntityオブジェクトを返します。
解説
ArrayEntityオブジェクトを作成して返します。
作成できない場合、例外を発生します。
配列の最後に要素を追加
引数
v : Entity
追加するEntityオブジェクト
返値
なし
解説
配列の最後に要素vを追加します。
Countプロパティ、lengthプロパティは自動的に+1増えます。
例
var es = new ArrayEntity();
var e = new Entity();
:
es.Add( e );
配列の中身を空にする
引数
なし
返値
なし
解説
配列の中身を空にします。
Countプロパティ、lengthプロパティは0になります。
例
var es = new ArrayEntity();
:
es.Clear( );
alert( es.Count ); //"0"
指定した個数分の配列のメモリを確保
引数
n : Integer
確保する個数
返値
なし
解説
メモリを効率よく使用するためにあらかじめ呼び出します。
Countプロパティ、lengthプロパティは変わりません。
例
var es = new ArrayEntity();
es.Reserve( 10 ); //10個分のメモリを確保
(要素番号、要素、要素属性)の配列です。
説明中に出てくる"arrayentitya"はArrayEntityAクラスのオブジェクトです。
現在の配列の最大数
解説
現在の配列の最大数を返します。Countプロパティとlengthプロパティは同動作します。
例
var ea = new ArrayEntityA();
var cnt;
:
cnt = ea.Count;
alert( ea[0].enty ); //配列の最初の要素
alert( ea[cnt-1].enty ); //配列の最後の要素
指定インデックスのEntityオブジェクト
解説
指定インデックスのEntityオブジェクトを返します。
例
var ea = new ArrayEntityA();
:
alert( ea[i].enty ); //i番目の要素
指定インデックスのEntityHeadオブジェクト
解説
指定インデックスのEntityHeadオブジェクトを返します。
例
var ea = new ArrayEntityA();
:
alert( ea[i].EntyHead ); //i番目の要素属性
指定インデックスの要素番号
解説
指定インデックスの要素番号を返します。
例
var ea = new ArrayEntityA();
:
alert( ea[i].henty ); //i番目の要素番号
ArrayEntityAオブジェクトを作成
引数
なし
返値
ArrayEntityAオブジェクトを返します。
解説
ArrayEntityAオブジェクトを作成して返します。
作成できない場合、例外を発生します。
配列の中身を空にする
引数
なし
返値
なし
解説
配列の中身を空にします。
Countプロパティ、lengthプロパティは0になります。
例
var ea = new ArrayEntityA();
:
ea.Clear( );
alert( ea.Count ); //"0"
点要素を扱うクラスです。
説明中に出てくる"point2"はPoint2クラスのオブジェクトです。
点のX座標
解説
点のX座標を設定/取得します。
点のY座標
解説
点のY座標を設定/取得します。
Point2オブジェクトを作成
引数
x : Number
点のX座標
y : Number
点のY座標
返値
Point2オブジェクトを返します。
解説
Point2オブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Point2オブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var p1 = new Point2(), p2 = new Point2();
:
p1 = p2.clone();
直線要素を扱うクラスです。
説明中に出てくる"line2"はLine2クラスのオブジェクトです。
直線の始点側X座標
解説
直線の始点側X座標を設定/取得します。
直線の始点側Y座標
解説
直線の始点側Y座標を設定/取得します。
直線の終点側X座標
解説
直線の終点側X座標を設定/取得します。
直線の終点側Y座標
解説
直線の終点側Y座標を設定/取得します。
Line2オブジェクトを作成
引数
x1 : Number
直線の始点側X座標
y1 : Number
直線の始点側Y座標
x2 : Number
直線の終点側X座標
y2 : Number
直線の終点側Y座標
返値
Line2オブジェクトを返します。
解説
Line2オブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Line2オブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var ln1 = new Line2(), ln2 = new Line2();
:
ln1 = ln2.clone();
円要素を扱うクラスです。
説明中に出てくる"circle2"はCircle2クラスのオブジェクトです。
円(弧)の中心X座標
解説
円(弧)の中心X座標を設定/取得します。
円(弧)の中心Y座標
解説
円(弧)の中心Y座標を設定/取得します。
円(弧)の半径
解説
円(弧)の半径を設定/取得します。
円(弧)の開始角
解説
円(弧)の開始角を設定/取得します。
円(弧)の変位角
解説
円(弧)の変位角を設定/取得します。
Circle2オブジェクトを作成
引数
x : Number
円(弧)の中心X座標
y : Number
円(弧)の中心Y座標
r : Number
円(弧)の半径
sa : Number
円(弧)の開始角
da : Number
円(弧)の変位角
返値
Circle2オブジェクトを返します。
解説
Circle2オブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Circle2オブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var cir1 = new Circle2(), cir2 = new Circle2();
:
cir1 = cir2.clone();
楕円要素を扱うクラスです。
説明中に出てくる"ellipse2"はEllipse2クラスのオブジェクトです。
楕円(弧)の中心X座標
解説
楕円(弧)の中心X座標を設定/取得します。
楕円(弧)の中心Y座標
解説
楕円(弧)の中心Y座標を設定/取得します。
楕円(弧)の長軸半径
解説
楕円(弧)の長軸半径を設定/取得します。
楕円(弧)の短軸半径
解説
楕円(弧)の短軸半径を設定/取得します。
楕円(弧)の傾き角
解説
楕円(弧)の傾き角を設定/取得します。
楕円(弧)の開始角
解説
楕円(弧)の開始角を設定/取得します。
楕円(弧)の変位角
解説
楕円(弧)の変位角を設定/取得します。
Ellipse2オブジェクトを作成
引数
x : Number
楕円(弧)の中心X座標
y : Number
楕円(弧)の中心Y座標
ra : Number
楕円(弧)の長軸半径
rb : Number
楕円(弧)の短軸半径
tna : Number
楕円(弧)の傾き角
sa : Number
楕円(弧)の開始角
da : Number
楕円(弧)の変位角
返値
Ellipse2オブジェクトを返します。
解説
Ellipse2オブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Ellipse2オブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var elip1 = new Ellipse2(), elip2 = new Ellipse2();
:
elip1 = elip2.clone();
曲線要素を扱うクラスです。
説明中に出てくる"curve2"はCurve2クラスのオブジェクトです。
曲線の種類
解説
CadConst.curveformBSPL = 0:B-スプライン曲線(3次)
CadConst.curveformCSPL = 1:C-スプライン曲線(3次)
定義点数
解説
曲線の定義点数を取得します。
データ配列
解説
データ配列を取得します。
通過点での2回微分(C-スプラインのみ)
解説
通過点での2回微分(C-スプラインのみ)
曲線端点モード
解説
true:開曲線
false:閉曲線
通過点を結んだ折れ線の長さ(C-スプラインのみ)
解説
通過点を結んだ折れ線の長さを取得します。(C-スプラインのみ)
Curve2オブジェクトを作成
引数
なし
返値
Curve2オブジェクトを返します。
解説
Curve2オブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Curve2オブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var crv1 = new Curve2(), crv2 = new Curve2();
:
crv1 = crv2.clone();
自由曲線を生成
引数
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クラスのオブジェクトです。
記事の基準点X座標
解説
記事の基準点X座標を設定/取得します。
記事の基準点Y座標
解説
記事の基準点Y座標を設定/取得します。
記事の方向角
解説
記事の方向角を設定/取得します。
記事のビットフラグ
解説
記事のビットフラグを設定/取得します。
記事の高さ
解説
記事の高さを設定/取得します。
記事の巾/高さ(比)
解説
記事の巾/高さ(比)を設定/取得します。
記事のピッチ(比)
解説
記事のピッチ(比)を設定/取得します。
記事の傾斜角(-π/4~π/4)
解説
記事の傾斜角(-π/4~π/4)を設定/取得します。
記事の文字数
解説
記事の文字数を返します。
記事の文字列
解説
記事の文字列を設定/取得します。
Text2オブジェクトを作成
引数
なし
返値
Text2オブジェクトを返します。
解説
Text2オブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Text2オブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var txt1 = new Text2(), txt2 = new Text2();
:
txt1 = txt2.clone();
水平、垂直、平行寸法要素を扱うクラスです。
説明中に出てくる"dim2normal"はDim2Normalクラスのオブジェクトです。
基準点BP1のX座標
解説
基準点BP1のX座標を設定/取得します。
基準点BP1のY座標
解説
基準点BP1のY座標を設定/取得します。
基準点BP2のX座標
解説
基準点BP2のX座標を設定/取得します。
基準点BP2のY座標
解説
基準点BP2のY座標を設定/取得します。
寸法線の法線角度
解説
寸法線の法線角度を設定/取得します。
基準点BP1から寸法線までの距離
解説
基準点BP1から寸法線までの距離を設定/取得します。
基準点BP1から足先までの長さ
解説
基準点BP1から足先までの長さを設定/取得します。
基準点BP2から足先までの長さ
解説
基準点BP2から足先までの長さを設定/取得します。
寸法補助線の傾き
解説
寸法補助線の傾きを設定/取得します。
寸法補助線の頭の長さ
解説
寸法補助線の頭の長さを設定/取得します。
基準点BP1側の腕の長さ
解説
基準点BP1側の腕の長さを設定/取得します。
基準点BP2側の腕の長さ
解説
基準点BP2側の腕の長さを設定/取得します。
基準点BP1側の矢の先端部の長さまたは半径(図面大)
解説
基準点BP1側の矢の先端部の長さまたは半径(図面大)を設定/取得します。
基準点BP2側の矢の先端部の長さまたは半径(図面大)
解説
基準点BP2側の矢の先端部の長さまたは半径(図面大)を設定/取得します。
基準点BP1側の矢の挟み角
解説
基準点BP1側の矢の挟み角を設定/取得します。
基準点BP2側の矢の挟み角
解説
基準点BP2側の矢の挟み角を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
寸法線と寸法文字との距離2(図面大)
解説
寸法線と寸法文字との距離2(図面大)を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を取得します。
寸法文字列
解説
寸法文字列を設定/取得します。
基準点BP1側の矢の種類
解説
基準点BP1側の矢の種類を設定/取得します。
基準点BP2側の矢の種類
解説
基準点BP2側の矢の種類を設定/取得します。
基準点BP1側の寸法補助線の表示/非表示のフラグ
解説
基準点BP1側の寸法補助線の表示/非表示のフラグを設定/取得します。
基準点BP2側の寸法補助線の表示/非表示のフラグ
解説
基準点BP2側の寸法補助線の表示/非表示のフラグを設定/取得します。
寸法文字の置き方
解説
寸法文字の置き方(0:センター合わせ、1:基準点BP1側、2:基準点BP2側)を設定/取得します。
Dim2Normalオブジェクトを作成
引数
なし
返値
Dim2Normalオブジェクトを返します。
解説
Dim2Normalオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Normalオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Normal(), snp2 = new Dim2Normal();
:
snp1 = snp2.clone();
直径寸法要素を扱うクラスです。
説明中に出てくる"dim2diameter"はDim2Diameterクラスのオブジェクトです。
中心X座標
解説
中心X座標を設定/取得します。
中心Y座標
解説
中心Y座標を設定/取得します。
寸法線の傾き角度
解説
寸法線の傾き角度を設定/取得します。
腕の長さ1
解説
腕の長さ1を設定/取得します。
腕の長さ2
解説
腕の長さ2を設定/取得します。
矢の先端部の長さまたは半径1(図面大)
解説
矢の先端部の長さまたは半径1(図面大)を設定/取得します。
矢の先端部の長さまたは半径2(図面大)
解説
矢の先端部の長さまたは半径2(図面大)を設定/取得します。
矢の挟み角1
解説
矢の挟み角1を設定/取得します。
矢の挟み角2
解説
矢の挟み角2を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を返します。
寸法文字列
解説
寸法文字列を設定/取得します。
矢の種類1
解説
矢の種類1を設定/取得します。
矢の種類2
解説
矢の種類2を設定/取得します。
寸法文字の置き方
解説
寸法文字の置き方(0:センター合わせ、1:方向ang側、2:方向-ang側)を設定/取得します。
Dim2Diameterオブジェクトを作成
引数
なし
返値
Dim2Diameterオブジェクトを返します。
解説
Dim2Diameterオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Diameterオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Diameter(), snp2 = new Dim2Diameter();
:
snp1 = snp2.clone();
半径寸法要素を扱うクラスです。
説明中に出てくる"dim2radius"はDim2Radiusクラスのオブジェクトです。
中心X座標
解説
中心X座標を設定/取得します。
中心Y座標
解説
中心Y座標を設定/取得します。
半径
解説
半径を設定/取得します。
寸法線の傾き角度
解説
寸法線の傾き角度を設定/取得します。
寸法線腕の頭の長さ
解説
寸法線腕の頭の長さを設定/取得します。
中心から足先までの長さ
解説
中心から足先までの長さを設定/取得します。
矢の先端部の長さまたは半径(図面大)
解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。
矢の挟み角
解説
矢の挟み角を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を返します。
寸法文字列
解説
寸法文字列を設定/取得します。
矢の種類
解説
矢の種類を設定/取得します。
寸法文字の置き方
解説
寸法文字の置き方(0:センター合わせ、1,2:方向ang側)を設定/取得します。
Dim2Radiusオブジェクトを作成
引数
なし
返値
Dim2Radiusオブジェクトを返します。
解説
Dim2Radiusオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Radiusオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Radius(), snp2 = new Dim2Radius();
:
snp1 = snp2.clone();
角度寸法要素を扱うクラスです。
説明中に出てくる"dim2angle"はDim2Angleクラスのオブジェクトです。
中心X座標
解説
中心X座標を設定/取得します。
中心Y座標
解説
中心Y座標を設定/取得します。
半径
解説
半径を設定/取得します。
寸法線の開始角
解説
寸法線の開始角を設定/取得します。
寸法線の変位角
解説
寸法線の変位角を設定/取得します。
寸法線の胴体の長さ1
解説
寸法線の胴体の長さ1を設定/取得します。
寸法線の胴体の長さ2
解説
寸法線の胴体の長さ2を設定/取得します。
寸法補助線の腕の長さ1
解説
寸法補助線の腕の長さ1を設定/取得します。
寸法補助線の腕の長さ2
解説
寸法補助線の腕の長さ2を設定/取得します。
寸法線の腕の長さ1
解説
寸法線の腕の長さ1を設定/取得します。
寸法線の腕の長さ2
解説
寸法線の腕の長さ2を設定/取得します。
矢の先端部の長さまたは半径1(図面大)
解説
矢の先端部の長さまたは半径1(図面大)を設定/取得します。
矢の先端部の長さまたは半径2(図面大)
解説
矢の先端部の長さまたは半径2(図面大)を設定/取得します。
矢の挟み角1
解説
矢の挟み角1を設定/取得します。
矢の挟み角2
解説
矢の挟み角2を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
寸法線と寸法文字との距離2(図面大)
解説
寸法線と寸法文字との距離2(図面大)を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を取得します。
寸法文字列
解説
寸法文字列を設定/取得します。
矢の種類1
解説
矢の種類1を設定/取得します。
矢の種類2
解説
矢の種類2を設定/取得します。
寸法補助線の表示/非表示のフラグ1
解説
寸法補助線の表示/非表示のフラグ1を設定/取得します。
寸法補助線の表示/非表示のフラグ2
解説
寸法補助線の表示/非表示のフラグ2を設定/取得します。
寸法文字の置き方
解説
寸法文字の置き方(0:センター合わせ、1:方向sang側、2:方向sang+dang側)を設定/取得します。
Dim2Angleオブジェクトを作成
引数
なし
返値
Dim2Angleオブジェクトを返します。
解説
Dim2Angleオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Angleオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Angle(), snp2 = new Dim2Angle();
:
snp1 = snp2.clone();
C寸法要素を扱うクラスです。
説明中に出てくる"dim2csnp"はDim2Csnpクラスのオブジェクトです。
中心X座標
解説
中心X座標を設定/取得します。
中心Y座標
解説
中心Y座標を設定/取得します。
寸法線の傾き角
解説
寸法線の傾き角を設定/取得します。
寸法線の胴体の長さ
解説
寸法線の胴体の長さを設定/取得します。
寸法線の腕の長さ
解説
寸法線の腕の長さを設定/取得します。
矢の先端部の長さまたは半径(図面大)
解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。
矢の挟み角
解説
矢の挟み角を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を取得します。
寸法文字列
解説
寸法文字列を設定/取得します。
矢の種類
解説
矢の種類を設定/取得します。
寸法文字の置き方
解説
寸法文字の置き方(0:センター合わせ、1:方向ang側、2:方向-ang側)を設定/取得します。
Dim2Csnpオブジェクトを作成
引数
なし
返値
Dim2Csnpオブジェクトを返します。
解説
Dim2Csnpオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Csnpオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Csnp(), snp2 = new Dim2Csnp();
:
snp1 = snp2.clone();
引き出し線、注釈要素を扱うクラスです。
説明中に出てくる"dim2note"はDim2Noteクラスのオブジェクトです。
基準点X座標
解説
基準点X座標を設定/取得します。
基準点Y座標
解説
基準点Y座標を設定/取得します。
寸法線の傾き角1
解説
寸法線の傾き角1を設定/取得します。
寸法線の傾き角2
解説
寸法線の傾き角2を設定/取得します。
寸法線の胴体の長さ
解説
寸法線の胴体の長さを設定/取得します。
寸法線の腕の長さ1
解説
寸法線の腕の長さ1を設定/取得します。
寸法線の腕の長さ2
解説
寸法線の腕の長さ2を設定/取得します。
矢の先端部の長さまたは半径(図面大)
解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。
矢の挟み角
解説
矢の挟み角を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を取得します。
寸法文字列
解説
寸法文字列を設定/取得します。
矢の種類
解説
矢の種類を設定/取得します。
寸法文字の置き方
解説
寸法文字の置き方(0:センター合わせ、1,2:arm1の端に合わせる)を設定/取得します。
Dim2Noteオブジェクトを作成
引数
なし
返値
Dim2Noteオブジェクトを返します。
解説
Dim2Noteオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Noteオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Note(), snp2 = new Dim2Note();
:
snp1 = snp2.clone();
弧状寸法要素を扱うクラスです。
説明中に出てくる"dim2arclen"はDim2Arclenクラスのオブジェクトです。
中心X座標
解説
中心X座標を設定/取得します。
中心Y座標
解説
中心Y座標を設定/取得します。
半径
解説
半径を設定/取得します。
開始角
解説
開始角を設定/取得します。
変位角
解説
変位角を設定/取得します。
基準円と寸法線との距離
解説
基準円と寸法線との距離を設定/取得します。
基準点から足先までの長さ1
解説
基準点から足先までの長さ1を設定/取得します。
基準点から足先までの長さ2
解説
基準点から足先までの長さ2を設定/取得します。
寸法補助線の頭の長さ1
解説
寸法補助線の頭の長さ1を設定/取得します。
寸法補助線の頭の長さ2
解説
寸法補助線の頭の長さ2を設定/取得します。
寸法線の腕の長さ1
解説
寸法線の腕の長さ1を設定/取得します。
寸法線の腕の長さ2
解説
寸法線の腕の長さ2を設定/取得します。
矢の先端部の長さまたは半径1(図面大)
解説
矢の先端部の長さまたは半径1(図面大)を設定/取得します。
矢の先端部の長さまたは半径2(図面大)
解説
矢の先端部の長さまたは半径2(図面大)を設定/取得します。
矢の挟み角1
解説
矢の挟み角1を設定/取得します。
矢の挟み角2
解説
矢の挟み角2を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
寸法線と寸法文字との距離(図面大)
解説
寸法線と寸法文字との距離(図面大)を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を取得します。
寸法文字列
解説
寸法文字列を設定/取得します。
矢の種類1
解説
矢の種類1を設定/取得します。
矢の種類2
解説
矢の種類2を設定/取得します。
寸法補助線の表示/非表示のフラグ1
解説
寸法補助線の表示/非表示のフラグ1を設定/取得します。
寸法補助線の表示/非表示のフラグ2
解説
寸法補助線の表示/非表示のフラグ2を設定/取得します。
寸法文字の置き方
解説
寸法文字の置き方(0:センター合わせ、1:方向sang側、2:方向sang+dang側)を設定/取得します。
Dim2Arclenオブジェクトを作成
引数
なし
返値
Dim2Arclenオブジェクトを返します。
解説
Dim2Arclenオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Arclenオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Arclen(), snp2 = new Dim2Arclen();
:
snp1 = snp2.clone();
バルーン要素を扱うクラスです。
説明中に出てくる"dim2ballon"はDim2Ballonクラスのオブジェクトです。
基準点X座標
解説
基準点X座標を設定/取得します。
基準点Y座標
解説
基準点Y座標を設定/取得します。
第1の腕の長さ
解説
第1の腕の長さを設定/取得します。
第1の腕の角度
解説
第1の腕の角度を設定/取得します。
第2の腕の角度
解説
第2の腕の角度を設定/取得します。
第2の腕の長さ
解説
第2の腕の長さを設定/取得します。
矢の先端部の長さまたは半径(図面大)
解説
矢の先端部の長さまたは半径(図面大)を設定/取得します。
矢の挟み角
解説
矢の挟み角を設定/取得します。
バルーンの半径または一辺の長さ(図面大)
解説
バルーンの半径または一辺の長さ(図面大)を設定/取得します。
寸法文字方向の回転角
解説
寸法文字方向の回転角を設定/取得します。
文字の高さ
解説
文字の高さを設定/取得します。
文字の巾/高さ(比)
解説
文字の巾/高さ(比)を設定/取得します。
文字のピッチ(比)
解説
文字のピッチ(比)を設定/取得します。
文字の傾斜角(-π/4~π/4)
解説
文字の傾斜角(-π/4~π/4)を設定/取得します。
文字の文字数
解説
文字の文字数を取得します。
寸法文字列
解説
寸法文字列を設定/取得します。
矢の種類
解説
矢の種類を設定/取得します。
バルーンの種類
解説
バルーンの種類を設定/取得します。
三角/正方形バルーンの置き方
解説
三角/正方形バルーンの置き方(1:丸形、2:三角形、3:正方形)を設定/取得します。
Dim2Ballonオブジェクトを作成
引数
なし
返値
Dim2Ballonオブジェクトを返します。
解説
Dim2Ballonオブジェクトを作成して返します。
作成できない場合、例外を発生します。
自身のコピーを作成
引数
なし
返値
Dim2Ballonオブジェクトを返します。
解説
自身のコピーを作成し返します。
例
var snp1 = new Dim2Ballon(), snp2 = new Dim2Ballon();
:
snp1 = snp2.clone();
CAD全体を管理したり補助関数を集めたオブジェクトです。
アクティブなモデル
解説
アクティブなModelオブジェクトを取得または設定
例
var m = CadApp.ActiveModel;
モデル内の印(1,2,3)の付いた要素を特別色で描画するか決めるフラグ
解説
bDrwSign=trueなら、印の付いた要素を特別色で描画します。
bDrwSign=falseなら、印の付いた要素を特別色で描画しません。
例
CadApp.bDrwSign = true;
カレントカラーハンドル
解説
カレントカラーハンドルを取得または設定
例
alert( CadApp.CurrentColor ); //"8"
カレント線種ハンドル
解説
カレント線種ハンドルを取得または設定
例
alert( CadApp.CurrentLStyle ); //"1"
カレントフォントハンドル
解説
カレントフォントハンドルを取得または設定
例
alert( CadApp.CurrentTFont ); //"1"
アプリケーションプログラムが収めてあるフォルダ
解説
アプリケーションプログラムが収めてあるフォルダを取得または設定
最後の文字は'\'になっています
例
alert( CadApp.ExeDir ); //"C:\Program Files\Cosmos\"
初期化ファイル名
解説
初期化ファイル名を取得
例
alert( CadApp.IniName ); //"C:\Program Files\Cosmos\Cosmos.ini"
カラーハンドルの最大値
解説
カラーハンドルの最大値を取得
例
alert( CadApp.MaxColor ); //"16"
線種ハンドルの最大値
解説
線種ハンドルの最大値を取得
例
alert( CadApp.MaxLStyle ); //"8"
フォントハンドルの最大値
解説
フォントハンドルの最大値を取得
例
alert( CadApp.MaxTFont ); //"2"
アクティブな作業ウィンドウ
解説
アクティブなWorkwinオブジェクトを取得
例
var w = new Workwin();
w = CadApp.ActiveWorkwin;
すべての作業ウィンドウ
解説
すべてのWorkwinオブジェクトを取得
例
var ws = new WorkwinS();
ws = CadApp.WorkwinS;
STC変数,メンバーに値を設定
引数
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""
*/
STC変数,メンバーから値を取得
|
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();