AutoLISP เพื่อการหาค่า Coordinate , พิมพ์ค่าพิกัด N , E


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) ")")

เพียงเท่านี้ก็ใช้ได้ครับ

ใครจะนำไปประยุกต์ใช้กับวิธีการอื่นใดๆ ไม่ว่าครับ


คลังบทความของบล็อก