Hallo zusammen,
ich bin hier neu im Forum und ein absoluter Einsteiger was Makroprogrammierung angeht.
Ich habe ein Makro geschrieben, das nach Selektion einer Kurve (während der Laufzeit) auf dieser 3 Punkte erstellt (Start,Mitte,Ende)und mit Hilfe dieser Punkte einen Vollkreis erstellt.Die Punkte werden in einem GS "Punkte" abegelegt und der Kreis in einem GS "Kreis".
Hier der Quelltext, damit das ganze etwas klarer wird (CATScript, in CATIA V5 R19):
Sub CATMain()
' 3D-Werkzeugkasten deklarieren ----------------------------------
Dim NewPart As Part
Set NewPart = CATIA.ActiveDocument.Part
Dim Wzk3D As HybridShapeFactory
Set Wzk3D = NewPart.HybridShapeFactory
'Geometrisches Set "Punkte" deklarieren -------------------------
Dim GS As HybridBody
Set GS = NewPart.HybridBodies.Add
GS.Name = "Punkte"
'Benutzerselektion deklarieren -------------------------------------
'Auswahl festlegen --------------------------------------------------
Dim Was(0)
Was(0) = "HybridShape"
'Selektion definieren und leeren ----------------------------------
Dim USel As Selection
Set USel = CATIA.ActiveDocument.Selection
USel.Clear
' Selektion vornehmen lassen -------------------------------------
Dim Ausw As CATBSTR
Ausw = USel.SelectElement2 (Was, "Kurve auswählen.", False)
If Ausw = "Normal" Then
MsgBox (USel.Item(1).Value.Name)
' Referenz/Objekt für Punkteerzeugung deklarieren----------------------
Dim Ref1 As Object
Set Ref1 = USel.Item(1).Value
Else
MsgBox ("Abbruch")
End If
' Selektion freigeben --------------------------------------------------
USel.Clear
'Geometrie vordefinieren ---------------------------------------------
Dim P1, P2, P3 As HybridShapePointOnCurve
Set P1 = Wzk3D.AddNewPointOnCurveFromPercent (Ref1, 0, True)
Set P2 = Wzk3D.AddNewPointOnCurveFromPercent (Ref1, 0.5, True)
Set P3 = Wzk3D.AddNewPointOnCurveFromPercent (Ref1, 1, True)
' Geometrie dem geometrischen Set zuweisen ---------------------
GS.AppendHybridShape P1
GS.AppendHybridShape P2
GS.AppendHybridShape P3
' Geometrisches Set "Kreis" deklarieren
Dim GS2 As HybridBody
Set GS2 = NewPart.HybridBodies.Add
GS2.Name = "Kreis"
' Referenzen für Kreiserzeugung deklarieren----------------------
Dim Ref2, Ref3,Ref4 As Reference
Set Ref2 = NewPart.CreateReferenceFromObject (P1)
Set Ref3 = NewPart.CreateReferenceFromObject (P2)
Set Ref4 = NewPart.CreateReferenceFromObject (P3)
' Vollkreis vordefinieren
Dim Kreis As HybridShapeCircle3Points
Set Kreis = Wzk3D.AddNewCircle3Points (Ref2, Ref3, Ref4)
Kreis.SetLimitation 1
' Vollkreis dem geometrischen Set zuweisen
GS2.AppendHybridShape Kreis
NewPart.Update
End Sub
__________________________________________________________________________________________________
Nun möchte ich gerne bei dem Punkt wo man die Selektion durchführen muss, dem Anwender ermöglichen BELIEBIG VIELE KURVEN zu selektieren und entsprechend aus jeder Kurve einen Kreis erzeugen.
Geht das?
& wie müsste dann der Quelltext aussehen??
Wäre super wenn ihr mir ein paar Tips und Anregungen geben könntet!
Besten Gruß
Micha
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP