| 建築機械設備設計 | メニュー/ツールの作成 | カスタマイズ | 建築意匠設計 | 建築電気設備設計 | パソコンCADシステム | リンク | メール |
| プラグインメニュー≪シェアウエア≫ | プラグインツール≪シェアウエア≫ | プラグインメニュー≪フリーウエア≫ |
VectorScript は Pascal に準拠した言語で、Pascal に似た言語構造をしています。それに VectorWorks のドキュメント(図面)のオブジェクト(図形)を操作する
VectorScript 独自の1200を超える組込み関数・手続きがあります。この関数・手続きを利用して、ドキュメント(図面)のオブジェクト(図形)を状況を知り、ドキュメント(図面)にオブジェクト(図形)を作成します。
したがって、VectorScript
を使用すると、次のようなことから、任意のメニューコマンドやツールが作成できます。
A.先に図形を選択し、その図形を基準にして必要な図形を作図するもの。
例えば、畳敷込、割付け、
ジグザグ線、波形線、
矩形波形線、円筒体、
円錐体、球体、
コンクリート模様 。
B.クリックによって複数の図形を指定し、その相互の位置関係から図形を編集し、更に必要な図形を作図するもの。
例えば、電気配線、配管継手 。
C.クリックによって図形と作図位置を指定し、その位置に図形を作図するもの。
例えば、配線心数 。
D.図面の中にどのような図形、文字列があるかを図面内全てに渡って検索するもの。
例えば、微小図形削除、図形の選択と削除...、
文字列の選択と削除... 。
E.指定された作図条件、作図属性で図面属性を設定するもの。
例えば、文字設定...
。
F.図面内の図形を基準にして、理論計算を行い、その結果をワークシートに入れるもの 。
ワークシートの各セルも扱えます。
何れの場合でも、
A.ダイアログボックスから、数値、文字列の入力、作図条件の選択が可能です。
B.条件ファイル、作図データファイルから読み込むことも、書き込むことも、出来ます。
C.ファイル名を指定しての、読み込みも書き込みも出来ます。
D.選択されている図形の図形属性(図形の種類、座標点数値、色、等)の属性を知ることが出来ます。
E.座標点や作図条件によって座標計算を行い、図形の編集や作成が可能となります。
F.クリックによって、新たな図形の追加選択が可能です。
G.ワークシートから座標点等の読み込みも、ワークシートに結果を書き込むことも可能です。
コマンドやツールとして作成できるものは、繰り返し行われる作業で、その作業に規則性のあるもの、
図形の座標計算が規則的、理論的に行えるものが対象になります。
逆に、VectorScriptでは実行できないことがあります。
1.複数の図面に渡るもの。現在の図面に対する作図処理だけで、他の図面に対する作図処理を行うことはできません。
2.マルチスレッド機能・同時に複数の処理を行うことはできません。VectorScriptが動作しているときは、他の処理を行うことはできません。
型 型の名前 内 容
クリックによって図形を選択するか、または、作図位置を指定することによって作図するようなものは、【ツール】に適しています。
最初にダイアログボックスを表示して、作図条件の選択や作図データを入力するようなものは、【メニュー】に適しています。
同じ動作をするものを【メニュー】と【ツール】で作成できますが、使い勝手で分けるべきでしょう。
2.データの型
INTEGER
整数型
-32,768 から +32,767 までの範囲の整数。 2バイト長
LONGINT
倍長整数型
-2,147,483,648 から +2,147,483,647 までの範囲の整数。 4バイト長
REAL
実数型
倍精度浮動小数形式。
およそ 1.9E-4951 から 1.1E+4932 までの範囲の数値を表せる。10バイト長
「値の範囲、バイト長は、バージョンアップによって拡張され、Ver12.の段階で上記の範囲、バイト長となっている」
BOOLEAN
論理型
"TRUE" または "FALSE" の2値。 1バイト長
CHAR
文字型
半角1文字の文字。 1バイト長
STRING
文字列型
半角 255 文字までの文字列。 256バイト長
HANDLE
ハンドル型
図面内にある図形を識別するためのデータ。各図形に割り付けられた固有のシリアル番号と考えてよい。
「特定の図形を操作するには、ハンドルでその図形を識別する。ただし、新しくScriptを実行した段階で、ハンドルは再度付け直される。実行する度にハンドルは変更される。」
VECTOR
ベクタ型
REAL型の3要素をもつ配列。標準的なベクトル演算を利用できる。 24バイト長
POINT
ポイント型
REAL型の2要素をもつ配列。2D座標点を表す。(X,Y) 16バイト長
POINT3D
3Dポイント型
REAL型の3要素をもつ配列。3D座標点を表す。(X,Y,Z) 24バイト長
RGBCOLOR
RGBカラー型
LONGINT型の3要素をもつ配列。色を表す。(red,green,blue) 12バイト長
3.識別名と予約語
変数、定数、関数、手続、はそれぞれ固有の名前を付けてます。その名前が 識別名です。
識別名は、次の名前付け規則に従わなければなりません。
1.20文字までの半角英数字と下線( _ )。
20文字以上の長い文字列も使えますが、識別されるのは、20文字までです。
2.最初は英字(アルファベット)または下線( _
)です。大文字、小文字を区別しません。
数字を使用することはできますが、特殊文字、スペースを使用することはできません。
3.一度使用した識別名を、再度別の識別名に使用することはできません。
4.予約語、および、既にVectorScriptの関数・手続きとして使用されているものは、使用できません。
| 予 約 語 一 覧 | ||||
| ・ALOOCATE | ・AND | ・ARRAY | ・BEGIN | ・BOLEAN |
| ・CASE | ・CHAR | ・CONST | ・DIV | ・DO |
| ・DOWNTO | ・DYNARRAY | ・ELSE | ・END | ・FALSE |
| ・FOR | ・FUNCTION | ・GOTO | ・HANDLE | ・IF |
| ・INTEGER | ・LABEL | ・LONGINT | ・MOD | ・NIL |
| ・NOT | ・OF | ・OR | ・OTHERWISE | ・PI |
| ・PROCEDURE | ・REAL | ・REPEAT | ・STRING | ・STRUCTURE |
| ・THEN | ・TO | ・TRUE | ・TYPE | ・UNTIL |
| ・VAR | ・VECTOR | ・WHILE | ・ | ・ |
4.座標計算
Ver10.0
から、2本の線分の交点座標、線分と楕円の交点座標、楕円と楕円の交点座標、が関数・手続きによって簡単に計算できるようになりました。
1.2本の線分の交点座標
Procedure LineLineIntersection (
L1start : POINT; L1end : POINT;
L1start : POINT; L2end : POINT;
VAR parallel : BOOLEAN;
VAR intOnLine : BOOLEAN;
VAR secPt : POINT )
| L1start | 線分1の始点座標 | POINT型 | 与条件 |
| L1end | 線分1の終点座標 | POINT型 | 与条件 |
| L2start | 線分2の始点座標 | POINT型 | 与条件 |
| L2end | 線分2の終点座標 | POINT型 | 与条件 |
| parellel | 線分が平行な場合はTRUE | BOOLEAN型 | 計算結果 |
| intOnLine | 線分が交差している場合はTRUE | BOOLEAN型 | 計算結果 |
| sectPt | 交点の座標 | POINT型 | 計算結果 |
2.線分と楕円の交点座標
Procedure LineEllipseIntersect ( a1:
POINT; a2 : POINT; upperRight :
POINT; lowerLeft : POINT;
VAR int1 : POINT;
VAR legal1 : BOOLEAN;
VAR int2 : POINT;
VAR legal2 : BOOLEAN )
| a1 | 線分の始点座標 | POINT型 | 与条件 |
| a2 | 線分の終点座標 | POINT型 | 与条件 |
| upperRight | 楕円に外接する四角形の右上の座標 | POINT型 | 与条件 |
| lowerLeft | 楕円に外接する四角形の左下の座標 | POINT型 | 与条件 |
| int1 | 交点1の座標 | POINT型 | 計算結果 |
| legal1 | 交点1の有無(有のときTRUE) | BOOLEAN型 | 計算結果 |
| int2 | 交点2の座標 | POINT型 | 計算結果 |
| legal2 | 交点2の有無(有のときTRUE) | BOOLEAN型 | 計算結果 |
3.楕円と楕円の交点座標
Function EllipseEllipseIntersect
( upperLeft1: POINT; lowerRight1 : POINT;
upperLeft2 : POINT; lowerRight2 : POINT;
VAR int1 : POINT;
VAR int2 : POINT;
VAR int3 : POINT;
VAR int4 : POINT ) : INTEGER;
| upperLeft1 | 楕円1に外接する四角形の左上の座標 | POINT型 | 与条件 |
| lowerRight1 | 楕円1に外接する四角形の右下の座標 | POINT型 | 与条件 |
| upperLeft2 | 楕円2に外接する四角形の左上の座標 | POINT型 | 与条件 |
| lowerRight2 | 楕円2に外接する四角形の右下の座標 | POINT型 | 与条件 |
| int1 | 交点1の座標 | POINT型 | 計算結果 |
| int2 | 交点2の座標 | POINT型 | 計算結果 |
| int3 | 交点3の座標 | POINT型 | 計算結果 |
| int4 | 交点4の座標 | POINT型 | 計算結果 |
|
返り値 | 求められた交点の数 | INTEGER型 | 計算結果 |
4.その他、通常の三角関数等が使用できます。
5.繰り返し
1.FOR-TO-DO/FOR-DOWNTO-DO = 単純繰り返し文
FOR 文はカウンタを使用する単純な繰り返しで、カウンタの上限値を指定して、初期値から上限値まで加算すつタイプと、
下限値を指定して、初期値から下限値まで減算するタイプがあります。間隔は ”1” に限定されています。
FOR <カウンタ変数>:=初期値 TO 上限値 DO 実行可能な文;
FOR <カウンタ変数>:=初期値 DOWNTO 下限値 DO 実行可能な文;
カウンタ変数は、INTEGER型、終了後のカウンタの値は保証されていません。
2.REPEAT-UNTL 文
REPEAT と UNTIL の間に挟まれた文を実行します。
REPEAT
実行可能な文;
実行可能な文;
実行可能な文;
/
実行可能な文;
UNTIL 論理値を返す式 または、論理変数;
REPEAT と UNTIL に挟まれた実行文は、終了条件である 論理値を返す式 または、論理変数 を評価する前に、まず、実行されます。
したがって、どのような条件であっても、必ず1回は実行されることになります。
3.WHILE-DO 文
最初に 論理値を返す式 または、論理変数 を判断し、合う場合は DO の後の実行分を実行し、合わない場合は、実行しません。
WHILE 論理値を返す式 または、論理変数 DO 実行可能な文;
したがって、条件に合わない場合は、1回も実行されない場合があります。
6.IF条件文
IF条件文は、条件によって実行の順序を変更します。
IF 論理値を返す式 または、論理変数 THEN 実行可能な文 ELSE 実行可能な文;
論理値を返す式 または、論理変数 を判断し、
TRUE の場合は、 THEN 以下の実行文を実行し、 FALSE
の場合は、 ELSE 以下の実行文を実行します。
7.CASE分岐文
CASE分岐文は、整数値を返す式 または、整数型変数 の整数値に応じて区分けされた部分に分岐して、
その部分の実行文を実行します。
CASE 整数値を返す式 または、整数型変数 OF
CASEラベル整数値:実行可能な文;
CASEラベル整数値:実行可能な文;
CASEラベル整数値:実行可能な文;
/
CASEラベル整数値:実行可能な文;
OTHERWISE 実行可能な文;
END;
整数値を返す式 または、整数型変数 を評価し、その結果とCASEラベル整数値が一致する実行可能な文を実行します。
CASEラベル整数値に一致しない時は、 OTHERWISE の後の実行分を実行します。 OTHERWISE が無い場合は何も実行しないで、
END の次の実行文を実行します。
8.GOTO制御文
GOTO制御文は、実行の流れを直接的に変更することができる制御文です。
GOTO ラベル値;
ラベル値は、あらかじめ LABEL 宣言文で宣言されている必要があります。
9.代入文
代入文は、変数に値を代入します。または、変数に式の演算結果を代入します。
<変数名> := <代入する値>;
<変数名> := <算術計算式>;
<変数名> := <論理計算式>;
左辺に置かれた変数名の変数に、右辺の値を代入する。
左辺に置かれた変数名の変数に、右辺の算術計算の計算結果を代入する。
左辺に置かれた変数名の変数に、右辺の論理計算の計算結果を代入する。
| 使用できる 演 算 子 | |
| 算術演算 | + - * / ** ^ DIV MOD |
| 比較演算 | <= < > >= = <> |
| 論理演算 | AND & OR | NOT |
弊社は、エーアンドエー社
のVSoPの
メンバーに登録されています。
スクリプトについては、次のものを参照してください。
☆Ver12.5 ☆Ver12.0 「操作の手引き」 の 19-1「第19章:スクリプトを使用する」 を参照してください。VectorScriptについて、次のものは【ヘルプ】メニューから参照することが出来ます。
☆Ver12.0、Ver12.5 VectorScript については、[ヘルプ]-[vectorworksヘルプ(H)] から [VectorScript Guide]☆Ver11.0 VectorScript Guide (英語版)
次のものはインストールされます(HDにコピーされます)が、【ヘルプ】メニューから参照することは出来ません。
[Program Files]-[VectorWorks11J100]-[VWHelp]-[VectorScript Reference]-"VSFunctionReference.html" (英語版)
☆Ver10.1 VectorScript Language Manual [Appendix
Manual]-[VectorScript]-"Vector Script language.pdf" (VW10(第4版))
☆Ver10.1 VectorScript Reference Manual [Appendix Manual]-[VectorScript]-[VectorScript
Reference]-"VSFunctionReference.html"
<注>上記はバージョンアップ版によります。製品版では異なっているかもしれません。
VectorScriptについて、次のものは、通常のインストールではHDにコピーされません(【ヘルプ】メニューから参照することが出来ません)ので、VWのCD-ROM内の各フォルダーの.pdf、または、.html を参照してください。
Ver12 から構成が変わり、 .pdf ファイルは付属していません。☆Ver11.0 [Appendix Manual]-[VectorScript]-[VSBiginnersGuide.pdf]
(VW11(第5版)
☆Ver10.5 [Appendix Manual]-[VectorScript]-[Vector Script language.pdf] (VW10(第4版))
☆Ver10.5 [Appendix Manual]-[VectorScript]-[VectorScript
Reference]-[VSFunctionReference.html]
☆Ver10.1 [Appendix Manual]-[VectorScript]-[Vector Script language.pdf]
(VW10(第4版))
☆Ver10.1 [Appendix Manual]-[VectorScript]-[VectorScript
Reference]-[VSFunctionReference.html]
☆Ver9.5 [Appendix Manual]-[VectorScript]-[VectorScript PDF
Manual]-[VS ランゲージガイド.pdf] (VW9(第3版))
☆Ver9.5 [Appendix Manual]-[VectorScript]-[VectorScript PDF
Manual]-[VS リファレンスマニュアル.pdf]
☆Ver9.5 [Appendix Manual]-[VectorScript]-[VectorScript PDF
Manual]-[VS 新機能.pdf]
☆Ver9.5 [Appendix Manual]-[VectorScript]-[VectorScript PDF
Manual]-[VS 操作マニュアル.pdf] (VW9(第3版))
☆Ver9.1 [Appendix Manual]-[VectorScript]-[VectorScript HTML Manual]-[VS Language
Guide]-[VSランゲージガイド.html]
☆Ver9.1 [Appendix Manual]-[VectorScript]-[VectorScript HTML Manual]-[VS Language
Guide]-[VS操作マニュアル.html]
☆Ver8.5 [Appendix Manual]-[VectorScript HTML Manual]-[VS Language
Guide]-[VS Language
Guide.html]
☆Ver8.5 [Appendix Manual]-[VectorScript HTML Manual]-[VS Operation
Manual]-[VS Operation Manual.html]
☆Ver8.0 [Appendix Manual]-[VectorScript HTML Manual]-[VS Language
Guide]-[VS Language Guide.html]
☆Ver8.0 [Appendix Manual]-[VectorScript HTML Manual]-[VS Operation
Manual]-[VS Operation Manual.html]
<注>上記はバージョンアップ版によります。製品版では異なっているかもしれません。