Hallo Dadi,
zum Ablauf:
Du suchst nach den parallelen Kurven und steckst sie alle in eine Selektion. In der nachfolgenden Schleife durchläufst du die Selektion um aus den einen parallelen Kurven einzelne Referenzen zu erstellen (das brauchst du ja weil du das zum Erstellen der Punkte benötigst). Jetzt ist die Frage was für Punkte erzeugst du?
Ich habe hier mal ein kurzes Beispiel gemacht das immer 3 Punkte auf einer parallelen Kurve erzeugt. Die Stellen an der ich mir den Namen des aktuellen geometrischen Sets hole und wieder übergebe sind kursiv markiert!
Sub CATMain()
'written by Daniel Frauenrath
'Date: 2009-03-18
Dim oPart As Part
Dim mySel As Selection
Dim myParallel As HybridShapeCurvePar
Dim mySet As HybridBody
Dim mySetShapes As HybridShapes
Dim mySetName As String
Dim myRef As Reference
Dim myShapeFac As HybridShapeFactory
Set oDoc = CATIA.ActiveDocument
Set oPart = oDoc.Part
Set myShapeFac = oPart.HybridShapeFactory
Set mySel = oDoc.Selection
mySel.Clear
mySel.Search "CATGmoSearch.GSMCurvePar,all"
For i = 1 To mySel.Count
'hier hole ich erst die Kurve und dann frag ich ab in welchem 'Set sie steckt. Dann kann ich den Namen holen
Set myParallel = mySel.Item(i).Value
Set mySet = myParallel.Parent.Parent
mySetName = mySet.Name
Set mySetShapes = mySet.HybridShapes
Set myRef = oPart.CreateReferenceFromObject(myParallel)
myPointRatio = 0
'Diese Schleife setze ich ein um die fortlaufenden Nummer der Punkte 'zu bekommen
For j = 1 To 3
myPointRatio = myPointRatio + 0.25
Set myPoint = myShapeFac.AddNewPointOnCurveFromPercent(myRef, myPointRatio, False)
mySet.AppendHybridShape myPoint
myPoint.Name = mySetName & "_" & j
Next
Next
oPart.Update
mySel.Clear
End Sub
ANMERKUNG:
Das Script ist nur ein Beispiel um muss ggf. angepasst werden
------------------
MFG Daniel
Die KATJA ist halt doch nur ne zickige Französin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP