วันจันทร์ที่ 30 มิถุนายน พ.ศ. 2551

Tutorial : GDL Basic Workshop

เวลาพูดกับคนที่ใช้ ArchiCAD ส่วนมากมักจะถามถึงการทำ GDL กันจริงๆ เลย
วันนี้ว่าง เลยจะมาทำ GDL แบบง่ายๆ Basicๆ ดีกว่า

1. ก่อนอื่นก็เปิด ArchiCAD ขึ้นมาก่อนเลย
ไปที่ File - Libraries and Objects - New Object... ก็จะมาที่หน้าต่างการการทำ GDL

2. สังเกตดูว่าตอนนี้เราอยู่ที่ หัวข้อ Parameter ที่หัวข้อนี้เป็นการใส่ค่าเริ่มต้นต่างๆ ของ GDL ที่เราจะทำ เช่น กว้าง, ยาว, สูง, สีปากกา, Materials
ให้ใส่ค่าตามรูป โดยหัวข้อด้านบนจะมีความหมายตามนี้

Display กำหนดให้แสดงผลหรือไม่
Variable กำหนดตัวแปรที่จะใช้ในการเขียน Object จากตัวอย่าง เช่น A แทน ความกว้าง
Type กำหนดประเภทค่าตัวแปร เช่น ค่าตัวเลข, ประเภทวัสดุ, ค่าความยาว
Name ชื่อที่จะให้แสดงในหน้าต่าง GDL
Value ค่าเริ่มต้น GDL

3. ไปที่หัวข้อ 3D Script ใส่ CODE ลงไปตามนี้

โดยความหมายของ CODE แต่ละส่วนมีความหมายตามนี้
3.1 ทำการลิ้งค์ตัวแปร
- C= zzyzx หมายความว่า ให้แทนค่า zzyzx ใหม่ด้วยตัวแปร c
- PEN pen_color หมายความว่า ให้ค่าปากกามีค่าตามตัวแปร pen_color ในข้อ2 (ดังนั้นสีปากกาจะมีค่าเท่ากับ 64 คือ สีเขียว)
- MATERIAL mat หมายความว่า ให้ค่า Material มีค่าตามตัวแปร mat ในข้อ2 (ดังนั้นสีปากกาจะมีค่าเท่ากับ 52 คือ ไม้ )

3.2 วาดขาเก้าอี้ 4 ขา
ในส่วนนี้ต้องตั้งสตินิดนึง ส่วนนี้จะเป็นการวาดขาเก้าอี้ โดยใช้คำสั่ง ...
BLOCK x,y,z โดย BLOCK หมายถึงการสั่งให้วาดกล่องสี่เหลี่ยม x,y,z คือตำแหน่ง กว้าง,ยาว,สูง
ADD x,y,z คือคำสั่งย้ายศูนย์กลางการสร้างของเราไปตามทิศ x,y,z
3.2.1- BLOCK leg,leg,C/2 สั่งให้สร้างกล่องขนาด กว้าง leg(30), ยาว leg(30), สูง C/2(900/2 =450)
-
3.2.2- ADD A-leg,0,0 ย้ายตำแหน่งสร้าง โดยเพิ่มระยะแต่ละแกนตามลำดับ xyz ดังนั้ A-leg(400-30 =370), 0, 0
- BLOCK leg,leg,seat_H สั่งให้สร้างกล่องขนาด leg(30), leg(30), seat_H(450)
- DEL 1 ย้ายตำแหน่งสร้างกลับไป 1 ครั้ง (ยกเลิกคำสั่ง ADD, กลับไปที่ 0,0,0)
-
3.2.3- ADD A-leg,B-leg,0 ย้ายตำแหน่งสร้าง โดยเพิ่มระยะแต่ละแกนตามลำดับ xyz ดังนั้ A-leg(400-30 =370), B-leg(450-30 =420), 0
- BLOCK leg,leg,seat_H สั่งให้สร้างกล่องขนาด leg(30), leg(30), seat_H(450)
- DEL 1 ย้ายตำแหน่งสร้างกลับไป 1 ครั้ง (ยกเลิกคำสั่ง ADD, กลับไปที่ 0,0,0)
-
3.2.4- ADD 0,B-leg,0 ย้ายตำแหน่งสร้าง โดยเพิ่มระยะแต่ละแกนตามลำดับ xyz ดังนั้ 0, B-leg(450-30 =420), 0
- BLOCK leg,leg,seat_H สั่งให้สร้างกล่องขนาด leg(30), leg(30), seat_H(450)
- DEL 1 ย้ายตำแหน่งสร้างกลับไป 1 ครั้ง (ยกเลิกคำสั่ง ADD, กลับไปที่ 0,0,0)
สรุป วาดขาเก้าอี้ขนาด 30,30,450 ที่มุมทั้งสี่

3.3 วาดที่นั่ง
- ADDz seat_H ย้ายตำแหน่งสร้าง โดยเพิ่มระยะ z เท่ากับ seat_H(450)
- BLOCK A,B,0.02 สั่งให้สร้างกล่องขนาด A(400), B(450), seat_H(0.02 จะเท่ากับ 20 ใน project)
สรุป วาดที่นั่งขนาด 400,450,20 ที่ความสูง 450

3.4 วาดพนักพิง
- ADDy B-0.02 ย้ายตำแหน่งสร้าง โดยเพิ่มระยะ y เท่ากับ B-0.02(450-20 =430)
- BLOCK A,0.02,C/2 สั่งให้สร้างกล่องขนาด A(400), 20, C/2(900/2 =450)
สรุป เพิ่มระยะ y 430 แล้ววาดกล่องขนาด 400,20,450

แค่นี้(??)ก็จะได้เก้าอี้มาแล้ว ต่อไปเราจะสร้างแปลนที่จะให้แสดงผลใน viewport

4.ไปที่ 2D Script แล้วใส่ว่า project2 3,270,2 หมายความว่าให้ เอาแปลนของรูปสามมิติมาเลย

5. กด Ctrl+Shift+S save งานเป็น ไฟล์ .gsm แล้วเอาไปเปิดเป็นไฟล์ GDL
ลองเอาไปใส่ในงานดู แล้วลองเปิด Properties จะเห็นว่าสามารถปรับค่า ความสูงที่นั่ง, ขาเก้าอี้, วัสดุ สีปากกา เหมือน GDL ทั่วไปเลย

ลองทำตามนี้ดูนะครับ ไม่ง่ายไม่ยาก ติดตรงไหนก็ลองถามได้นะครับ

2 ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...

มันดูซับซ้อนวุ่นวาย ถ้างานดีเทลเยอะๆ จะพิกัดจุดไหวหรอ

BaZaRa กล่าวว่า...

ตอบเลยว่าไม่ไหวครับ ต้องใช้การ import 3ds ครับ