建築でコンピュータ、する?
2024年9月21日(土) 12:04 JST
やさしく学ぶArchiCAD GDLプログラミング
著者:平沢岳人+千葉大学平沢研究室(加戸啓太、飯村健司、中林拓馬、田中智己)
価格:4,500円
気をつけておりましたが訂正箇所があります。以下の正誤表をご覧ください。 ご迷惑をおかけします。
章・ページ・行 | 誤 | 正 | 補足説明 |
表紙カバー | Geometory | Geometry | |
第2章、P31、Fig2-7 | P1-P5が時計回り | P1-P5が反時計回り |
|
第2章、P33、Fig2-9 | P1-P5が時計回り | P1-P5が反時計回り |
|
第2章、P37、List2-18 | 並行 | 平行 | |
第2章、P41、List2-23、4行目 | REVOLVE n, angle, 1 + 2 + 4 + 16 + 32 + 64, ! 接点数、回転角、マスク | REVOLVE n, angle, 1 + 2 + 4 + 8 + 16 + 32 + 64, ! 接点数、回転角、マスク | マスクのビット(8)が抜けていたので面が閉じていませんでした |
第3章、P49、Fig 3-4、List3-1 P50、List3-2 P53、List3-3 P55、List3-4 |
top_panel_w | top_panel_l | ベンチの幅の変数名が「top_panel_w」となっていますが、正しくは「top_panel_l」です |
第3章、P54、Fig3-21 | 1' BRICK の引数が「leg_t - masonry * 2.0」になっていますが、正しくは「leg_t - masonry_d * 2.0」です | ||
第3章、P56、上から10行目 | w = t + seat_w + t + seat+w + t = 3t + 2seat_t | w = t + seat_w + t + seat+w + t = 3 * t + 2 * seat_w | 右辺の「seat_t」が「seat_w」です |
第3章、P57、上から3行目 | -h | -seat_t | 「h」ではなく「seat_t」です |
第3章、P57、List 3-5 |
seat_w = 0.900 : seat_d = 0.450 : seat_z = 0.450 t = 0.080 : h = 0.800 : setback = 0.03 x1 = - t / 2.0 - seat_w - t x2 = - t / 2.0 - seat_w x3 = - t / 2.0 x4 = t / 2.0 x5 = t / 2.0 + seat_w x6 = t / 2.0 + seat_w + t y1 = - seat_d / 2.0 - t / 2.0 y2 = - seat_d / 2.0 + t / 2.0 y3 = + seat_d / 2.0 - t / 2.0 y4 = + seat_d / 2.0 +t / 2.0 PRISM 12, h, x1,y1, x2,y1, x2,y3, x3,y3, x3,y1, x6,y1, x6,y4, x5,y4, x5,y2, x4,y2, x4,y4, x1,y4 ADDz seat_z - t PRISM 4, t, x2, y1, x3, y1, x3, y3, x2, y3 PRISM 4, t, x4, y2, x5, y2, x5, y4, x4, y4 |
seat_w = 0.900 : seat_d = 0.450 : seat_z = 0.450 t = 0.080 : seat_t = 0.070 : h = 0.800 : setback = 0.03 x1 = - t / 2.0 - seat_w - t x2 = - t / 2.0 - seat_w x3 = - t / 2.0 x4 = t / 2.0 x5 = t / 2.0 + seat_w x6 = t / 2.0 + seat_w + t y1 = - seat_d / 2.0 - t / 2.0 y2 = - seat_d / 2.0 + t / 2.0 y3 = + seat_d / 2.0 - t / 2.0 y4 = + seat_d / 2.0 + t / 2.0 PRISM 12, h, x1,y1, x2,y1, x2,y3, x3,y3, x3,y1, x6,y1, x6,y4, x5,y4, x5,y2, x4,y2, x4,y4, x1,y4 ADDz seat_z - seat_t PRISM 4, seat_t, x2, y1, x3, y1, x3, y3, x2, y3 PRISM 4, seat_t, x4, y2, x5, y2, x5, y4, x4, y4 |
「seat_t」を用いていませんでした |
第3章、P57、Fig3-26 | 原点座標の位置に誤り、Y1~Y4の値がList 3-5と異なっていました | ||
第3章、P63、左段上から4行目 | そして、ADDz leg_tを実行すると、ローカル座標系はFig 3-36の位置に来ます。 | この状態からADDz leg_hを実行すると、ローカル座標系が脚の上面の高さに移動します。 | 説明に誤りがありました |
第3章、P66、Fig3-48 | 「back_h」 と「back_h*ran(back_angle)」が入れ替わってしまっています | ||
第3章、P66、Fig3-49 | 一部「leg_angle」 と「back_angle」が入れ替わってしまっています | ||
第3章、P67、List3-8 11行目 13行目 第4章、P77、List4-6 3行目 5行目 第3章、P178、List8-9 5行目 9行目 |
x3 = x2 + leg_h * sin( leg_angle ) x5 = x4 - back_h * sin( back_angle ) |
x3 = x2 + leg_h * tan ( leg_angle ) x5 = x4 - back_h * tan ( back_angle ) |
「sin」でなく「tan」です |
第3章、P56、下から9行目 | PRIZM | PRISM | スペルが違います |
第5章、P58、上から5行目 | Fig5-21 | List5-21 | |
第5章、P58、Fig5-28 | rの値がスクリプトと異なっていました。 | ||
第5章、P58、Fig5-29 | こちらも rの値がスクリプトと異なっていました。fx, fy, fzも、スクリプトと異なっていますが、これらの値は以降のスクリプトでCALLされる際に常に値が代入されます。ここで設定する初期値は用いられませんので特に値を設定する必要はありません。 | ||
第5章、P100、List 5-18 29行~35行 P110、List5-24 30行~35行 |
!!ベクトルaとbを求める② ax=x[i]-x[i] ay=y[j+1]-y[j] az=z[i][j+1]-z[i][j] bx=x[i+1]-x[i] by=y[j]-y[j] bz=z[i+1][j]-z[i][j] |
!!ベクトルaとbを求める② ax = x[i+1] - x[i] ay = y[j+1] - y[j] az = z[i+1][j+1] - z[i][j] bx = x[i+1] - x[i] by = y[j] - y[j+1] bz = z[i+1][j] - z[i][j+1] |
四角錐の底面に直行するベクトルvを外積により求める際に使うベクトルa, bについて、 Fig 5-23では対角位置にある頂点のペアから、 List 5-18では ( x[i], y[j], z[i][j] ) を挟む二辺からベクトルを求めており、図とスクリプトの対応に誤りがありました。 Fig 5-23②および③に図示されているベクトルa, bと正しく対応したコードは、(正)の通りです。 なお、この例の場合は新コード(正)と旧コード(誤)は同じ結果になります。List5-24についても同様です。 |
第7章、P140 | GROUP "v" グループ"v" | グループresult_1 | |
第7章、P140、Fig7-14左 | hは床から尖頭アーチの一番上までの高さです。 | ||
第7章、P140、Fig7-14右 | (vc,0)はCYLINDの底面の中心Cの座標です。 | ||
第8章、P165、List8-3 70行目、71行目 | 70行目:rear_mesh_x[i ][j ], rear_mesh_y[i ][j ], 0.0) 71行目: | 70行目:rear_mesh_x[i ][j ], rear_mesh_y[i ][j ], 0.0); 71行目:} | 70行目の行末に「;」、71行目に「}」が必要です。 |
第8章、P164、List8-4 | ソースコード全体 | 新しいソースコードはこちら | 主な変更点は下記です。変更が多岐にわたるのでコードを入れ替えました。 1)43行目 if文から始まる再帰の終了処理の中でGDLスクリプトの出力を行っています。計算過程で用いていた配列panelsの操作が煩雑なため、これを用いないコードにしました。 2)70行目 次の世代を生成する際に、Panel型の変数(new_panel)を用いています。 3)82行目 変数timesで明示的に再帰数を扱うことにしました。こちらの値を変更すると再帰数が変化します。あまり大きな値(8以上)にするとArchiCADがフリーズする可能性があるのでご注意ください。 |
第8章、P180 下から2行目、P182 上から2行目 | sample5-1 PARAMETERS w = 1, d = 1.5, h = 2 という推奨されない呼び方でも動作し、仮に”sample5-1”が引数なしで動作する場合には、 sample5-1 とするだけでも呼び出せるのです。 | "sample5-1"をダブルクォート無しでCALLすると、「-」がマイナス演算子として扱われてエラーとなります。例えばCALLするオブジェクト名が"sample5-1"ではなく"sample"であればここの記述通りの結果になります。 |
最終更新日:: 2015年5月20日(水) 10:49 JST|表示回数: 8,032
以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。