Advanced AutoCAD : VBA (part 1)
|
|
|
|
ปัจจุบันนี้ ซอฟท์แวร์ทั่ว ๆ ไป ตลอดจนซอฟท์แวร์ CAD/CAM ถึงแม้จะพัฒนาคำสั่ง และรูปแบบการใช้งานให้ง่ายและสะดวกต่อผู้ใช้มากมายเพียงใดก็ตาม สิ่งที่ขาดเสียมิได้ที่ต้องมีอยู่ในซอฟท์แวร์เหล่านี้ คือ การอำนวยความสะดวกให้ผู้ใช้สามารถพัฒนา การใช้งานเพิ่มเติมได้เอง ในรูปแบบ ของการสร้างชุดคำสั่ง หรือการเขียน Macro นั่นเอง ตลอดจนการเขียนโปรแกรมด้วยตัวแปรภาษาต่าง ซึ่งสามารถเสริมสร้าง ศักยภาพการใช้งานของซอฟท์แวร์นั้น ๆ ให้เข้ากับรูปแบบงานที่เฉพาะเจาะจงลงไป
AutoCAD ซึ่งเป็นที่รู้จักกันดี ในแวดวงสถาปัตย์ และ วิศวกรรม ทุกแขนง ในนามของซอฟท์แวร์ที่นำมาช่วยในการออกแบบเขียนแบบกันอย่างแพร่หลาย ก็เป็นซอฟท์แวร์อีกตัวหนึ่งซึ่ง อนุญาตให้ผู้ใช้สามารถเขียน ชุดคำสั่งที่เป็นของผู้ใช้เอง เพิ่มเข้าไปเพื่อใช้งานได้ ตั้งแต่ รีลีส 2.6 ซึ่งเป็นเวลากว่าสิบปีมาแล้ว ซึ่งในขณะนั้นผู้ใช้สามารถเขียนชุดคำสั่งโดยใช้ ตัวแปรภาษาที่เรียกว่า AutoLISP ซึ่ง AutoCAD มีให้อยู่แล้ว จนถึงปัจจุบันเทคโนโลยีการเขียนโปรแกรมด้วยตัวแปรภาษา(Complier) ต่าง ๆ ได้พัฒนามากขึ้น และมีการเปลี่ยนแปลงไป และมีภาษาสำหรับเขียนโปรแกรมเกิดขึ้นใหม่ มากมาย (Java, C++, VisualBasic, Delphi, VisualFoxpro ) จึงทำให้ผู้พัฒนาตัวแปรภาษาเหล่านี้ คิดค้นวิธีการที่ทำให้ โปรแกรมซึ่งเขียนด้วยภาษาต่าง ๆ กันสามารถนำมาทำงานด้วยกันได้ อย่างผสมผสาน ด้วยเทคนิคการมอง คำสั่งและฟังก์ชันและอินพุท เอาพุทต่างๆ เป็น ออบเจค(object )ทั้งหมด สำหรับ AutoCAD รุ่นปัจจุบันทั้ง 2000,2000i,2002 จนถึง 2004 ก็อนุญาตให้ผู้ใช้สามารถเขียน ชุดคำสั่งที่เป็นของผู้ใช้เอง เพิ่มเข้าไปเพื่อใช้งานได้เช่นดียวกัน ด้วยโครงสร้างภาษา AutoLISP, VisualLISP, VisualBasic , C++
สำหรับบทความนี้จะกล่าวถึงการเขียนชุดคำสั่งเพิ่มเติมด้วยภาษา VisualBasic ตลอดจนการปรับปรุงเมนูของ AutoCAD เพื่อเรียกใช้คำสั่งที่สร้างขึ้นเอง ซึ่งก่อนอื่น จะขอกล่าวถึงความเป็นมาของภาษา VisualBasic กับ AutoCAD ดังนี้
เนื่องจาก Autodesk ซึ่งเป็นผู้พัฒนา AutoCAD และมีความสัมพันธ์อันเหนียวแน่นกับ Microsoft ตังนั้นไม่ว่าแนวโน้มของซอฟท์แวร์ที่เป็นของMicrosoft จะเป็นอย่างไร จึงไม่น่าแปลกใจที่ AutoCAD จะมีบางคำสั่ง หรือการทำงานเหมือนกันกับซอฟท์แวร์จาก Microsoft ซึ่งในปัจจุบันซอฟท์แวร์ เช่น Microsoft Office ที่มี MS Word ,Ms Excel สามารถเขียนคำสั่งเพิ่มเติมได้ ด้วย คำสั่งของ Visual Basic ซึ่ง Microsoft เรียกสิ่งนี้ว่า Microsoft VBA Microsoft VBA (Visual Basic for Applications) เป็นสภาวะการเขียนโปรแกรมที่ถูกออกแบบให้ทุกอย่างเป็นวัตถุ หรือ ออบเจค (object-oriented ) โดยมีโครงสร้างการเขียนเหมือน ภาษา Visual Basic แต่การเขียนนี้จะเขียนเพื่อใช้กับซอฟท์แวร์นั้น ๆ ได้เป็นอย่างดี สำหรับการเขียน VBA สำหรับ AutoCAD จะเป็นทางเลือกที่ดีกว่าในการพัฒนาเพิ่มเติมเนื่องจาก
การเขียนด้วยภาษา Visual Basic เป็นภาษาที่เขียน และเข้าใจง่าย
การเขียนด้วย VBA สามารถทำงานใน AutoCAD ได้ทันที
การสร้าง dialog โต้ตอบ กับผู้ใช้ เช่น การให้กดปุ่ม การให้ป้อนค่าต่าง ๆ ทำได้ง่าย และ ทำได้ทันที (ง่ายกว่า การเขียน DCL มาก ๆ)
โปรแกรมที่เขียนขึ้นสามารถกำหนดให้ ผูกติดกับ drawing นั้นไปตลอดก็ได้ หรือจะเรียกใช้เฉพาะเมื่อต้องการใช้งาน กับไฟล์ drawing ใดๆ
ที่สำคัญผู้ใช้ไม่ต้องเสียสตางค์ซื้อ ตัวแปรภาษา Visual Basic อีก
เรียนรู้ด้วยตัวเองก็ได้
ผู้ใช้สามารถเรียนรู้วิธีการเขียน VBA และความหมายของคำสั่ง และ ออบเจค ต่าง ๆ ได้ด้วยตัวเองเนื่องจาก AutoCAD ได้ให้ตัวช่วยเกี่ยวกับการเขียน VBA มาให้แล้วด้วย (โดยเลือกจาก เมนู Help และ Developer Help รูปที่ 1)
 พร้อมทั้งให้ตัวอย่างโปรแกรมที่เขียนมาแล้ว เพื่อให้ได้ศึกษาเพิ่มเติม โดยอยู่ที่ <โฟลเดอร์ที่เก็บโปรแกรม AutoCAD>/sample/VBA ซึ่งไฟล์ข้อมูลของการเขียน VBA ใน AutoCAD นี้จะถูกจัดเก็บให้อยู่ในสกุล dvb (*.dvb)
