| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Stukturauflösung von Teilefamilien (873 mal gelesen)
|
auerpa Mitglied Anwendungsentwickler
Beiträge: 15 Registriert: 27.10.2014
|
erstellt am: 27. Okt. 2014 09:42 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe ein Problem beim Auflösen bzw. Analysieren von Dateistrukturen, welche Familyparts beinhalten in Vb.net. Hier ein Ausschnitt: Code:
Dim sNormPart As String
Dim oModel As SolidEdgePart.Model For Each oModel In oModels If oModel.CopiedParts.Count > 0 Then For i = 1 To oModel.CopiedParts.Count Dim oCopyPart As SolidEdgePart.CopiedPart = oModel.CopiedParts.Item(i) sNormPart = oCopyPart.FileName If IsSolidEdgeDoc(sNormPart) = False Then Return True Exit Sub End If SeApp.DisplayAlerts = False Dim oNormPart As SolidEdgeDocument = SeApp.Documents.Open(sNormPart) 'Hier analysiere ich das Normteil. Dafür brauche ich das Normteil als SolidEdgeDocument und 'muss es dafür öffnen. Das geht extrem in die Laufzeit... 'Wie bekomme ich das SolidEdgeDocument aus SolidEdgePart.CopiedPart ohne es explizit öffnen zu müssen. 'Bzw. wie kann ich eine saubere Stukturauflösung ausführen? Evtl. gibt es einen anderen Weg die Varianten zu analysieren. 'Ziel soll es sein über die Struktur zu laufen und herauszufinden, welche Dateien Varianten sind und welche Dateien 'Teilefamilien sind. oNormPart.Close() oNormPart = Nothing
SeApp.DisplayAlerts = True Next End If Next
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7321 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 27. Okt. 2014 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für auerpa
|
auerpa Mitglied Anwendungsentwickler
Beiträge: 15 Registriert: 27.10.2014
|
erstellt am: 27. Okt. 2014 10:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Arne, ich weiss was du meinst. Leider bringt mich das an der Stelle nicht weiter (siehe Anhang). Ich habe es mit dem Revisionmanager bereits probiert. Code:
'beispiel: Dim objApplication As RevisionManager.Application = Nothing Dim objDocument As RevisionManager.Document = Nothing Dim objLinkedDocuments As RevisionManager.LinkedDocuments = Nothing objApplication = New RevisionManager.Application objDocument = objApplication.Open(oDoc.FullName) objLinkedDocuments = objDocument.LinkedDocuments(RevisionManager.LinkTypeConstants.seLinkTypeInterpart) ' habe auch die anderen Konstanten getestet...
Hat jemand sonst noch eine Idee? Evtl. kann man das doch mit dem Revisionmanager machen, nur wie? Aus der sesdk.chm geht nicht hevor wie die Konstanten zu verwenden sind und welche Bedeutung sie haben, deshalb tappe ich noch im Dunkeln. Grüße. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ckunkel72 Mitglied CAD Konstruktion Maschinenbau
Beiträge: 183 Registriert: 20.02.2013 Windows 10 Pro x64 SolidEdge ST9 MP5 Visual Studio Community 2017
|
erstellt am: 27. Okt. 2014 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für auerpa
Wenn Du nur eine Referenz auf das Teil brauchst geht das auch so: Code:
Dim oNormPart as SolidEdgeDocument oNormPart = TryCast(System.Runtime.InteropServices.Marshal.BindToMoniker(sNormPart), SolidEdgeFramework.SolidEdgeDocument)
Gruß Christian ------------------ Seit Januar 2013 vollständig verschoben und syncronisiert. http://c-k-m.info
[Diese Nachricht wurde von ckunkel72 am 27. Okt. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
auerpa Mitglied Anwendungsentwickler
Beiträge: 15 Registriert: 27.10.2014
|
erstellt am: 27. Okt. 2014 11:12 <-- editieren / zitieren --> Unities abgeben:
|