Advanced AutoCAD : VBA (part 2)


จากตอนที่แล้ว ได้กล่าวถึงการโหลดเอาโปรเจคเข้ามาเรียบร้อยแล้ว ก่อนที่จะเข้าสู่ ส่วนของการเขียนโปรแกรม ขอกล่าวถึง หลักการของโปรเจค VBA ใน AutoCAD เสียก่อน

ชนิดของ โปรเจค
โปรเจค ใน AutoCAD VBA ประกอบด้วย โมดูลที่เป็นโค๊ดโปรแกรม , โมดูลที่เป็นคลาสเพื่อการเรียกใช้งาน และ ฟอร์มซึ่งเป็นส่วนโต้ตอบกับผู้ใช้งาน ทั้งหมดนี้จะทำงานตามจุดประสงค์ที่ผู้เขียนโปรแกรมต้องการ โปรเจคสามารถฝังอยู่ กับไฟล์ AutoCAD เลยก็ได้ หรือ จะเก็บเป็นไฟล์แยกต่างหาก

โปรเจคแบบ Embedded จะถูกจัดเก็บแบบฝังอยู่กับไฟล์ AutoCAD เลย เพราะโปรเจคเหล่านี้จะถูกโหลดมาใช้งานโดย อัตโนมัติเมื่อ ไฟล์ drawing นั้นถูกเปิดขึ้นมา ผู้ใช้งานโปรเจคประเภทนี้ สามารถเรียกใช้คำสั่งในโปรเจคนั้น ๆ ได้โดยไม่ ต้องทำการค้นหา และโหลดมาอีก โปรเจคแบบนี้มีข้อจำกัด อยู่ คือไม่สามารถ เรียกเปิดหรือปิด drawing อื่นได้ เนื่องจาก ฟังก์ชันต่าง ๆ สามารถใช้กับ drawing ที่โปรเจคฝังตัวอยู่ได้เท่านั้น

โปรเจคแบบ Global คือ โปรเจคที่ถูกเก็บอยู่ในไฟล์แยกต่างหาก ในสกุล *.dvb ซึ่งจะมีความหลากหลายในการใช้งาน มากกว่า คือสามารถ เปิด และ ปิด drawing ของ AutoCAD นอกเหนือจากที่ใช้งานอยู่ได้ แต่โปรเจคประเภทนี้ จะไม่ โหลดแบบอัตโนมัติ เมื่อเปิด drawing ผู้ใช้จะต้องรู้ว่า โปรเจคนี้ บรรจุชุดคำสั่งที่ต้องการใช้งานอยู่ และต้องโหลด ก่อนนำมา รันใช้งาน ข้อดีอีกอย่างของโปรเจคแบบนี้คือ ผู้ใช้คนอื่น ๆ สามารถโหลด และใช้งานโปรเจคแบบนี้ได้ด้วย ยกตัวอย่างเช่น โปรเจคที่มีคำสั่งในการนับจำนวนออบเจคใน drawing จาก drawing ที่มีทั้งหมดในโครงงาน

คำศัพท์ที่จะต้องพบ บ่อยๆ ในการเขียน AutoCAD VBA

Global Project โปรเจคที่ถูกจัดเก็บ อยู่ในไฟล์ สกุล *.dvb
Embedded Project โปรเจคที่ถูกจัดเก็บแบบฝังอยู่ตัวไฟล์ drawing
ThisDrawing เป็นคำที่ใช้เพื่อใช้ในโปรแกรมเพื่อ อ้างถึงข้อมูลของ drawing ปัจจุบันที่เปิดอยู่ ซึ่งถ้าเป็นโปรเจคแบบ Embedded ก็จะอ้างถึง drawing ที่โปรเจคนั้นฝังตัวอยู่
VBA IDE (interactive development environment) สภาวะที่ซอฟท์แวร์อนุญาตให้สามารถแก้ไข หรือ คัดลอก โค๊ดและ ฟอร์มในโปรเจคได้ และสามารถอ้างถึง ออบเจคของ ซอฟท์แวร์อื่นได้ด้วย
VBA Manager เป็นส่วนที่อนุญาตให้ ผู้ใช้สามารถ สร้าง ,ลบ ,embed ,extract โปรเจคได้ (สามารถเรียกใช้ได้จาก การพิมพ์คำสั่ง vbaman)
Macros Dialog Box เป็นส่วนสำหรับจัดการเกี่ยวกับ มาโคร หรือคำสั่ง ต่าง ๆ ในโปรเจคต่าง ๆ ได้แก่ การรัน, การลบ, การสร้างมาโครใหม่, และการตั้งค่าตัวเลือกต่าง ๆ ดังรูป

คำสั่งที่ผู้เขียน VBA ใน AutoCAD ควรทราบ โดยคำสั่งเหล่านี้สามารถพิมพ์เพื่อเรียกใช้ ได้ที่ command prompt ในโปรแกรม AutoCAD

VBAIDE ใช้เพื่อเรียก Visual Basic Editor ขึ้นมาเพื่อ แก้ไข , รัน , ทดสอบ , ตรวจหาจุดบกพร่อง ของโปรแกรม

VBALOAD ใช้โหลดโปรเจคเข้ามาสู่ drawing ที่เปิดอยู่ปัจจุบันเพื่อ ทำงาน หรือ แก้ไข และทดสอบ โดยผู้ใช้จะต้อง เลือก ไฟล์โปรเจค (สกุล dvb) ที่ต้องการ

VBARUN เข้าสู่ Macros Dialog Box เพื่อเลือก run คำสั่งที่ต้องการ

VBAUNLOAD ยกเลิกโปรเจคที่มีอยู่ใน drawing ที่เปิดอยู่ปัจจุบัน และลบออกจากรายการ ถ้าโปรเจคนั้นมีการ แก้ไข และยังไม่ได้จัดเก็บ จะมีการถามเพื่อให้จัดเก็บ

VBAMAN แสดงส่วนจัดการโปรเจค ซึ่ง เป็นส่วนที่อนุญาตให้ ผู้ใช้สามารถ สร้าง ,ลบ ,embed ,extract โปรเจคได้

VBASTMT ทำการ รันคำสั่ง visual basic ที่ command line ใน AutoCADต่อไปจะได้กล่าวถึงการสร้าง โปรแกรม แบบง่าย ๆ เพื่อเป็นตัวอย่างให้ได้ทราบถึงขั้นตอนการทำงานใน Visual Basic Editor ที่มีอยู่ใน AutoCAD

ลองเขียนโปรแกรมง่าย ๆ
การเข้าสู่ หน้าจอสำหรับการเขียนโปรแกรม สามารถทำได้โดยการ เลือกที่เมนู Tools/Macro/Visual Basic Editor หรือ กดปุ่ม alt+F11 จะปรากฎวินโดวส์ Visual Basic Editor ดังรูป

ณ จุดนี้จะได้ยกตัวอย่างโปรแกรมง่าย ๆ สำหรับการเขียน VBA ใน AutoCAD ด้วยการเขียนโปรแกรม ที่เขียนตัวหนังสือ Hello
World!
ลงใน drawing และทำการบันทึกลงไฟล์ชื่อ hello.dwg




Copyright 2000-2002 CADTHAI.COM

Contact webmaster