วันอาทิตย์ที่ 28 พฤศจิกายน พ.ศ. 2553

AutoCAD: Visual LISP, AutoLISP การนำ ID point ไปใช้

จากบทความที่แล้วที่เขียนและเผยแพร่คำสั่ง IDP ได้มีท่านหนึ่งนำไปใช้ในงานจริง และเสนอแนะสิ่งที่ควรปรับปรุง โดยนำไปใช้ในงาน CNC (Computer Numerical Control) แทนการใช้โปรแกรมเฉพาะสร้าง G-code เห็นว่าเป็นตัวอย่างประยุกต์ที่น่าสนใจดี และเจ้าของไฟล์ตัวอย่างได้อนุญาตแล้ว จึงนำภาพบางส่วนมาแสดงเอาไว้ในที่นี้


ท่านที่สนใจจะรับ IDP.VLX นี้ไปใช้งานบ้าง ส่งอีเมลมารับไปใช้กันได้ครับ ด้วยความยินดี

ข้อมูลเพิ่มเติม: สำหรับท่านที่ไม่ทราบถึงเรื่องของ CNC และ G-code อ่านตามลิงก์ข้างล่างนี้ได้
http://en.wikipedia.org/wiki/G-code
http://en.wikipedia.org/wiki/Numerical_control

วันอังคารที่ 16 พฤศจิกายน พ.ศ. 2553

AutoCAD TIPS : AutoLISP Visual LISP ถามมา-ตอบไป เขียนข้อความแสดงจุดยอดหรือพิกัด





อีเมลอีกฉบับถามถึงคำสั่งเขียนข้อความ (TEXT) ที่แสดงถึงจุดยอด (vertices) หรือพิกัด (Coordinate) ของรูปวาดเส้นตรงและเส้นโค้งต่างๆแบบอัตโนมัติ

จึงพัฒนาคำสั่ง IDP ขึ้น มีพรอมต์ดังนี้

Command: idp
Developed by S.Chatchawal, schatchawal@gmail.com
Text Height: <10> พิมพ์ค่าความสูงตัวอักษรที่ต้องการ เช่น .3 แล้วกด ENTER
Select objects: เลือกรูปวาดตามวิธีมาตรฐานใน AutoCAD
เช่น พิมพ์ ALL กด ENTER สำหรับรูปวาดทั้งหมด หรือคลิกเลือกทีละเส้น หรือลากกรอบครอบ หรือ
ลากกรอบตัด เป็นต้น

Select objects: เลือกครบแล้วกด ENTER เพื่อจบคำสั่ง

คำสั่ง IDP นี้จะเขียนข้อความในรูป X,Y ให้ตามตำแหน่งจุดยอดของรูปวาดที่เลือก จำนวนตำแหน่งทศนิยมที่แสดงถูกใช้ตามค่ากำหนด UNITS หรือตัวแปรระบบ LUPREC ที่ควบคุมความละเอียดของค่าบันทึกระยะเชิงเส้น (Linear Length) ของพื้นที่วาดรูป

ท่านที่สนใจสามารถอีเมลมารับไฟล์นี้ไปใช้กันได้ครับ

AutoCAD TIPS : AutoLISP Visual LISP ถามมา-ตอบไป Profile extrude



อีเมลฉบับหนึ่งถามหา LISP ขึ้นรูป โดยดันขึ้นรูปหรือ Extrude ไปตาม Path ที่สร้างไว้ก่อนแล้ว เช่น 2D Polyline จากคำสั่ง Pline และ 3D Polyline จากคำสั่ง 3DPoly

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

โดย Profile เป็นหน้าตัดรูปสี่เหลี่ยมผืนผ้า ให้กำหนดขนาดด้านกว้างและยาวได้

จึงได้พัฒนาคำสั่ง RRR ขึ้น มีพรอมต์ดังนี้

Command: RRR
Developed by S.Chatchawal, schatchawal@gmail.com
Rectangular x size: <1> ใส่ขนาดแนว x ที่เป็น Profile หรือหน้าตัดของรูปสี่เหลี่ยม
Rectangular y size: <1> ใส่ขนาดแนว y ที่เป็น Profile หรือหน้าตัดของรูปสี่เหลี่ยม
Select path near the end side: คลิกบน path ที่มาจากคำสั่ง Pline หรือ 3DPoly ที่สร้างไว้ก่อนแล้ว
Select path near the end side: คลิก path ได้อีกเรื่อยๆ
Select path near the end side: จบคำสั่งให้กด ENTER

ท่านที่สนใจอีเมลมารับไฟล์นี้ไปลองใช้กันได้ครับ

วันจันทร์ที่ 8 พฤศจิกายน พ.ศ. 2553

AutoCAD Tips: AutoLISP / Visual LISP: HOOK LINE เส้นตะขอ


วันนี้เปิดอีเมลมา มีท่านหนึ่งโพสต์มาถามเรื่องการเขียนเส้นตะขอหรือ Hook Line เห็นว่าน่าจะมีประโยชน์กับอีกหลายท่าน จึงขอนำมาโพสต์ตอบตรงนี้แล้วกัน

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

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

จุดที่ 1 คลิกเลือก
จุดที่ 2 ตามด้วยพิมพ์ค่า @ระยะ<มุม
จุดที่ 3 อาจใช้ความสามารถ Object snap: Parallel จับแนวที่ร่างไว้ แล้วลากแนวออกไป พิมพ์ค่าระยะที่ต้องการ
จุดที่ 4 พิมพ์ค่า @ระยะ<มุม โดยค่ามุมตอนนี้เป็นค่าลบของมุมในจุดที่ 2

สังเกตว่าการกำหนดจุดที่ 3 จะมีปัญหาเรื่องการกำหนดระยะพอสมควร อาจต้องทำระยะเป็นเส้นร่างเอาไว้ก่อน

ในบทความนี้จึงขอเสนอคำสั่ง HL ที่ใช้วาดเส้นตะขอนี้ โดยกำหนดค่าตามพรอมต์ดังนี้

Command: พิมพ์ HL กด ENTER
Developed by S.Chatchawal, schatchawal@gmail.com.
Hook angle: <45.00> พิมพ์ค่ามุม (จะถูกใช้สร้างเส้นทำมุมกับจุดเริ่มและจุดสิ้นสุด)
Hook length: <0.50> พิมพ์ค่าระยะของตะขอหรือเส้นหักมุม
Hook fillet radius: <0.15> พิมพ์ค่ารัศมีมนมุมที่จุดหักงอ
Specify first point: คลิกจุดเริ่มต้น
Specify next point: คลิกจุดถัดไป
Specify next point or [Undo]: คลิกจุดไป ได้อีกเรื่อยๆ จบด้วยการกด ENTER

กรณีต้องการยกเลิกเส้นที่เพิ่งวาดไป โดยยังค้างอยู่ในคำสั่ง HL ให้กด U ตามด้วย ENTER ได้

ด้วยการใช้คำสั่ง HL นี้แทนการเขียนด้วยคำสั่งปกติใน AutoCAD จะช่วยลดเวลาได้เป็นอย่างมาก และยังได้เส้นที่มีระยะห่างสม่ำเสมอเป็นอย่างดี โดยไม่ต้องมีเส้นร่างใดๆกำกับไว้ก่อนเลย

ภาพขยายแสดงส่วนที่ถูกมนมุม (Fillet) ที่จุดหักมุม

ท่านที่สนใจสามารถอีเมลมารับไฟล์ HOOKLINE.VLX นี้ไปใช้กันได้