マリオネット・スクリプト解説講座

第38回「スクリプトで2D図形を描いてみよう!」

FundamentalsArchitectLandmarkSpotlightDesigner2023

Vectorworksプログラミングの唯一無二であり一番の特徴はVectorworksの図面上に図形を描くことができることです。今回はVectorScriptを使用して基本の2D図形描くプログラムを紹介します。(執筆 A&A川崎)

2D図形のプログラミングを通して、VectorScriptのプログラムの基本的な書き方に慣れていきましょう。実際に図形を描くことで、プログラムで何をやっているのか直感的に理解できます。

プログラムを使用して図形を描く場合でも結果としてはVecctorworks標準のツールにある図形と同じものが描かれますので、手動で描く場合と比較しながら(プログラムを)描いてみてください。

今回は初心者向けの内容となりますので、Vectorworksプログラミングにご興味をお持ちの方、この機会にぜひチャレンジしてください。

38-1. 直線

手動で描く場合、直線ツールを選択し、描き始めたいところでマウスをクリックし、線を引きたいところまでマウスを移動しクリックします。

プログラムで描く場合、手続きMoveTo、手続きLineToを使います。

描き始めたいところの座標x1,y1を、MoveToの引数に指定し、引きたいところまでの座標x2,y2をLineToの引数に指定します。

PROCEDURE sen; 
BEGIN
    MoveTo( 0.0, 0.0 );
    LineTo( 50.0, 50.0 );
END;
Run( sen );

この描き方はプロッタの描き方の名残で、MoveToはペンを上げて移動し、LineToはペンを下げて移動することを意味します。

38-2. 四角形

手動で描く場合、四角形ツールを選択し、描き始めたいところでマウスをクリックし、矩形を描きたいところまでマウスを移動しクリックします。

プログラムで描く場合、手続きRectを使います。

描き始めたいところの座標x1,y1と描き終わりたいところの座標x2,y2を引数に指定します。

PROCEDURE shikaku; 
BEGIN
    Rect( 0.0, 0.0, 50.0, 50.0 );
END;
Run( shikaku );

38-3. 2D基準点

手動で描く場合、2D基準点ツールを選択し、描きたいところでマウスをクリックします。

プログラムで描く場合、手続きLocusを使います。

描きたい位置の座標x,yを引数に指定します。

PROCEDURE kijyunten2D; 
BEGIN
    Locus( 0.0, 0.0 );
END;
Run( kijyunten2D );

38-4. 円

手動で描く場合、円ツールを選択し、円の中心でクリックし、半径分マウス移動しクリックします。(半径モードの場合)

プログラムで描く場合、手続きArcByCenterを使います。

描きたい位置の中心座標x,y、半径、円弧の開始角度0.0、円弧角360.0を引数に指定します。

PROCEDURE en;
BEGIN
    ArcByCenter( 0.0, 0.0, 50.0, 0.0, 360.0 );
END;
Run( en );

38-5. 円弧

手動で描く場合、円弧ツールを選択し、円弧の中心でクリックし、半径分マウス移動した円弧の開始点をクリックし、円弧の終点をクリックします。

プログラムで描く場合、手続きArcByCenterを使います。

描きたい位置の中心座標x,y、半径、円弧の開始角度、円弧角を引数に指定します。同じArcByCenterを使っても、開始角度、円弧角によって、円図形になったり円弧図形になったりします。

PROCEDURE enko;
BEGIN
    ArcByCenter( 0.0, 0.0, 50.0, 45.0, 90.0 );
END;
Run( enko );

38-6. 長円

手動で描く場合、長円ツールを選択し、描き始めたいところでマウスをクリックし、長円を描きたいところまでマウスを移動しクリックします。

プログラムで描く場合、手続きOvalを使います。

描き始めたいところの座標x1,y1と描き終わりたいところの座標x2,y2を引数に指定します。

PROCEDURE cyoen; 
BEGIN
    Oval( 0.0, 0.0, 100.0, 50.0 );
END;
Run( cyoen );

38-7. 角丸四角形

