Hallo Leute,
ich versuche per Script ein 3D-Rohr zu zeichnen.
Die beiden 3D-Profile für Außen- und Innendurchmesser werden problemlos erstellt.
Das Differenzieren funktioniert leider nicht.
Allein die Zeile „Set oProfil1 = ThisDrawing.ModelSpace.Boolean(acSubtraction, oProfil2)“ will nicht so ganz. Was mache ich falsch? Bitte um einen Lösungsvorschlag.
Hier der gesamte Code :
Private Sub cmd_rohr_Click()
Dim oProfil1 As Acad3DSolid
Dim oProfil2 As Acad3DSolid
Dim oRohr As Acad3DSolid
Dim vZentrum As Variant
Dim vDurchmesserA As Variant
Dim vDurchmesserI As Variant
Dim vRohrlaenge As Variant
'nachfolgende Funktion versteckt das Formular nach aufruf dieser Prozedur
'und übergibt Autocad die weitere Steuerung
Me.Hide
vDurchmesserA = Me.Txt_DurchmesserA / 2 'Variable aus Eingabefeld
vDurchmesserI = vDurchmesserA - Me.Txt_Wandstaerke 'Variable aus Eingabefeld
vRohrlaenge = Me.Txt_Rohrlaenge 'Variable aus Eingabefeld
vZentrum = ThisDrawing.Utility.GetPoint(, "Mittelpunkt bestimmen")
'die beiden Profile zeichnen
Set oProfil1 = ThisDrawing.ModelSpace.AddCylinder(vZentrum, vDurchmesserA, vRohrlaenge)
Set oProfil2 = ThisDrawing.ModelSpace.AddCylinder(vZentrum, vDurchmesserI, vRohrlaenge)
'profile differenzieren, profil1 - profil2
Set oProfil1 = ThisDrawing.ModelSpace.Boolean(acSubtraction, oProfil2)
End Sub
Gruß
Sun Lee
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP