Hallo,
ich möchte eine Linie (Edge,Axis..) und einen Punkt in einem V5 Fenster selektieren. Dafür habe ich 2 Subroutinen erstellt. Die Erste ermöglicht die Selektion eines Punktes:
Sub pt_selection_ref
Dim sFilter(0)
sFilter(0) = "Product"
sstatus = CATIA.ActiveDocument.Selection.selectelement(sFilter,"Point selektieren",False)
pt_sprod_name = CATIA.ActiveDocument.Selection.item(1).reference.displayname
Status=EndSelectElement
CATIA.ActiveDocument.Selection.clear
sFilter(0) = "Point"
sstatus = CATIA.ActiveDocument.Selection.selectelement(sFilter,"Point selektieren",False)
pt_sref_name = CATIA.ActiveDocument.Selection.item(1).reference.displayname
Status=EndSelectElement
CATIA.ActiveDocument.Selection.clear
End Sub
Die Zweite ermöglicht die Selektion einer Linie:
Sub ln_selection_ref
Set Selection = CATIA.activedocument.selection
Dim InputObjectType(0)
InputObjectType(0)="Product"
Status=Selection.SelectElement(InputObjectType,Edge_type,False)
Set oref1 = Selection.Item(1).Reference
ln_sprod_name = oref1.displayname
Status=EndSelectElement
Selection.clear
InputObjectType(0)="CATBaseDispatch"
Status=Selection.SelectElement(InputObjectType,"Select an edge",False)
Set oref2 = Selection.Item(1).Reference
ln_sref_name = oref2.displayname
Status=EndSelectElement
Selection.clear
End Sub
Mein Hauptproblem ist folgendes:
Der Benutzer muss zwei Mal den Punkt bzw. die Linie selektieren. Bei der Ersten Selektion wird der Produktname eingelesen, bei der Zweiten der Punkt- bzw. Linienname. Diese beiden Namen (Produkt und Punkt/Linie) werden zur Erstellung einer Referenz benötigt auf die später ein Constraint aufgesetzt wird. Dies möchte ich jedoch zu einem Vorgang vereinigen und weiss nicht wie.
Main zweites Problem ist, dass in der Subroutine ln_selection_ref kein Linien-Filter sondern nur der allgemeine CATBaseDispatch-Filter gesetzt werden kann.
Kann mir jemand bei meinen zwei Problemen helfen??
Danke Tobias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP