Hallo beisammen,
ich beschäftige mich schon einige Zeit mit der VB API von Creo und man kann auch recht viel machen. An manchen Sachen scheitere ich dann aber :-)
Ich möchte bei einer Ansicht einer Zeichnung eine spezielle Folie ausblenden. Ich habe auch alles dazu gefunden, funktioniert nur leider nicht oder nicht richtig:
Code:
model3D = getGenericModel(get3DModel(asyncConnection.Session.CurrentModel))
Dim myModelItems As IpfcModelItems
myModelItems = CType(model3D, IpfcModelItemOwner).ListItems(EpfcModelItemType.EpfcITEM_LAYER)
Dim myLayer As IpfcLayer = Nothing
For iLayer As Integer = 0 To myModelItems.Count - 1
' myLayer = myModelItems.Item(iLayer)
Dim sName As String = myModelItems.Item(iLayer).GetName
'myLayer = myModelItems.Item(iLayer)
Debug.Print(sName + " " + myModelItems.Item(iLayer).status.ToString) If sName.ToString.ToLower = "bohrungen" Then
myLayer = myModelItems.Item(iLayer) 'CType(myModelItems.Item(iLayer), IpfcLayer)
myLayer.Status = EpfcDisplayStatus.EpfcLAYER_HIDDEN
Exit For
End If
Debug.Print("Layer" + iLayer.ToString + " " + myModelItems.Item(iLayer).GetName)
Next
bei EpfcDisplayStatus.EpfcLAYER_HIDDEN bekomme ich die Meldung:
"pfcExceptions::XToolkitBadInputs", also nimmt Creo den Wert nicht?
Eigentlich ist das oben nur ein Versuch, ob das Statussetzten überhaupt geht, eigentlich wollte ich das direkt dem View zuweisen, funktioniert aber auch nicht
view.SetLayerDisplayStatus(myLayer, EpfcDisplayStatus.EpfcLAYER_HIDDEN)
liefert aber auch BadInputs.
Hat da wer eine Lösung dafür? Hab jetzt schon viel probiert, komm aber nicht auf eine Lösung.
In der Beschreibung von dem Enum EpfcDisplayStatus steht wetwas, dass der HIDDEN Wert nur in assembly mode geht, die anderen Werte bringen aber keine veränderung.
lg
Sebastian
------------------
mfg
Redox
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP