CİZGİNİN çəkİlməsİnə hazırlıq
Yeni proyekti başlamzdan əvvəl ekrandakı bütün xətləri pozmaq lazımdır. Bunun üçün AutoCAD-ın obyektlərindən ibarət yığım adlanan vahid seçilmiş obyektlərin qrupundan istifadə dilir. Obyektlər müxtəlif qatlar, müxtəlif rənglər, müxtəlif xətlərdən təşkil oluna bilər. Əvvəlcə yığım yaradılıb SelectionSets kolleksiyasında toplanır və ADD metodundan istifadə edilib adlı yığım yaradılır.
Dim ssetObj As Variant
'Dim ssetObj As AcadSelectionSet
Dim mode As Integer
mode = acSelectionSetAll
Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
ssetObj.Select mode
ssetObj.Erase
ThisDrawing.SelectionSets.Item("SSET").Delete `
Bununla ekrandan bütün obyektlər pozulur.
Ekranda koordinat sisteminin görünüşü təyin edilir. Bunun üçün Direction metodundan istifadə edilir. Məsələn, 0, 0, 1 üstən, -1, -1, 1 SW izometrik deməkdir.
Dim NewDirection(0 To 2) As Double
NewDirection(0) = 0: NewDirection(1) = 0: NewDirection(2) = 1
ThisDrawing.ActiveViewport.Direction = NewDirection
ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
ZoomAll
ZoomAll- komandası AutoCAD-ın eyniadlı komandasıdır.
SendCommand –sı ilə VBA-ban AutoCAD-ın istənilən komandasını və alt komandasını işə salmaq olar. Bu vaxt əsasən comandadakı probellərə fikir vermək lazımdır, çünki probel AutoCAD-da Enter düyməsini əvəz edir. Aşagıdakı misalı nəzərdən keçirək:
Sub SendACommandToAutoCAD ()
ThisDrawing.SendCommand "_vscurrent _Conceptual "
ThisDrawing.SendCommand "_Circle 100,120,0 30 "
ThisDrawing.SendCommand "_zoom a "
End Sub
Burada əvvəlcə ekranda Conseptual fon yaradılır və mərkəzi 100, 120, 0 nöqtəsində yerləşən və radiusu 30 olan çevrə çəkilir. Sonra isə Zoom all komandası və altkomandası işə salınır.
Xətlərin tiplərinin təyini
Sub LoadLinetype ()
On Error GoTo ERRORHANDLER
Dim linetypeName As String
linetypeName = "CENTER"
' "CENTER" adlı xəttin tipini acad.lin faylından yüklə
ThisDrawing.Linetypes.Load linetypeName, "acad.lin"
Exit Sub
ERRORHANDLER:
MsgBox Err.Description
End Sub
Dostları ilə paylaş: |