هاتف: 2220008-31-00963
جوال: 99824193-9-00963
بريد إلكتروني:
info@jwdstructure.com
سوريا - حمص
سنقوم في هذا الدرس بالتعرف على بعض الكائنات التي يمكن إضافتها بواسطة 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 إلى اللوحة نستخدم الأمر 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 أي ماذا لو أردنا إضافة نقطة حمراء مثلاً؟ فماذا نفعل؟
نقوم بالخطوات التالية:
مثال : أضف نقطة حمراء في الموضع (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
لاحظ الاختلاف بين هذا الكود والكود السابق:
إذاً يوجد طريقتان لإضافة الكائن الرسومي:
لإضافة كائن خط إلى اللوحة نستخدم الأمر 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
استخدم الأمر 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.