AutoLISP เพื่อการหาค่า Coordinate
เขียนขึ้นมาสำหรับพี่ทัย Survey ที่ต้องการคำสั่งช่วยหาค่า COORDINATE ค่า N,E เพื่อให้ระบุในแบบ
โหลดไฟล์นี้ไปใช้ครับ Coord.lsp
คลิ๊กโหลดตรงนี้ครับ คลิ๊กโหลดซิครับ
โหลดแล้วจะนำไปวางไว้ตรงไหนก็ตาม แต่ขอแนะให้พี่ควรจัดแยกไว้เพื่อหาให้เจอได้ง่ายๆ เช่นย้ายหรือก๊อปปี้มาไว้ใน D:\LISP (สร้างโฟลเดอร์ขึ้นมาใหม่จะดีกว่า)
เมื่อโหลดไฟล์เข้ามาแล้ว ให้ใช้คำสั่ง APPLOAD ในโปรแกรม AutoCAD แล้ว Enter
Command : APPLOAD
จะขึ้น Dialog Box ดังภาพข้างบน
ให้เลือกไฟล์ที่ต้องการโหลดเข้ามาใช้งาน คือไฟล์ COORD.LSP
เมื่อเลือกไฟล์ COORD.LSP แล้ว คลิ๊กที่ LOAD
ในบางเครื่องจะขึ้นข้อความ Security Concern เตือนเรื่องความปลอดภัย (AutoCAD version 2014 ขึ้นมาจะเตือนข้อความนี้ ) ให้คลิ๊กที่ LOAD เพื่อให้ใช้งานคำสั่ง
การใช้งาน ตามรูปเลยครับพี่ทัย ที่ Command line พิมพ์คำสั่ง COOR
Command : COOR
Select point or Enter for Exit ...
แล้วคลิ๊กไปที่จุดที่ต้องการหาค่าพิกัด N , E
(ถ้ากด Enter ก็จะออกจากคำสั่งครับ)
จากนั้นก็คลิ๊กในพื้นที่ ที่ต้องการให้พิมพ์ตัวอักษรเท่านั้นครับ
ส่วนขนาดของตัวอักษรจะอยู่ที่การตั้งค่าตัวอักษรในขณะนั้น ซึ่งเปลี่ยนได้ไม่ยากครับพี่ทัยน่าจะทำได้
เขียนมาตั้งแต่ 2013 แน่ะนะนี่
Source Code : COORD.Lsp
; Command for write Coordinate. Modify by Thee on 8 June 2013
(setq p t) (defun cot (p)
(setq x (/ (car p) 1)
y (/ (cadr p) 1)
pp (strcat "(" "E="(rtos x) "," "N="(rtos y) ")")
tp p
pick (getpoint p "\n\tPick Position:")
)
(if (/= tp nil)
(command "text" pick "" "0" pp ))
)
(defun c:coor()
(while (/= nil p)
(setq p (getpoint "\n\tSelect point or ENTER for Exit ..."))
(if (/= p nil) (cot p))
)
(setq p t) (prin1))
(prompt "Start Command with COOR.")(prin1)
COORD.LSP
เสริมนิดนึงครับ สำหรับค่า E และ N
หากใครต้องการสลับที่กัน
ให้ปรับแก้ไข ที่ บรรทัด pp (strcat "(" "E="(rtos x) "," "N="(rtos y) ")")
สลับตำแหน่ง เป็น
pp (strcat "(" "N="(rtos y) "," "E="(rtos x) ")")
เพียงเท่านี้ก็ใช้ได้ครับ
ใครจะนำไปประยุกต์ใช้กับวิธีการอื่นใดๆ ไม่ว่าครับ