Hallo liebes CAD-Forum (und besonders Bernd
),
Ich habe mal wieder ein Problem, bei dem ich eure Hilfe brauche. Ich möchte mit einem Skript automatisiert Constraints setzen, aber CATIA weigert sich beharrlich, mir weiterzuhelfen. Ich habe mir also eine Testumgebung gebaut, um die Constraints besser zu verstehen, aber auch das hat mir nicht weitergeholfen.
Für meinen Demofall habe ich folgende Situation gebaut (Bild)
Ich möchte jetzt die beiden Punkte übereinanderlegen. Von Hand wäre das recht einfach über die "Coincide" Funktion. Der Makrorecorder liefert leider nur "CreateReferenceFromName", das sich nur schlecht automatisieren lässt.
Kann mir jemand erklären, wie ich "CreateReferenceFromName" hier benutzen kann?
Quelltext (Quick and Dirty):
Code:
Dim tempPoint1 = CATIA.ActiveDocument.Selection.Item(1).Value
Dim tempPoint2 = CATIA.ActiveDocument.Selection.Item(2).Value
Dim Prod As ProductStructureTypeLib.Product = CATIA.ActiveDocument.Product
Dim Party As Part = selection1.Item(1).Value.Parent.Parent.Parent.Parent
Dim tempref As Reference = Party.CreateReferenceFromObject(tempPoint1)
MsgBox(TypeName(tempref))
MsgBox(tempref.DisplayName)
Dim Porty As Part = selection1.Item(2).Value.Parent.Parent.Parent.Parent
Dim tempref2 = Porty.CreateReferenceFromObject(tempPoint2)
Dim constraints1 As Constraints = CATIA.ActiveDocument.Product.Connections("CATIAConstraints")
Dim constraint1 = constraints1.AddBiEltCst(CatConstraintType.catCstTypeOn, tempref, tempref2)
Vielen Dank für Euer Interesse, ich hoffe, Ihr kennt eine Lösung
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP