研究開発

ブロックを積む(2)

第2章 2D図形の描画

Vectorworksの図形の基本の基である図形、四角形。
最終目標であるブロックの壁は柱状体の集まりですが、柱状体の元は四角形です。

それでは、四角を描いてみましょう。 四角を描く手続きは2つあります。

手続きRect(p1X, p1Y, p2X, p2Y : REAL);
手続きRectangleN(orginX, orginY, directionX, directionY : REAL; width, height : REAL);

まずはRect
Rect(p1X, p1Y, p2X, p2Y : REAL);
4つの引数には、対角にあたる座標をいれます。

Rect( 10, 20, 60, 50 );

書いたらコンパイルボタン「*」を押してコンパイルチェックをします。


もしエラーが出てしまったら、

  • 半角で書いているか(スペースも半角か)
  • Rectのスペルが間違っていないか(大文字小文字は関係ありません)
  • 引数がカンマ「,」で区切られているか(ピリオド「.」になっていないか)
  • 引数の数が合っているか(4つ)
  • 行末にセミコロン「;」があるか(コロン「:」になっていないか)

などを確認します。
エラーがなくなったら、エディタを閉じてコマンドをダブルクリックして起動してみましょう。

同時に複数描くには、

      Rect( 10, 20, 60, 50 );
      Rect( 20, 30, 70, 60 );
    

12

次にRectangleN
これは角度のついた四角形を描くことができます。

RectangleN(orginX, orginY, directionX, directionY : REAL; width, height : REAL);
最初の2つは左下の座標。
次の2つは角度を指定するのですが、それぞれの長さの比で角度が決まります。
30度ならば、√3, 1
45度ならば、1, 1
60度ならば、1, √3
90度ならば、0, 1
という具合です。
最後の2つは幅と高さです。

RectangleN( 10, 20, 1, 1, 50, 30 );

90度以上は...

      RectangleN( 10, 20, 0, 1, 50, 30 );
      RectangleN( 10, 20, -1, 1, 50, 30 );
      RectangleN( 10, 20, -1, -1, 50, 30 );

さらに、隅の丸い四角形は、手続き名の頭にRが付いた
手続きRRect(p1X, p1Y, p2X, p2Y : REAL; xDiam, Diam : REAL);
手続きRRectangleN(orginX, orginY, directionX, directionY : REAL; width, height, xDiam, yDiam : REAL);

それぞれ、最後の引数2つが、楕円の半径x,yとなります。

RRect( 10, 20, 60, 50, 10, 5 );

RRectangleN( 10, 20, 1, 1, 50, 30, 10, 5 );