การเขียน VBA ใน AutoCAD การเขียน VBA ใน AutoCAD ก็จะคล้ายกับการเขียนโปรแกรมด้วยตัวแปรภาษา Visual Basic คือ จะใช้คำว่า Project (แทนคำว่าโปรแกรม) ซึ่งในโปรเจค หนึ่งอาจประกอบด้วยชุดคำสั่ง ( Macro ) ที่เขียนไว้มากมายซึ่งอาจเรียกใช้งานไม่พร้อมกัน การสร้าง และการโหลดโปรเจคมาใช้งาน สามารถทำได้โดยเรียกใช้คำสั่ง vbaman (ย่อมาจากVBAManager) ซึ่งจะแสดง dialog ดังรูปที่ 2

ซึ่งผู้ใช้สามารถเรียกจากเมนูของ AutoCAD ได้ที่เมนู Tools/Macros/VBA Manager... ดังรูปที่ 3

ผู้ใช้สามารถ Load โปรเจคเข้ามาใช้งานได้ด้วยการกดปุ่ม Load และเลือก ไฟล์โปรเจคที่ต้องการ(.dvb) แล้วกดปุ่ม open ดังรูปที่ 4

ในกรณีที่ต้องการยกเลิกและลบโปรเจคจากการใช้งาน ทำได้โดย เลือกชื่อโปรเจค และ กดปุ่ม Unload ดังรูปที่ 5

พบกับตอนที่ 2 ในวันที่ 15 พ.ค. 46 |
|