Makro z formularzem rysujące prostokąt z okręgiem w jego wierzchołku.
Private Sub Rysuj_Click()
Pi = 3.141592654
UserForm1.hide
Dim pt1 As Variant
Dim pt2 As Variant
Dim pt3 As Variant
Dim pt4 As Variant
Dim lineObj As ZwcadLine
pt1 = ThisDocument.Utility.GetPoint(, "wskaż lewy dolny róg")
pt2 = ThisDocument.Utility.PolarPoint(pt1, 2 * Pi, Val(TextBox1.Text))
pt3 = ThisDocument.Utility.PolarPoint(pt2, Pi / 2, Val(TextBox2.Text))
pt4 = ThisDocument.Utility.PolarPoint(pt1, Pi / 2, Val(TextBox2.Text))
Set lineObj = ThisDocument.ModelSpace.AddLine(pt1, pt2)
Set lineObj = ThisDocument.ModelSpace.AddLine(pt2, pt3)
Set lineObj = ThisDocument.ModelSpace.AddLine(pt3, pt4)
Set lineObj = ThisDocument.ModelSpace.AddLine(pt4, pt1)
Dim okrąg As ZwcadCircle
Set okrąg = ThisDocument.ModelSpace.AddCircle(pt1, Val(TextBox2.Text) / 2)
ThisDocument.Regen
End Sub
Private Sub Zamknij_Click()
Unload Me
End Sub
Private Sub UserForm_Click()
End Sub
'definicje punktu muszą być variant a nie double jak w autocadzie
W ThisDocument wpisuje krótkie makro wywołujące formularz
Do niego mogę napisać odwołanie w Modify ikonki na pasku ikonek w ZWCAD.
Uruchamiam makro pokazuje się formularz , wpisuje długość i szerokość , klikam na przycisk Rysuj, wskazuje punkt będący lewym dolnym rogiem prostokąta.
Prostokąt z okręgiem zostaje narysowany.