VectorScript技術情報 [注意点-001]
線種設定方法の変更
Vectorworks2013から線種の設定方法がかわりました。
以前、線に線種を割り当てる場合に、
PROCEDURE sample; VAR objH : HANDLE; BEGIN MoveTo( 0.0, 0.0 ); LineTo( 50.0, 50.0 ); objH := LNewObj; SetLS( objH, -1 ); END; Run( sample );
とすることで線種を割り当てることができましたが、Vectorworks2013からはリソースパレットに登録されている線種を割り当てることになります。
以下のようなプログラムでVectorworksのデフォルト線種をライブラリから参照(コピー)することができます。
PROCEDURE SetVwLineTypes; CONST kLineTypeDefNode = 96; kDefaultLineTypesFolder = 174; VAR numLineTypes : LONGINT; subFolderName : STRING; listID, numItems : LONGINT; ii : LONGINT; resource : HANDLE; BEGIN listID := BuildResourceList( kLineTypeDefNode, kDefaultLineTypesFolder, subFolderName, numItems ); IF listID > 0 THEN BEGIN FOR ii := 0 TO numItems DO BEGIN resource := ImportResourceToCurrentFile( listID, ii+1 ); END; END; END; Run( SetVwLineTypes );
これはLibraries\Defaults\Attributes - Line Typesの中にあるLineTypes_Defaults.vwx書類から、ラインタイプのデータを開いている書類にインポートしてくる方法です。以下のように予めラインタイプを読み込んでおくことで線種の割り当てが可能になります。
PROCEDURE sample; VAR objH : HANDLE; PROCEDURE SetVwLineTypes; CONST kLineTypeDefNode = 96; kDefaultLineTypesFolder = 174; VAR numLineTypes : LONGINT; subFolderName : STRING; listID, numItems : LONGINT; ii : LONGINT; resource : HANDLE; BEGIN listID := BuildResourceList( kLineTypeDefNode, kDefaultLineTypesFolder, subFolderName, numItems ); IF listID > 0 THEN BEGIN FOR ii := 0 TO numItems DO BEGIN resource := ImportResourceToCurrentFile( listID, ii+1 ); END; END; END; BEGIN SetVwLineTypes; MoveTo( 0.0, 0.0 ); LineTo( 50.0, 50.0 ); objH := LNewObj; SetLS( objH, -1 ); END; Run( sample );
なお、現バージョンでは特殊なラインタイプ(例:ジグザグ等)はスクリプトでは設定することができません。
VectorScriptに関するお問い合わせ
VectorScriptに関するお問合せは、以下からお問い合せください。