วันพุธที่ 15 ธันวาคม พ.ศ. 2553

AutoCAD TIPS : AutoLISP Visual LISP ถามมา-ตอบไป วางดวงโคมรอบแนวเส้นโค้ง

มีอีเมลจากท่านหนึ่งถามมาถึงเรื่องการวางดวงโคมฟลูออเรสเซนต์แบบหลอดยาว ไม่ใช่หลอด Compact โดยวางให้มีส่วนซ้อนกันบริเวณขั้วหลอด เพื่อใช้ฝังซ่อนบนฝ้าในฝ้าหลุม หรือกล่องที่มีแผ่นกระจกฝ้ากรุอีกที แต่เพื่อไม่ให้เห็นเงาดำของขั้วหลอด แทนที่จะวางเรียงไปแบบปลายชนกัน จึงต้องเอียงเล็กน้อย ให้ส่วนขั้วหลอดเกยกัน

ขอนำมาตอบรวมไว้ในบล็อก เพื่อเป็นประโยชน์กับท่านอื่นด้วย

ขั้นตอนมีดังนี้

1. วาดแนวเส้นตามที่ต้องการ จะเป็นเส้นตรง หรือเส้นโค้งแบบเต็มวงกลม วงรี ส่วนของเส้นโค้งจากคำสั่ง ARC ก็ได้

2. สร้างบล็อก (Block definition) ของดวงโคม ให้วางแนวยาวที่มุม 0 องศา หรือขนานแกน X เช่นใช้คำสั่ง Rectang ป้อนจุดที่ 0,0 และ 1.2,0.06 สำหรับหลอดฟลูออเรสเซนต์ 36 วัตต์ หรือตามแบบที่ต้องการ ทั้งนี้ให้กำหนดจุดวาง (Insertion Point) ไว้ที่ จุดกึ่งกลางของด้านทางซ้าย ดูรูปประกอบ

3. ใช้คำสั่ง MEASURE ตามพรอมต์ดังนี้

Command: measure
Select object to measure: [คลิกเลือกรูปวาดเส้นตรงหรือเส้นโค้ง]
Specify length of segment or [Block]: [พิมพ์ B กด ENTER]
Enter name of block to insert: [ใส่ชื่อบล็อกที่ต้องการ เช่น FL36W]
Align block with object? [Yes/No] : [กด ENTER รับตัวเลือก Y]
Specify length of segment: [ใส่ระยะ กรณีเกย 10 ซม. สำหรับหลอดยาวนี้ให้ป้อนด้วยค่าที่หักระยะเกยกันแล้ว เช่น 1.1 สำหรับหลอด 36 วัตต์]

*** เคล็ดลับของเรื่องนี้ อยู่ที่ระยะในพรอมต์ ให้ป้อนด้วยค่าระยะความยาวของดวงโคมที่หักลบด้วยระยะที่จะให้ซ้อนกันแล้ว ในส่วนที่จะไม่ให้เกิดเงาดำของขั้วหลอด ***


บางกรณีอาจยังมีช่องว่าง เติมช่องว่างที่ยังเหลือ ที่คำสั่งยังไม่ใส่ไว้ให้ เนื่องจากระยะที่เหลือสั้นกว่าค่าที่ป้อนไว้ หากเติมด้วยอีกหลอดไม่ได้ ก็อาจเติมด้วยหลอดไฟแบบที่สั้นลง เช่น 18 วัตต์ จำนวนตามเหมาะสม