มีคุณ konothai@yahoo.com สอบถามถึงแนวทางสร้างเส้นกริดบนแปลน
ที่ Non-uniform X-Y หรือระยะห่างไม่ได้สม่ำเสมอ เท่ากันบางช่วง บางช่วงเป็นค่าอื่น
เห็นว่าน่าจะเป็นประโยชน์กับท่านอื่นๆ ที่ทำงานในสายนี้ด้วย
เลยขอนำมาโพสต์ตอบรวมไว้ตรงนี้เลยแล้วกัน
ท่านที่สนใจการพัฒนาสร้างคำสั่งใหม่ด้วย Visual LISP
ติดขัดตรงจุดไหน อีเมลมาคุยกันได้นะครับ
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0_2TuzGUl-EJm9bMBEPYeAUIaPakkICrwEPaLfq4Ww_Oe9GMdsIY8XlxZJ-comR4DcCz26GM-b8586jom3NXbxF4PaZvXiWbtHE7YwVBehe6DWHNoL8WoW6BrHBtpxjoYOPpLFRvqp50/s400/L014.png)
และนำเสนอให้ใช้ค่าป้อนในคำสั่งเป็นนิพจน์ในรูป
A1+ A2*X2 + A3*X3 + ... + Am*Xm
B1+ B2*Y2 + B3*Y3 + ... + Bn*Xn
พร้อมกับวางเสาที่มีหน้าตัดรูปสี่เหลี่ยมผืนผ้าที่ขนาดหนึ่งในทุกจุดตัดของเส้นกริดด้วย
แล้วค่อยอัปเดตด้วยอีกคำสั่งภายหลัง สำหรับต้นที่มีขนาดพิเศษ
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyi1DT80Xy49cameUkMFXdjIeC9aD5fq07Z0XSJCbXYGwuZpmUkWIxGeFFKDbKbCoqSqtcVLrbkaBK7Qr5boQt_ia4pSl6a7UgDwIa7hsTZ1RAwbw6xQMt04aO5RqJME1tW_4OPL5xtjo/s400/L016.png)
แนวทางใน Visual LISP coding คงต้องจัดการจาก
นิพจน์สตริง A1+ A2*X2 + A3*X3 + ... + Am*Xm
ตรวจดักความผิดพลาดที่จะถูกป้อนเข้ามา
เมื่อถูกต้องแล้ว ก็แยกเป็น List ในรูป
( (A1) (A2 X2) (A3 X3) ... (Am Xm))
และสุดท้ายอาจแตกค่าย่อยเป็น
( x1 x2 x3 .... xm )
จัดการกับค่าในทั้งสองแกนแล้วนำมาเขียนด้วยเส้นตรง
และคัดลอกไปที่ระยะต่างนี้
โค้ดที่ได้ลองเขียนขึ้น เป็นไฟล์ให้ดาวน์โหลดได้ที่
(New Revision: 24-02-2010 16:00PM)
http://www.mediafire.com/file/ekhznziijzz/GRID.VLX
ก่อนใช้งาน ให้โหลดด้วย APPLOAD เหมือนกับ .LSP ทั่วไป
ลำดับการทำงานของคำสั่งนี้
Command: gs
Developed by S.chatchawal.
X expression A1+ A2*X2 + A3*X3 + ...: เช่น 5+12*4.5+6+5
Y expression B1+ B2*Y2 + B3*Y3 + ...: เช่น 4+7+3*4+5+4
Column x size: <0.25> ขนาดเสาแนว X เช่น .3
Column y size: <0.25> ขนาดเสาแนว Y เช่น .4
ผลลัพธ์ที่ได้จะวาดรูปชุดเส้นกริดและใส่เสาที่ขนาดเท่ากันทุกต้น
พร้อมกับแจ้งนิพจน์ที่ใช้วาดอีกครั้ง บน Command: เช่น
X: 5+12*4.5+6+5
Y: 4+7+3*4+5+4
คำสั่งนี้กำหนดเลเยอร์ให้กับเสาและเส้นกริดที่
A-Column และ A-Grid ตามลำดับ
ดูไดอะล็อก Layer Properties
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXdS2vTFIA9i8_WMo5wYVtY78VOJwN9mVyrawECpe9m1vGE47ygGMsINtVw2Qe4XGgqHFWvT5uLIp8sTAe39gPxp9J8Vc3TgG4eznmEdH2Qil4R-LsNz0m6Ayc5CDV7b1FNl9N3yeQl5o/s400/L018.png)
ส่วนการอัปเดตขนาดเสาใหม่ ให้ใช้คำสั่ง CU
ที่มาพร้อมกับคำสั่ง GS ในไฟล์ GRID.VLX
ลำดับการทำงานของคำสั่ง CU เป็นดังนี้
Command: cu
Developed by S.chatchawal.
New Column x size: <0.3> ขนาดเสาใหม่ในแนว x เช่น .6
New Column y size: <0.4> ขนาดเสาใหม่ในแนว y เช่น .4
Select objects: เลือกกลุ่มเสาที่จะเปลี่ยนขนาดใหม่
Select objects: ที่พรอมต์นี้หากเราเลือกครอบ จะกรองเอาเฉพาะ Polyline 4 จุดยอดให้
เมื่อกล่าวถึงในจุดนี้
งานสุดท้ายจะจบลงด้วยการใส่ Grid Iden Bubbles
ที่เป็นวงกลมและหมายเลข หรืออักษรกำกับ
ซึ่งใน PA2010-AEC ที่มีกล่าวถึงในหนังสือ
AutoCAD 2010 เขียนแบบงานวิศวกรรมและสถาปัตย์
ที่ได้จัดทำไปนั้น มีคำสั่ง inctext ที่่ช่วยจัดการเขียน
ชุดตัวเลขหรือชุดตัวอักษรเรียงให้
ซึ่งใช้ได้สะดวกมาก ไม่ต้องใส่ค่าใหม่ทีละค่าเอง
จาก Text หรือ Mtext เองอีก
ดูรูปไดอะล็อก Increment Text
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5cJ0vYa5L62aB0YVs9V3JQEb48ozZtqX6BAcNUoYfbXEFhGJOTCckBpBx3a4Dl6f9Z9Rlxaaq-X7u9cpREo5BvhWsHYySiaGLR_qu8Qa-Gnz8njOQg4pKKNe-2RUHuBm1wC7wstpvk5w/s400/L017+inc.png)
หลังจากคลิก Draw ไดอะล็อกจะปิดลง
เมื่อเลือกในแบบ Each Point
และมีพรอมต์ดังนี้
Command: inctext
Specify point for Text:
ให้เลือกจุดที่จะเขียน ในกรณีนี้คือ Object Snap: Center
ของรูปวงกลมที่แทน Bubble หนึ่งๆ
กรณีระยะเส้นกริดเป็นแบบ Uniform
ก็สามารถใช้ตัวเลือก Uniform บนไดอะล็อก IncText
เพื่อกำหนดแบบอัตโนมัติเลย ไม่ต้องคลิกทีละจุดอีก
ไม่มีความคิดเห็น:
แสดงความคิดเห็น