手動で描く場合、角丸四角形ツールを選択し、描き始めたいところでマウスをクリックし、角丸四角形を描きたいところまでマウスを移動しクリックします。

プログラムで描く場合、手続きRRectを使います。

描き始めたいところの座標x1,y1と描き終わりたいところの座標x2,y2、角の丸のw,hを引数に指定します。

PROCEDURE kadomaru; 
BEGIN
    RRect( 0.0, 0.0, 100.0, 50.0, 5.0, 5.0 );
END;
Run( kadomaru );

38-8. 多角形

手動で描く場合、多角形ツールを選択し、描き始めたいところでマウスをクリックし、頂点の数だけマウスを移動しクリックします。

プログラムで描く場合、手続きPolyを使います。

頂点の数だけx,yを引数に指定します。

PROCEDURE takakukeiopen; 
BEGIN
    OpenPoly;
    Poly( 0.0, 0.0, 100.0, 0.0, 100.0, 50.0, 0.0, 50.0 );
END;
Run( takakukei );

また、閉じた多角形にしたい場合、始点の座標を最後に追加するのではなく、手続きClosePolyを使います。

PROCEDURE takakukeiclose; 
BEGIN
    ClosePoly;
    Poly( 0.0, 0.0, 100.0, 0.0, 100.0, 50.0, 0.0, 50.0 );
END;
Run( takakukei );

38-9. 曲線

手動で描く場合、曲線ツールを選択し、描き始めたいところでマウスをクリックし、頂点の数だけマウスを移動しクリックします。

プログラムで描く場合、手続きBeginPoly、手続きEndPolyを使います。この2つの間でAdd2DVertexを使い頂点の数だけx,y、頂点のタイプを引数に指定します。

PROCEDURE kyokusen; 
BEGIN
    BeginPoly;
        Add2DVertex( 0.0, 0.0, 0, 0.0 );
        Add2DVertex( 100.0, 0.0, 1, 0.0 );
        Add2DVertex( 100.0, 50.0, 2, 0.0 );
        Add2DVertex( 0.0, 50.0, 3, 0.0 );
    EndPoly;
END;
Run( kyokusen );

38-10. 文字列

手動で描く場合、文字列ツールを選択し、描き始めたいところでマウスをクリックし、文字をキーボードで打ちます。

プログラムで描く場合、手続きTextOriginで文字列のx,y座標を指定し、手続きCreateTextを使って文字列を指定します。

PROCEDURE mojiretsu; 
BEGIN
    TextOrigin( 0.0, 0.0 );
    CreateText( 'Hello, world!' );
END;
Run( mojiretsu );

この機能を利用できる製品

Fundamentals

Vectorworks Fundamentals

2D/3D汎用作図機能に、プレゼンボード作成機能や図面と連動できる表計算機能など、数多くの基本作図機能に加え、高品質レンダリング&3Dビジュアライズ機能を搭載したVectorworksシリーズの基本製品
詳細情報 購入ページ

Architect

Vectorworks Architect

建築設計や内装、ディスプレイデザインに対応した先進的なBIM・インテリア設計支援機能、拡張機能、さらには豊富な建築向けのデータライブラリを搭載した建築/内装業界向け製品
詳細情報 購入ページ

Landmark

Vectorworks Landmark

地形モデルや多彩な植栽、灌水設備計画等に対応するランドスケープデザイン機能、さらには豊富な造園向けのデータライブラリを搭載した都市計画/造園業界向け製品
詳細情報 購入ページ

Spotlight

Vectorworks Spotlight

ステージプランニングやライティング計画に対応した先進的な舞台照明計画支援機能、さらには各種メーカー製のトラスや照明機材、音響機器等の豊富なデータライブラリを搭載したエンタテインメント業界向け製品
詳細情報 購入ページ

Designer

Vectorworks Design Suite

専門分野別(建築設計/ディスプレイデザイン、ランドスケープデザイン、ステージデザイン&スポットライトプランニング)の設計支援機能、拡張機能、さらには豊富なデータライブラリを搭載した最上位の製品
詳細情報 購入ページ