2021年10月21日(木) 10:03 JST

2014年度第6,7回GDL講習会

  • 2014年6月28日(土) 16:47 JST
  • 投稿者:
    ゲストユーザ

第6,7回 ソリッド演算、ホットスポット

今回の講習では、基本的なコマンドで生成したオブジェクト同士を組み合わせるソリッド演算と、頂点を選択して変形できるようにするホットスポットを取り扱っていきます。なお今回でGDLに関する講習は最終回です。重複箇所はこちらのページをご覧ください。



ソリッド演算

ソリッド演算を用いた簡単なコードケースを作っていきます。 こちらは球をスタックしてつないでいくことができ、入り口を回転させることでコードをきちんと格納します。 また球体を基本としているので曲げることもできます。

ソリッド演算で用いるオブジェクトはまずグループとして宣言して一括りにし、グループ単位で演算します。ADDGROUPでブール和を、SUBGROUPでブール差を、ISECTGROUPでブール積を求めることができます。ソリッド演算されたオブジェクトは一体のモデルとして体積や表面積が算出されるので積算時に整合性を保つことができます。演算の結果は変数に代入でき、以降のソリッド演算の引数としても使えます。 今回のモデリングでは、(1)本体部となる二つの球の加算、(2)下の球に隣の部品の上の球を嵌める部分の減算、(3)内部にコードを通す開口部の減算、にソリッド演算を用います。以下のスクリプトを参照してください。



!!寸法の宣言
t = 0.1						!!厚み
r1 = 1						!!下段の球の半径
r2 = (r1-t)*0.95				!!上段の球の半径
l = (r1 + r2)* 0.7				!!球の中心間距離
m = SQR(r1^2 - ((r1^2-r2^2+l^2)/(l*2))^2) - t	!!コードを通す開孔の半径
w = 0.5 : d = r1 : h = (r1+r2)*2		!!スリット部の寸法
s = 0.1						!!ソリッド演算用のオフセット
!!本体部の宣言
GROUP "main1"
	SPHERE r1 		!!下段の球
ENDGROUP
GROUP "main2"
	ADDZ l
	SPHERE r2 		!!上段の球
ENDGROUP
!!減算部分の宣言
GROUP "sub1"
	SPHERE r1-t		!!上段の球を入れる空間
	ADDZ -(r1+s)
	CYLIND r1, r2*0.9	!!下面の開口部
	DEL 1
ENDGROUP
GROUP "sub2"
	ADDZ -(r1+s)
	CYLIND r1+r2+l+s*2, m	!!コードを通す開孔
	DEL 1
	ADD -w/2, 0, -r1
	BLOCK w, d, h		!!スリット部
	DEL 1
ENDGROUP
!!(1)のブール和
result1 = ADDGROUP("main1","main2")
!!(2)のブール差
result2 = SUBGROUP(result1, "sub1")
!!(3)のブール差
result3 = SUBGROUP(result2, "sub2")
!!演算結果の配置
PLACEGROUP result3

ホットスポット

次に簡単なホットスポットの設定をしてみましょう。 HOTSPOT x, y, z, unID, param(変更したいパラメーター), type(ホットスポットのタイプ) を宣言して扱います。 ホットスポットは公開変数に数値を置いておくことで直感的に数字を変えることができるようになります。 ホットスポットは長さの基準となる基準ホットスポット、マウスで移動させる移動ホットスポット、移動できる方向を参照する参照ホットスポットの三つの点を定義することで扱うことができます。 以下のスクリプトを参考にしてみましょう。

block  w, d, h
unID = 1
HOTSPOT 0, 0, 0, unID,  w, 1 : unID = unID +1		!!wに関する基準ホットスポット
HOTSPOT w, 0, 0, unID, w, 2 : unID = unID +1		!!wに関する移動ホットスポット
HOTSPOT -w, 0, 0, unID, w, 3 : unID = unID +1		!!wに関する参照ホットスポット
HOTSPOT 0, 0, 0, unID,   d, 1 : unID = unID +1		!!dに関する基準ホットスポット
HOTSPOT 0,  d, 0, unID,  d, 2 : unID = unID +1		!!dに関する移動ホットスポット
HOTSPOT 0, -d, 0, unID,  d, 3 : unID = unID +1		!!dに関する参照ホットスポット
HOTSPOT 0, 0, 0, unID,  h, 1 : unID = unID +1		!!hに関する基準ホットスポット
HOTSPOT 0, 0,  h, unID, h, 2 : unID = unID +1		!!hに関する移動ホットスポット
HOTSPOT 0, 0, -h, unID, h, 3 : unID = unID +1		!!hに関する参照ホットスポット


それぞれ動かしたい向きに関して三つの点を宣言することで、図面上で動かすことができるようになります。回転軸に関して参照点を設定することで角度のホットスポットを設定できるのでいろいろと試してみましょう。


いよいよGDL運動会が7月11日金曜日の15:30より創造工学センター三階の当研究室にて行われます。この日は学内限定の研究室公開です。千葉大学建築学科の学生なら誰でも観覧できます。 また後日詳しい告知をいたしますので今しばらくお待ちください。

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