Autor
|
Thema: Method .Parent und Geometrical Set im Body (2014 mal gelesen)
|
ptit.tom Mitglied CAD-Berater
Beiträge: 114 Registriert: 11.02.2005 win10, CATIA R19 bis R30
|
erstellt am: 24. Jun. 2009 09:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich habe eine Function geschrieben (VBA-Projekt): der User soll ein Objekt selektieren und ich suche das Part, wo das Objekt sich befindet. Um das Part zu finden, navigiere ich in der Struktur mit der Methode ".parent" (Schleife Do...Loop Until) bis ich ein Objekt "PartDocument" finde. Code: Sub CATMain() Dim oDoc As Document Dim cSel Dim oPart As Part Dim Status As String Dim InputObjectType(0) Set oDoc = CATIA.ActiveDocument Set cSel = oDoc.Selection cSel.Clear InputObjectType(0) = "AnyObject" Status = cSel.SelectElement2(InputObjectType, "Select a Point. Press ESC to end the selection.", True) FindPartFromObject cSel.Item(1).Value, oPart End SubFunction FindPartFromObject(oObject As AnyObject, oPart As Part) As Boolean Dim i As Integer Dim oParent As AnyObject i = 1 Set oParent = oObject Do Debug.Print oParent.Name & ", " & TypeName(oParent) On Error Resume Next Set oParent = oParent.Parent If Err.Number <> 0 Then MsgBox "Error: Parent method fail for the object " & oParent.Name & ".", vbCritical, "Error: Parent method failed" On Error GoTo 0 FindPartFromObject = False Exit Function End If i = i + 1 Loop Until TypeName(oParent) = "PartDocument" Or i = 30 If TypeName(oParent) <> "PartDocument" Then MsgBox "Part not found" FindPartFromObject = False Else On Error Resume Next Set oPart = oParent.Part If Err.Number <> 0 Then MsgBox "Error: Part method fail for the object " & oParent.Name & ".", vbCritical, "Error: Part method failed" On Error GoTo 0 FindPartFromObject = False Exit Function End If Debug.Print "Partnumber: " & oPart.Name FindPartFromObject = True End If End Function
Es funktionniert für viele Objekte einwandfrei. Aber, sobald ich einen Geometrical Set in einem Body habe funktionniert das ".Parent" nicht mehr. Das Makro navigiert bis diesen Geometrical Set und meldet dann, daß die method ".parent" für diesen Objekt nicht geklappt hat. Hat jemand eine Erklärung ? Alternativ, hat jemand eine Lösung um das Object Part auch im Produktkontext aus ein beliebiges Objekt zu finden ? Gruß, Florent.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 24. Jun. 2009 13:14 <-- editieren / zitieren --> Unities abgeben: Nur für ptit.tom
|
ptit.tom Mitglied CAD-Berater
Beiträge: 114 Registriert: 11.02.2005 win10, CATIA R19 bis R30
|
erstellt am: 24. Jun. 2009 14:13 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|