| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Strukturauflösung von einem Schweißteil. (1577 mal gelesen)
|
DieGraetsche Mitglied Informatiker
Beiträge: 61 Registriert: 28.09.2007
|
erstellt am: 22. Mrz. 2010 17:00 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich habe mal wieder ein kleines Problem. Ich versuche gerade per VB.net eine Struktur-Auflösung einer Schweißkonstruktion. Meine Prozedur rufe ich rekursive auf, damit ich jede Ebene der Struktur analysieren kann. (z.B. Properties auslesen, etc.) Hier meine Prozedur Code: Public Sub TestFunc(ByVal pObject As SolidEdgeDocument) Select Case pObject.Type
Case DocumentTypeConstants.igWeldmentDocument Dim oWeldDoc As WeldmentDocument = pObject Dim k As Integer Debug.Print("DocName: " & pObject.FullName) For k = 1 To oWeldDoc.WeldmentModels.Count Dim oWeldModel As WeldmentModel = oWeldDoc.WeldmentModels.Item(k) ' Wie bekomme ich hier nun das eigentlich CAD-Object mit dem ich auch Proerties, etc. auslesen kann? 'Ich habe die eigenschaft "Document" gefunden. Hört sich eigentlich super an. Nur leider erhalte ich nicht das SolidEdge-Object des WeldModels, 'sondern meines ausgangsobjects Dim MySubDoc As SolidEdgeDocument = oWeldModel.Document Debug.Print("SubDocName: " & MySubDoc.FullName) ' hier kommt leider wieder ' -> D:\pools\sepool\Weld-Part.pwd ' was muss ich hier tun, damit ich eine saubere Srukturauflösung bekomme? ' Aufruf der Funktion, damit rekursive durchgelaufen wird. TestFunc(MySubDoc) Next k Case DocumentTypeConstants.igPartDocument ' ... Case DocumentTypeConstants.igAssemblyDocument ' ... End Select End Sub
Ich habe in den Anhang mal meine Test-Schweißteil gehängt. Vielen Dank schon mal für eure Hilfe. Viele Grüße, DieGraetsche Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Karsten09 Mitglied SE-Rookie
Beiträge: 305 Registriert: 17.06.2009 Win 10 Pro; Intel Xeon W3530; 12 GB RAM; NVIDIA Quadro 4000; SpaceExplorer; Solid Edge 2019 MP3
|
erstellt am: 23. Mrz. 2010 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für DieGraetsche
Hallo DieGraetsche, wolltest du nur ein wenig twittern oder hast du auch eine Frage (die ich aber bestimmt nicht beantworten kann)? Gruß, Karsten. ------------------ "Das beste Werkzeug ist ein Tand, in eines tumben Toren Hand!" Daniel Düsentrieb zitiert Konfuzius Peng (Fataler Rechenfehler, 1957) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DieGraetsche Mitglied Informatiker
Beiträge: 61 Registriert: 28.09.2007
|
erstellt am: 23. Mrz. 2010 09:38 <-- editieren / zitieren --> Unities abgeben:
Sorry, Meine Frage ist etwas versteckt im Code. Mein Problem ist einfach. Wie kann ich eine saubere Strukturauflösung machen von einem Schweißteil aus? Im Code (siehe unten) bekomme ich es leider nicht hin. Beim zugriff auf oWeldModel.Document erhalte ich wieder das Ausgangsdokument -> D:\pools\sepool\Weld-Part.pwd und nicht wie vermutet. D:\pools\sepool\Weld-ASM.asm. Habt ihre hierfür eine Lösung?` Viele Grüße, DieGraetsche Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 23. Mrz. 2010 10:49 <-- editieren / zitieren --> Unities abgeben: Nur für DieGraetsche
Servus DieGraetsche, Den Namen der Assembly bekommst du mit oWeldModel.Filename. oWeldModel.Filename = D:\pools\sepool\Weld-ASM.asm oWeldModel.Document.FullName = D:\pools\sepool\Weld-Part.pwd Irgendeiner hat sich bestimmt etwas gedacht dabei. pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DieGraetsche Mitglied Informatiker
Beiträge: 61 Registriert: 28.09.2007
|
erstellt am: 23. Mrz. 2010 10:54 <-- editieren / zitieren --> Unities abgeben:
Hallo pablo, Erst mal danke für deine Antwort. Das mit dem filename ist schon mal nicht schlecht, leider brauche ich das reine Native-Objekt der Weldassembly, damit ich meine Funktion erneut aufrufen kann. Viele Grüße, DieGraetsche Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
edlich Mitglied Maschinenbautechniker
Beiträge: 95 Registriert: 15.06.2001 SE St4/Sp4 Win 7 Xeon W3550 (4Core,3,07GHz) Quadro 4000
|
erstellt am: 23. Mrz. 2010 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für DieGraetsche
|
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: 23. Mrz. 2010 13:24 <-- editieren / zitieren --> Unities abgeben: Nur für DieGraetsche
|
DieGraetsche Mitglied Informatiker
Beiträge: 61 Registriert: 28.09.2007
|
erstellt am: 23. Mrz. 2010 13:45 <-- editieren / zitieren --> Unities abgeben:
Ok, das mit der Struktur ist mir nun klar. Vom Weldment muss ich durch die Liste der WeldmentModels Jedes WeldmentModel wiederum hat dann PartModels. Ok das habe ich nun verstanden. WeldDocument -> schleife durch die WeldmentModels WeldmentModel -> Schleife durch die PartModels PartModel ... ... 1. Wie bekomme ich ein custom-Property eines WeldmentModel-Dokumentes auszulesen? 2. und wie funktioniert dies bei einem PartModels-Dokuments Wenn ich das noch hinbekomme, dann ist alles super. Danke für eure super Hilfe, Mfg, DieGraetsche
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: 23. Mrz. 2010 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für DieGraetsche
Wens'schon ein Dokument ist, scheint das OK. Wenn's nur ein Model-Object ist, muss man evtl. das Parent nehmen? Weiß ich aber nicht aus dem Kopf. Dann ganz normal die Fileproperties auselesen. Und was bitte ist ein Native-Objekt? ------------------ APeters@BSS-Online.de [Diese Nachricht wurde von Arne Peters am 23. Mrz. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DieGraetsche Mitglied Informatiker
Beiträge: 61 Registriert: 28.09.2007
|
erstellt am: 29. Mrz. 2010 08:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Arne, Sorry fuer die Verspätung der Antwort. Mit "NativeDocument" meine ich das SolidEdgeDocument. Wenn ich bei dem WeldmentModel das .Document mache, dann erhalte ich das Weldment-Document. Beim .Parent, bekomme ich ebenfalls nur das Weldment-Document, aber nicht das "NativeDocument" des WeldmentModel. Viele Grüße, DieGraetsche Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 29. Mrz. 2010 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für DieGraetsche
Graetsche, Zitat: Original erstellt von DieGraetsche:
Mit "NativeDocument" meine ich das SolidEdgeDocument.
Du hast oWeldModel.Filename, um das Öffnen des Dokuments wirst du nicht herumkommen, das geht im UI auch nicht anders. pablo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Entwicklungsingenieur Maschinenbau (m/w/d) | Du teilst unsere Leidenschaft für Innovationen und Technologien und willst dich den Herausforderungen der Zukunft stellen? Dann komm zu FERCHAU: als ambitionierte:r Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden des Maschinenbaus und übernehmen Verantwortung für komplexe Entwicklungsprojekte. Du möchtest dein Potenzial ... | Anzeige ansehen | Entwicklung |
|
DieGraetsche Mitglied Informatiker
Beiträge: 61 Registriert: 28.09.2007
|
erstellt am: 29. Mrz. 2010 11:09 <-- editieren / zitieren --> Unities abgeben:
|