Download SOFiCAD - Index of

Transcript
VBA
Befehlsreferenz
Stahlliste
Das Beispielprogramm, um einen neuen Layer LayerRot zu erzeugen und seine
Farbe auf Rot zu setzen, sieht so aus:
Sub Create()
Dim Layer As AcadLayer
Set Layer = ThisDrawing.Layers.Add("LayerRot")
Layer.Color = acRed
End Sub
Die Zeile mit Dim definiert eine neue Variable Layer, die eine Referenz auf den
Layer aufnehmen soll. Anschließend wird der Layer erzeugt. Sollte der Layer
schon existieren, so wird der Variablen der bestehende Layer zugewiesen. Anschließend wird das Property Color von Layer auf acRed gesetzt. acRed ist eine
vordefinierte Variable, die der AutoCAD-Farbe Rot entspricht.
Beispiel für VBA in AutoCAD: Linie
Natürlich kann man in VBA nicht nur die Layertabelle modifizieren, man kann
auch neue Objekte erzeugen oder Eingaben vom Benutzer erfragen. Dazu hier
ein Makro, das eine Linie erzeugt und vom Benutzer einen Punkt erfragt, um
eine zweite Linie zu erzeugen, die die erste mit dem gezeigten Punkt verbindet.
Auch wenn man das Makro problemlos in das Projekt LayerRot einfügen könnte,
ist es besser, ein neues Projekt zu definieren, mit Name ZeichneLinie. So kann
man es später auch wieder leichter finden. Wie man ein neues Projekt definiert,
erfahren Sie im Kapitel Anwendung in AutoCAD auf Seite 154. Definieren Sie
auch diesmal definieren Sie ein neues Makro und nennen es Zeichne. Die notwendigen Anweisungen, um eine Linie vom Punkt (0, 0, 0) zu (1, 1, 0) zu zeichnen, sieht dann so aus:
Sub Zeichne()
Dim StartPt(0 To 2) As Double
Dim EndPt(0 To 2) As Double
StartPt(0)
StartPt(1)
StartPt(2)
EndPt(0) =
EndPt(1) =
EndPt(2) =
= 0
= 0
= 0
1
1
0
ThisDrawing.ModelSpace.AddLine StartPt, EndPt
156
Version 16.2/16.3