Hallo Zusammen,
Mit einer Funktion ermittle ich alle Prototypen in einer Baugruppe. In diesem Fall ist die Baugruppe eine "Master-Model-Zeichnung" d.h. das einzige Komponent ist ein Model und hinten das oberste Komponent ist die Zeichnung.
Sobald ich mir eine Liste von Prototpyen habe (die Funktion findet nur ein Komponent bzw. Prototyp, was aus richtig ist), versuche ich alle Objekte mit einem bestimmten Namen in dem einem Prototyp (von Typ NXOpen.Part) mit dieser Funktion zu finden :
Code:
Public Function FindObjectsByNameInPart(ByVal thePart As Part, ByVal objName As String) As TaggedObject()
FindObjectsByNameInPart = Nothing
Dim objList As New ArrayList
Dim objTag As Tag = Tag.Null
Dim _objName As String = "" Do
objTag = theUFSession.Obj.CycleAll(thePart.Tag, objTag)
If Not objTag.Equals(Tag.Null) Then
Try
theUFSession.Obj.AskName(objTag, _objName)
If _objName.Equals(objName) Then
objList.Add(NXObjectManager.Get(objTag))
End If
Catch ex As Exception
End Try
End If
Loop Until objTag.Equals(Tag.Null)
FindObjectsByNameInPart = objList.ToArray(GetType(TaggedObject))
End Function
Das Ergebnis: Es findet überhaupt keine Objekte!! Es funktioniert nur, wenn das Komponent das Workpart ist...
Mache ich hier was falsch?? Habt ihr da Ideen?? Danke!!
EDIT:
Das Problem habe ich gefunden. Es lag tatsächlich nicht am Code, sondern die Ladeoptionen: Die Baugruppe wurde nur teilweise geladen (Hacken bei "Use Partial Loading" war drinn...)
------------------
Gruß,
char *name = "Marc";
[Diese Nachricht wurde von MarckyMON am 23. Sep. 2010 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP