カーブを取り出して螺旋階段のベースを用意する
今回は六角形の螺旋階段を作りたいので
正しい比率の六本線を取得します。
・・しかし残念ながら
Get→Primitiveのカーブでは六角形は無いようです。
リニアで描画するのも難しそうなので止めます。
仕方ないので、円柱を六角形を取り出し、
作成>カーブ>エッジから抽出でカーブを取得してみました。
センターに移動してTransformパネル>移動のフリーズをします。
この場所がわからない場合、キーボードの「F1」を押して
オンラインヘルプでどこにあるか検索してください。
カーブにポリゴンを張る
六角形のカーブを ctr+Dで複製し、
スケーリングをかけて一回り大きくします。
ココに面を張ります。
作成>ポリゴンメッシュ>ロフトを選択。
Uサブディビジョンを4にしました。
ポリゴンを1枚残して全部選択して押し出し複製
ポリゴンをぐるりと選択します。ALT+中央クリックまたは右クリック
ctr+Dを押して押し出します(Editパネル>DuplicateOption
の項目が押し出しになっていることを確認)
Y軸に+1入力して上に押し出します
スクリプトでこの一連の操作を全部任せる
手動でこの操作をこなすとかなり面倒です。
こういったルーチンワークはスクリプトにお任せしましょう。
作業しやすい為、押し出し前まで戻ります。
For分を利用して繰り返し処理を行います。(詳しくはScript/Memo/構文)
ScriptEditor
を開きます。
再度グルリと選択すると履歴に
'解説:ジオメトリコンポーネントをセレクトします polymshオブジェクトのポリゴンナンバー[0から10と12から23] SelectGeometryComponents "polymsh.poly[0-10,12-23]"
と表示されますのでコピペして白い枠の中に入れます。
しかし、11番目のポリゴンが選ばれていないので
0-10 , 12-23というややこしい表記になってます。
ちょっとスクリプトを書くのがややこしくなりますので
やはる0〜23番まで正規化できるように選択しちゃいなおします。
選択>押し出し複製>Y軸+1
一連の作業をこなすと履歴が残りますので
白枠にコピペしてください。
このあと、[1-23][2-23][3-23][4-23]....[23-23]と
コピペしていくのと同じ効果を持つ構文を追加します。
早速スクリプトを記述します。
'「X」を宣言 それは 1から23の数値を 「next」 の間にある文を処理し、 参照「X」 に順に代入し続ける。 For X = 1 to 23 SelectGeometryComponents "polymsh.poly["&X&"-23]" DuplicateMeshComponent "polymsh.poly["&X&"-23]", siPersistentOperation Translate , 0, 1, 0, siRelative, siPivot, siObj, siY, , , , , , , , , , 0 next
注意点:移動するとき、グローバルではなくローカルで+1してください。
完成です。
添付ファイル:
