研究開発

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に関するお問合せは、以下からお問い合せください。

エーアンドエー株式会社 研究開発室

email:develop@aanda.co.jp