Tuesday, June 10, 2014

ย้อนยุค ไปเริ่มต้น กับ Autolisp

สำหรับคนที่รู้จัก AutoCAD ก็คงต้องรู้จัก หรือ เคยได้ยินคำว่า  Autolisp

AUTOLISP  คือภาษาการเขียนโปรแกรมคอมพิวเตอร์  ภาษาหนึ่ง  รากฐานเดียวกับ ภาษา LISP   แต่ที่มีคำว่า Auto นำหน้าเพราะว่า  ทำงานอยู่บน AutoCAD    ซึ่ง ผู้ใช้งาน AutoCAD สามารถใช้ภาษา  Autolisp  เขียน โปรแกรม หรือชุดคำสั่งใหม่ ขึ้นมาเพื่อตอบสนองความต้องการของตนเองได้ เช่น

อยากจะมีคำสั่ง ที่ เลือกวงกลม  ที่มีขนาด  20 มม.  และ สีแดง  โดยเลือกทั้ง drawing ได้

อยากจะมีคำสั่งที่ เปลี่ยน วงกลม   ที่มีขนาด  20 มม  ให้เป็น รูปหกเหลี่ยม ทั้งหมด

สามารถทำได้ครับ  แต่ต้องเขียน โปรแกรมคำสั่งขึ้นมาใหม่


การเขียนโปรแกรม Autolisp  ถ้าเขียนเป็น คำสั่งสั้น ๆ ก็สามารถเขียนไปใน  command prompt : ได้เลย

แต่ถ้าโปรแกรม ยาว ๆ ก็เขียนไว้ใน  notepad  แล้ว เซฟไว้ในนามสกุล  lsp  แล้ว ค่อยโหลดมา รันทำงานเมื่อต้องการ ครับ



จะขอนำเสนอ วิธีเขียนง่าย ๆ  พื้น ๆ กันก่อนนะ ครับ   ก็ต้องเริ่มจาก การเขียน คำว่า   สวัสดีชาวโลก  หรือ  Hello World !  กันก่อน



หมายเหตุ  ในการแสดง ตัวอย่างการเขียน คำสั่งของ Autolisp   ผมจะ ใช้ซอฟต์แวร์ CAD ทางเลือก ที่มีความสามารถรองรับ Autolisp ได้เหมือนกัน   นะครับ  แจ้งให้ทราบล่วงหน้า


ที่  command prompt :  พิมพ์   (defun c:kk   ()   (princ "Hellow world!")  )

ผลลัพธ์ คือ

Command: (defun c:kk () (princ "hello") )
C:KK
Command: kk
hello
"hello"
Command:


การเขียน Autolisp  มีรูปแบบ คือ

เปิด วงเล็บ / คำสั่งพร้อมตัวแปร  / ปิดวงเล็บ
เช่น
(princ  "Hello")    เป็นตัวอักษร ต้อง ครอบด้วย เครื่องหมาย คำพูด

(defun c:kk    ()     xxxxxxxxxxxxxx    )                   

คือการกำหนด หรือ define คำสั่งใหม่ ขึ้นมาที่ ไม่มีใน AutoCAD อย่าให้ซ้ำ ไม่งั้นจะทับคำสั่งเดิมไป
ในที่นี้คือ คำสั่ง kk   

()  วงเล็บ เปิด ปิด คือ ส่วนของการส่งผ่านค่าตัวแปร เพื่อไปประมวลผลทีอื่น ซึ่ง ตอนนี้ยังไม่มี

)   ปิด วงเล็บสุดท้าย  คือจบโปรแกรม

ลองทำตามกันดูนะครับ

คราวหน้ามาต่อ




No comments:

Post a Comment