スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

年賀状

今日も関係のないお話。

そろそろ年末ですね

年末の恒例行事といえば年賀状。


我が家ではこの前プリンターを捨ててしまいましたw
学生の頃のやつで図面印刷のためA3ノビまで印刷できたのですが、就職したら会社とかで印刷しちゃうし、本当に年末しか使ってなくて・・・さらに無駄にでかくて邪魔だったのです。で、何かのついでに勢いで捨ててしまいましたw

まぁ案の定困るよねw



困ったままではいかんので小さいのポチしました。
安いしレビューみると静からしいので我が家ではこれで十分と判断。
いや本当に安くてびびった。


ついでに年賀状。
楽天でポイントで買えるお店見つけましたw


実は先日楽天カードに入会したのですが「xxxポイントプレゼント!!」とかに釣られました。
でもポイントがすごい時間差で・・・。一昨日くらいに来たw
しかも期間限定で有効期間が一週間くらいしかないっていうww


という訳でポイントを消費するべくの購入でした。

さて買って満足してないでデザインとか考えませんと。。

スポンサーサイト

軌道修正(ちょっとだけ)

最近更新が滞っていますねw
実はも一つブログを始めました。
というのもArchiCAD GDLをこのブログでやっても唐突すぎて・・・というかもうギターの事とかも書いてたりすると、「一体、俺何がしたい人なのか」と自分でもよくわからんと…w
せめてブログ分ければなんかモードが切り替わるかな、と思いまして。

こちらは建築士めざすぞ!的な内容に・・・したいw

いや、ほんとよw
したいんだけどさ、またギター中古で買っちゃったりとかさw

その届いたギターを開けて30分もしないうちにバラバラにしちゃったりとかw

いろいろ煩悩に悩まされる日々w(楽しんでんじゃねーか)



さて、ちょっとお勉強して寝ようかね。来年の受験にはまだまだ時間はあるので苦手な構造とかやっておきましょうか。

テーマ : 資格取得
ジャンル : 学問・文化・芸術

ArchiCADのGDLに挑戦! 【2】

はいでは3回目、3Dのオブジェクト作成です。
今回は簡易ルーバーを作ってみましょう。


えーと、変数定義ですね。
こんな感じです。

読めるかなw

変数 型 名称
_w 長さ 縦桟幅
_d 長さ 縦桟厚
_pitch 長さ 縦桟間隔
_side_on ブール 端部に追加
_yoko ブール 横桟表示
_yoko_h 長さ 横桟高さ
_yoko_d 長さ 横桟厚
_yoko_ue 長さ 上部横桟上端
_yoko_shita 長さ 下部横桟下端

おお!Tabキーが効かないw
まぁいいや。わかるでしょうw


まず記述をわーっと書いちゃいましょう。

面倒ならコピペでもいいですが自分でキーボードかたかたやるのをオススメしますよ?

!!3D

side = (A MOD _pitch+_pitch)/2

addx side-(_w/2)
for n=1 to int(A/(_pitch))
block _w, _d, ZZYZX
addx _pitch
next n
del top

if _yoko then
add 0, _d, _yoko_h +_yoko_shita
roty 90
block _yoko_h, _yoko_d, A
del 2

add 0, _d, ZZYZX - _yoko_ue
roty 90
block _yoko_h, _yoko_d, A
del 2
endif

if _side_on then
block _w, _d, ZZYZX
addx A - _w
block _w, _d, ZZYZX
del 1
endif

hotspot 0,0,0
hotspot 0,0,ZZYZX
hotspot A,0,0
hotspot A,0,ZZYZX


では2Dのボタンを押して2Dについても記述します。
!!2D

PROJECT2 2,270,2

これだけです。

あともう一つ「マスター」にも次のように記述します。
!!master
if _yoko =0 then
lock "_yoko_h","_yoko_d","_yoko_shita","_yoko_ue"
endif


はい終了す!

では見ていきましょう。
まず3Dですね。

side = (A MOD _pitch+_pitch)/2
ですが、これは色んな場面で使われるであろう計算式を「side」という変数を定義してつめこんでいるんですね。
これにより毎回計算しなくても、引数に「side」と
書くだけでOKになっちゃいます。


