จากตอนที่แล้ว
ได้กล่าวถึงการโหลดเอาโปรเจคเข้ามาเรียบร้อยแล้ว ก่อนที่จะเข้าสู่
ส่วนของการเขียนโปรแกรม ขอกล่าวถึง หลักการของโปรเจค
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