2018年11月15日(木) 21:23 JST

2013年度第1回GDL講習会

  • 2013年4月23日(火) 17:37 JST
  • 投稿者:
    ゲストユーザ

第1回「bench」「windmill」

本年度のGDL講習会は、GDL教科書を用いてGDLのコマンドについて説明し、例題・課題に取り組むかたちで行っていきます。 各回ごとに講習会で出題した課題とその解答を載せるページを作成していくことにします。進度・内容は昨年度までの講習会と大体同じなので、GDLに興味のある方はぜひ過去のページを参考にしてください。

第1回目の講習では、基本的な図形の作成方法と、座標変換についてのコマンドを扱いました。講習内では例題として「bench」のモデリングを行いました。この例題のポイントは、座標変換(各部材の配置位置指定)のやり方です。こちらのベンチは今年度の木工で製作したものです。




直方体を生成するコマンド、「BRICK」を用いてモデリングを行っていきます。BRICKは原点を始点として直方体を生成するので、複数の部材を生成するには、ADDやROTを用いて座標変換を行っていく必要があります。座標変換を行う際には、ローカル原点の位置を正しく把握すること、ADDとBRICKの順番を意識することが大切です。

またGDLでは変数、変数を含んだ計算式を用いることで、作業を効率良く進めることが可能です。(スクリプト11行目等)

!!!!!部材の寸法設定
seat_w=2		!座面・底板(幅)
seat_d=0.447		!座面・底板(奥行)
seat_h=0.036		!座面・底板(厚さ)
leg_h=0.35		!脚(高さ)
leg_w=0.105		!脚(幅)
back_w=1.8		!背板(幅)
back_d=0.012		!背板(厚さ)
nuki_w=0.032		!貫(幅)
nuki_h=0.045		!貫(せい)
dis_1=(seat_w-back_w)/2	!底板端から脚までの距離
dis_2=(leg_h-nuki_h*3)/4	!底板から貫までの距離

!!!!!底板・座面の配置
BRICK seat_w,seat_d,seat_h	!底板
ADDZ seat_h+leg_h
BRICK seat_w,seat_d,seat_h	!座面
DEL TOP

!!!!!脚の配置
ADDZ seat_h
ADDX dis_1
ADDY nuki_d/2
BRICK leg_w,leg_w,leg_h		!脚・前
ADDX (seat_w-dis_1*2)/2-leg_w/2	
BRICK leg_w,leg_w,leg_h		!脚・前
ADDX (seat_w-dis_1*2)/2-leg_w/2
BRICK leg_w,leg_w,leg_h		!脚・前
DEL 3

ADDY seat_d-leg_w-back_d
BRICK leg_w,leg_w,leg_h		!脚・後ろ
ADDX seat_w-dis_1*2-leg_w
BRICK leg_w,leg_w,leg_h		!脚・後ろ
DEL TOP

!!!!!背板の配置
ADDZ seat_h
ADDX dis_1
ADDY seat_d-back_d
BRICK back_w,back_d,leg_h	!背板
DEL TOP

!!!!!貫の配置
ADDZ seat_h
ADDZ dis_2				!底板から貫までの距離	
BRICK seat_w,nuki_w,nuki_h	!貫・下段
ADDZ dis_2+nuki_h			!底板から貫までの距離+貫せい	
BRICK seat_w,nuki_w,nuki_h	!貫・中段
ADDZ dis_2+nuki_h
BRICK seat_w,nuki_w,nuki_h	!貫・上段
DEL TOP

 以下、課題で出した「windmill」のモデリングの一例です。図では、CYLINDを用いて小屋や回転軸部を作り、BRICKで羽を作っています。 RNDを用いることで、複数設置したときに風車の回転角がランダムに設定され、より自然に見えるようになっています。



!!!!!部材の寸法設定
blade_a=RND(360)		!羽ランダム回転角度
mill_h=3			!小屋高さ
mill_r=1			!小屋半径
roof_h=1			!屋根高さ
rooh_r=mill_r+0.3		!屋根半径
support_w=0.3		        !回転軸支持部幅
support_d=0.3			!回転軸支持部奥行
support_h=0.45			!回転軸支持部高さ
axis_l=0.4			!回転軸長さ
axis_r=0.08			!回転軸半径
frame_d=0.05			!羽骨幅
frame_l=2			!羽骨長さ
blade_dif=0.3			!羽と羽骨格の長さの差
blade_t=0.01			!羽厚み
blade_w=0.2			!羽幅
blade_l=frame_l-blade_dif	!羽長さ
joint=axis_l*8/9			!羽設置位置


!!!!!小屋・屋根配置
CYLIND mill_h,mill_r		!小屋
ADDZ mill_h
CONE roof_h,rooh_r,0,90,90	!小屋屋根

!!!!!支持部配置
ADDY -mill_r
ADDX -support_d/2
BRICK support_w,support_d,support_h	!支持部
DEL 1

!!!!!回転軸配置
ADDZ support_h*2/3
ROTX 90
CYLIND axis_l,axis_r		!回転軸
DEL 1

!!!!!羽骨・羽配置
ADDY -joint
ROTY blade_a
BRICK frame_l,frame_d,frame_d	!羽骨
ADDX blade_dif
ADDZ frame_d
BRICK blade_l,blade_t,blade_w	!羽
DEL 2

!!!!!羽骨・羽のセットを、90度ごとに回転して配置	
ROTY 90
BRICK frame_l,frame_d,frame_d	!羽骨
ADDX blade_dif
ADDZ frame_d
BRICK blade_l,blade_t,blade_w	!羽
DEL 2

ROTY 90
BRICK frame_l,frame_d,frame_d	!羽骨
ADDX blade_dif
ADDZ frame_d
BRICK blade_l,blade_t,blade_w	!羽
DEL 2

ROTY 90
BRICK frame_l,frame_d,frame_d	!羽骨
ADDX blade_dif
ADDZ frame_d
BRICK blade_l,blade_t,blade_w	!羽
DEL TOP

座標変換と基本的なコマンドだけでも様々なものを作成できます。自分の作りたいものを作れるよう訓練していきましょう。

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。