برمجة أوتوكاد - الدرس الخامس - إضافة كائنات إلى اللوحة 1
النقاط الأساسية
- مقدمة
- تعريف الإحداثيات
- رسم نقطة Point
- رسم خط Line
- رسم دائرة Circle
- خاتمة
مقدمة
سنقوم في هذا الدرس بالتعرف على بعض الكائنات التي يمكن إضافتها بواسطة VBA، ولكن أولاً سنتعرف على كيفية تعريف إحداثيات نقطة ما في VBA، مثلاً إحداثيات بداية خط أو مركز دائرة.
تعريف الإحداثيات
معظم الكائنات التي نريد إضافتها إلى اللوحة تحتوي على نقاط مميزة يجب إدخال إحداثياتها، ويتم تعريف إحداثيات نقطة في VBA باستخدام شعاع أو مصفوفة مكونة من عمود واحد وثلاثة أسطر تمثل الإحداثيات x,y,z، وسنعتمد على الاصطلاح التالي في هذا الدرس والدروس القادمة وهو عند كتابة إحداثيات نقطة بالشكل (4,3,7) مثلاً فإننا نعني أن x=4 , y=3 , z=7 أي تكتب بالشكل (x,y,z).
مثلاً لتعريف إحداثيات نقطة ولتكن (5,4,0) نقوم أولاً باختيار اسم لها مثلاً location أو pntA ثم نكتب ما يلي:
Dim location(0 To 2) As Double
location(0) = 5: location(1) = 4: location(2) = 0
رسم نقطة Point
لإضافة نقطة Point إلى اللوحة نستخدم الأمر AddPoint التابع للكائن ThisDrawing.ModelSpace كما في المثال التالي:
لنفرض أننا نريد إضافة نقطة إحداثياتها (5,4,0) نضيف الماكرو التالي (كما تعلمت سابقاً):
Public Sub AddPoint()
Dim pntA(0 To 2) As Double
pntA(0) = 5: pntA(1) = 4: pntA(2) = 0
ThisDrawing.ModelSpace.AddPoint pntA
End Sub
حيث مررنا المتحول pntA الذي يحمل إحداثيات النقطة إلى الأمر AddPoint ليقوم بالرسم.
الآن لاحظ الكائن نقطة الذي تم إضافته للوحة في الموضع السابق.
ولكن ماذا لو أردنا تغيير خصائص هذه النقطة من ضمن VBA أي ماذا لو أردنا إضافة نقطة حمراء مثلاً؟ فماذا نفعل؟
نقوم بالخطوات التالية:
- نعرف الإحداثيات كما سبق
- نقوم بالتعريف عن متحول جديد سيشير إلى النقطة التي نريد إضافتها وسيأخذ النوع AcadPoint
- نضيف النقطة بواسطة AddPoint
- نغير الخاصية Color إلى اللون الأحمر
مثال: أضف نقطة حمراء في الموضع (5,4,0):
Public Sub AddPoint()
Dim pntA(0 To 2) As Double
Dim pointObj As AcadPoint
pntA(0) = 5: pntA(1) = 4: pntA(2) = 0
Set pointObj = ThisDrawing.ModelSpace.AddPoint(pntA)
pointObj.color = acRed
End Sub
لاحظ الاختلاف بين هذا الكود والكود السابق:
- السطر Dim pointObj as AcadPoint حيث قمنا بتعريف متحول اسمه pointObj ليشير إلى النقطة التي سنضيفها
- السطر الذي يضيف النقطة وهو:
Set pointObj = ThisDrawing.ModelSpace.AddPoint(pntA)
- ثم السطر الذي نقوم فيه بتغيير الخاصية Color للكائن pointObj
الذي يشير إلى النقطة المضافة
إذاً يوجد طريقتان لإضافة الكائن الرسومي:
- إما إضافته مباشرة دون التعريف عن متحول جديد كما في المثال السابق، لكن لن نستطيع تعديل خصائصه بسهولة
- أو إضافته ووضعه ضمن متحول مباشرة لتغيير خصائصه، وهذه الطريقة
أعم لذلك لن أشير إلى الطريقة الأولى فيما بعد
رسم خط Line
لإضافة كائن خط إلى اللوحة نستخدم الأمر AddLine التابع للكائن ThisDrawing.ModelSpace بعد تعريف إحداثيات البداية وإحداثيات النهاية كما في المثال التالي:
أضف خطاً أزرقاً بدايته (9,2.5,0) ونهايته (20,1,0):
Public Sub AddLine()
Dim pntStart(0 To 2) As Double
Dim pntEnd(0 To 2) As Double
Dim LineObj As AcadLine
pntStart(0) = 9: pntStart(1) = 2.5: pntStart(2) = 0
pntEnd(0) = 20: pntEnd(1) = 1: pntEnd(2) = 0
Set LineObj = ThisDrawing.ModelSpace.AddLine(pntStart,
pntEnd)
LineObj.Color = acBlue
End Sub
رسم دائرة Circle
استخدم الأمر AddCircle التابع للكائن ThisDrawing.ModelSpace بعد تعريف إحداثيات المركز ومعرفة نصف قطرها ، مثال:
أضف دائرة خضراء إحداثيات مركزها (1.2,22,0) ونصف قطرها يساوي 15:
Public Sub AddCircle()
Dim pntCenter(0 To 2) As Double
Dim CircleObj As AcadCircle
pntCenter(0) = 1.2: pntCenter(1) = 22: pntCenter(2) = 0
Set CircleObj = ThisDrawing.ModelSpace.AddCircle(pntCenter,
15)
CircleObj.color = acGreen
End Sub
خاتمة
تعلمت في هذا الدرس كيفية تعريف إحداثيات نقطة وكيفية إضافة نقطة وخط ودائرة إلى اللوحة وتخزينها في متحولات لتعديل خصائصها بعد إنشائها.
وأكرر في نهاية هذا الدرس على ضرورة معرفة مبادئ لغة فيجوال بيسيك للمتابعة مع هذه السلسة من دروس VBA.
هاتف: +963-31-2220008
جوال: +963-999-824193
سوريا - حمص