さて次!
addx side-(_w/2)
これはまず、「add」というものがあります。
2Dを作図した時は絶対座標で要素の位置を決めていましたが、3Dは割と相対座標です。
…で、例えば次に出てくる
block という要素は大きさを指定すると原点に立方体がモデリングされます。
でも立方体を複数配置する時同じ場所にモデリングされちゃいますよね。
なのでモデリングする前に原点を作図位置に動かしてあげます。
それが「add」です。

「add」は
add (X), (Y), (Z)
というような順番で移動値を入力します。
もちろんマイナスの値を入れるとプラスとは逆方向に動きます。
移動したらそこでモデリングしますがそのままだと次の要素もそこにモデリングされちゃいます。

そこで
「del 1」と
入力すると「add」が一つ前の座標点にもどります。
「add」を2回書いていたら「del 2」と書かないと原点に戻ってきません。

…めんどくさいでしょw

AutoCADで絶対座標テンキーで図面の作図してるみたいな気分になるかと思います。
いや、もちろんそんなことないけどw

さて、話を戻して「addx side-(_w/2)」なのですが、
「addx」は3軸の値を書かずにx軸への移動距離を書くだけで済みます。ちょっと楽チンですし立体的に考えないで済みますね。
yもzも同じように、「addy」「addz」というように入力できます。
でもこれらも一個の移動なので座標を戻す時は「del 1」と
なります。

さて引数のside-(_w/2)ですが、さっきの「side」が活用されてますね。このように毎回出てきそうな計算式はスクリプトの上で書いておきます。上から順番に読まれて行く(実行されていく)ので先に書いておかないとダメです。
あ、あと途中で書き換えることもできますので、そうなるとそれ以降の「side」は別な意味を持つことになります。

…長いなw最後まで行くんかこれw

さあ次w
for n=1 to int(A/(_pitch))
block _w, _d, ZZYZX
addx _pitch
next n

プログラミングっぽくなってきましたw
for~nextループです。
forの次の行からnextの上の行までの内容を繰り返します。
で、どれだけ繰り返すかというと…
forの右側にnがあります。
このnの回数だけ繰り返すんですが、 n=1to10ならnの中の値が1から10になるまで繰り返しますってことですね。
next n というところでnがカウントアップされるのです。

さあここでは計算式分繰り返されるのですが何回addされたのかはこのオブジェクトの大きさによりけりになってしまいます。
add分delしないとモデリング座標が原点にもどってきませんね。
でも大丈夫w
「 del top」と
記述するとすべての座標移動をクリアして原点に戻ってくれます。
便利ですね。

if 文の登場です。
Excelでおなじみですね。
条件別で処理内容を分岐させることができます。
こんな感じで書きます。
if (条件式)then
(処理パターン1)
else
(処理パターン2)
endif


条件式の場合は処理パターン1、そうでなかったら処理パターン2を実行します。
分岐が必要なければ
if (条件式)then
(処理パターン1)
endif

でOKです。
さらに処理が1行なら
if (条件式)then(処理パターン1)

OK!

今回は説明量が多いのでモデリング内容は省略してますが、hotspotは説明しておきましょう。
まあ簡単にいうとオブジェクトを配置した時に掴める点となります。配置しなければ勝手に4隅に配置されますが、多角形状なら角には配置しておいた方が親切ですよね。
3Dでは
hotspot (X),(Y),(Z)
2Dでは
hotspot2 (X),(Y)
と書きます。


さて2Dですが
PROJECT2 2,270,2
と書いておくと3D形状の上面から見た平面投影の形状がそのまま表示されるという簡単仕様w
今回は楽させてくださいw

「マスター」に書かれた分を説明しますと
if _yoko =0 then
lock "_yoko_h","_yoko_d","_yoko_shita","_yoko_ue"
endif


「もし、_yokoの値が0なら"_yoko_h","_yoko_d","_yoko_shita","_yoko_ue"の操作をロック(ゲレーアウト)させてください」という文です。

「マスター」の記述は3D,2Dにわたり有効です。


さあいかがでしたでしょうか。
もうわけわからんでしょうかw

私も書いててなんかまとまりが無いような気がしてきましたw

ちょっとしばらくしたら訂正しますねw



オススメ本
広告
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
広告
検索フォーム
楽天
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。