วันอังคารที่ 13 กันยายน พ.ศ. 2554

AutoCAD Tips: ถามมา ตอบไป เขียน RAMP วงกลม

มีอีเมลมาสอบถามถึง LISP ที่ช่วยเขียนเส้นลูกศรบน Ramp ขึ้น-ลงอาคาร

กรณีเป็นแนวตรงสามารถใช้รูปวาดแบบ hatch ได้โดยตรง โดยเลือกกำหนดระยะห่างของเส้นที่เป็น Pattern และมุมตามที่ต้องการ

กรณีเป็นแนวเส้นโค้งของวงกลมนั้น วิธีทางตรง จะประกอบด้วย 1. เขียนวงกลมที่มีจุดศูนย์กลางร่วมกันทั้ง 3 วง 2. หาความยาวเส้นรอบวงของวงกลมที่จะใช้เป็นตัวอ้างอิงในการกำหนดระยะระหว่างขั้น ซึ่งปกติจะใช้ Properties โดยดูที่รายการ Perimeter 3. คำนวณจำนวน โดยใช้ระยะ Perimeter หารด้วย ระยะห่างที่ต้องการ แล้วปัดเศษเป็นจำนวนเต็ม (N) 4. วาดเส้นลูกศรตัวแรก อาจเลือกวาดไว้ที่ตำแหน่ง 3 นาฬิกา 5. ทำซ้ำด้วยคำสั่ง array แบบ Polar และกำหนดจำนวนสำเนาตามข้อ 3 แบบเต็มวง (360 องศา)

สำหรับ LISP ที่ได้พัฒนาขึ้น เพื่อลดขั้นตอนการทำงานนั้น มีพรอมต์ดังนี้

Command: rc
Developed by S.Chatchawal, schatchawal@gmail.com
Direction [CW/CCW]: กำหนดทิศตาม-ทวนเข็มนาฬิกา
Center: กำหนดจุดศูนย์กลาง
Outer Radius: <6> รัศมีวงนอก
Inner Radius: <4>รัศมีวงใน
Outer ladder distance: <0.3> ระยะขั้น
Delete 3 circles? [Yes/No] ลบวงกลมหรือไม่>

วันศุกร์ที่ 2 กันยายน พ.ศ. 2554

AutoCAD Tips: ถามมา ตอบไป เปลี่ยนขนาดบล็อกแบบอัตโนมัติ

มีอีเมลจากท่านหนึ่งเขียนมาถามถึงวิธีการเปลี่ยนขนาด Block Reference ที่มีชื่อเดียวทั้งหมดในคราวเดียว โดยเป็นสัดส่วน เช่น เดิมมีขนาดยาว 2 หน่วย ต่อมาต้องการเปลี่ยนให้เป็น 1 หน่วย วิธีปกติคือใช้คำสั่ง Scale โดยใช้ค่าสเกลเท่ากับ ขนาดใหม่ / ขนาดเก่า ในตัวอย่างนี้คือค่าสเกลเท่ากับ 1/2 = 0.5
สำหรับแบบที่มีบล็อกที่จะต้องแก้ไขเรื่องทำนองนี้จำนวนมากๆทำได้ยากพอสมควรทีเดียว เนื่องจากแต่ละครั้งจะต้องกำหนดจุดอ้างอิง (Base point) ให้กับคำสั่ง Scale นี้ทีละหนึ่งตัวเลือก เพื่อให้งานเช่นนี้ง่ายยิ่งขึ้น จึงได้พัฒนา LISP ที่ใช้จัดการกับบล็อกชื่อเดียวกัน โดยให้กำหนดค่าสเกลที่ต้องการ จากนั้นคำสั่งจะหาจุดอ้างอิงเอง และสเกลปรับขนาดให้ตรงกับที่ต้องการ มีพรอมต์ดังนี้

Command: QSIZE
Developed by S.Chatchawal, schatchawal@gmail.com
Scale: <0.5000> ใส่ค่าสเกล
Select sample: คลิกเลือกรูปวาดเป็นหนึ่งตัวอย่าง
Quick change size 14 objects. (คำสั่งแจ้งจำนวนวัตถุที่ได้ดำเนินการเปลี่ยนขนาดให้)ผู้สนใจอีเมลมารับคำสั่งนี้ไปใช้กันได้
ก่อนปรับขนาด

หลังปรับขนาดด้วยค่าสเกล 0.5