黄金文字オブジェクト(2)
最も美しいとされる比、1:1.6180339887...の文字を描画するプログラムです。
第2章 解説
このプログラムは2点型オブジェクトによる任意の長さを使って、黄金文字を作るオブジェクトです。
パラメータのそれぞれの意味は以下のようになっています。
タイプで横長とした場合、長さを1.618...の側とします、文字の高さを自動計算します。
タイプで縦長とした場合、長さを1の側とします。文字列の幅を自動計算します。
方向は四角形を、描いた線の右側に描くか左側に描くかを選びます。
角度は1点目のクリック位置と2点目のクリック位置の角度です。
長さはプログラム内では PLineLength を使います。
タイプはプログラム内では PDirection を使います。
方向はプログラム内では Pside を使います。
文字列はプログラム内では Ptext を使います。
GetCustomObjectInfoで自身のハンドルをとります。
SetObjectVariableBooleanでオブジェクトの800を真に設定することで、フォントメニューの設定を利用することができます。
{ 名称 黄金文字(goldenratiotext.vso) 2009年 6月 8日-1.0 著作・製作 Vectorworks Japan 研究開発室 } PROCEDURE GoldenRatioText; VAR objectName : STRING; objectHand, recordHand, wallHand : HANDLE; BoxWidth : REAL; textH, polyGroupHandle : HANDLE; dummyL : LONGINT; boo : BOOLEAN; p1X, p1Y, p2X, p2Y : REAL; BEGIN boo := GetCustomObjectInfo( objectName, objectHand, recordHand, wallHand ); SetObjectVariableBoolean( objectHand, 800, TRUE );