| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| 3DEXPERIENCE Conference 2024 | München, eine Veranstaltung am 17.10.2024
|
Autor
|
Thema: Auf Kennung von Teilen in Zeichnung zugreifen per API (818 mal gelesen)
|
monti0505 Mitglied Ingenieur
Beiträge: 33 Registriert: 16.07.2008
|
erstellt am: 20. Jan. 2009 16:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, habe gerade das Problem, dass ich es nicht schaffe in Zeichnungen auf die Teile zuzugreifen, die in den einzelnen Ansichten vorkommen. Über DrawingDoc.GetFirstView() und View.GetNextView durch die Ansichten iterieren, bis die gewünschte Ansicht gefunden ist und mit GetReferenceModel den Modelnamen auslesen reicht mir nicht, da ich im 2D auf bestimmte Teile zugreifen möchte. Jedoch wird in jeder Ansicht das Model mit einer anderen Kennung referenziert. Die Kennung möchte ich nun auslesen bzw. herausfinden. Mit GetfirstFeature/GetnextFeature/GetFirstsubfeature etc komme ich bis zur Ansicht runter, danach bekomme ich aber als Feature-Name für das Model den Namen "Detailordner" + irgendeineZahl. Die Zahl ist aber leider nicht die Kennungszahl. In dem Bild ist es z.B. die "15" in der Draufsicht, die ich gerne rausfinden würde. Hoffe jemand von euch kann mir weiterhelfen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 20. Jan. 2009 16:49 <-- editieren / zitieren --> Unities abgeben: Nur für monti0505
|
Thomas Liebezeit Mitglied Dipl.-Ing. Maschinenbau, CSWP
Beiträge: 114 Registriert: 01.07.2005 2007 SP5.0 2008 SP4.0 2009 SP3.0
|
erstellt am: 20. Jan. 2009 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für monti0505
Hallo monti0505, schau mal unter View.ReferencedDocument nach, damit bekommst Du das ModelDoc von dem Teil in der Ansicht. Aber aufgepasst. Überprüfe nochmal die Konfiguration von Teil in Ansicht und die des ModelDocs. Diese müssen nicht unbedingt gleich sein (wie ich eben schmerzlich erfahren mußte!) HTH Grüße, Thomas ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
monti0505 Mitglied Ingenieur
Beiträge: 33 Registriert: 16.07.2008
|
erstellt am: 21. Jan. 2009 17:31 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Lutz Federbusch: Hast Du es mit GetReferencedModelName versucht? Dafür gibt es auch Beispiele in der API-Hilfe ... (z.B. Get Configurations Referenced in View Example (VB))
Hallo, ich möchte vom 2d nicht ins 3d, habe ich wohl etwas uneindeutig ausgedrückt. Ich möchte im 2d die Kennung herausfinden die in der jeweiligen Ansicht, z.B. Draufsicht, verwendet wird. In dem Beispiel oben wird die Kennung "15", welches eine von SWX vergebene Kennung ist, vergeben. Diese möchte ich herausfinden. Den Modelnamen an sich habe ich. Hoffe ich habe mich besser ausgedrückt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 21. Jan. 2009 17:52 <-- editieren / zitieren --> Unities abgeben: Nur für monti0505
Hallo monti0505, nicht wirklich, aber ich versuche nun auch mal mein Glück. schau dir mal das Beispiel Hide Drawing Components Example (VB) in der API Hilfe an. Es hat zwar nicht mit deiner Aufgabe direkt zutun, jedoch kannst du dort sehen wir du an eine SldWorks.DrawingComponent Instanz kommst. Mit der Eigenschaft Name der Klasse SldWorks.DrawingComponent kannst du den Namen der Zeichnungskomponente ermitteln. In deinem Fall also "23423-15". Dann musst du den String nur noch bearbeiten um deine sogenannte Kennung "15" zu erhalten. Was mich jedoch viel mehr Interessiert ist jedoch die Frage was du damit vor hast? ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks API Snippets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
monti0505 Mitglied Ingenieur
Beiträge: 33 Registriert: 16.07.2008
|
erstellt am: 22. Jan. 2009 09:45 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von tbd:
Was mich jedoch viel mehr Interessiert ist jedoch die Frage was du damit vor hast?
Hi, das mit der DrawingComponent werde ich noch probieren. Ich brauche den Namen der Komponente in der Draufsicht die Kennung weil ich mit SelectbyId2 in der Ansicht etwas selektieren möchte. Um die Selektion durchuzführen nimmt der Makrorekorder unter anderem auch den Namen des Models MIT der Kennung in der jeweiligen Ansicht also z.B. hatte der Makrorekorder etwas mit @23423-15@usw. aufgenommen. Daher brauche ich in dem Fall z.B. die "15". Den Modelnamen kenne ich bereits. Und die Kennung ist in der Ansicht eine Andere.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m.schuster Mitglied Konstrukteur / Admin
Beiträge: 8 Registriert: 08.05.2006 SW2016, WIN10
|
erstellt am: 14. Feb. 2019 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für monti0505
Hi, ich stehe vor dem gleichen Problem mit der Kennung. Hast du dafür noch eine Lösung gefunden? Ich würde gerne in einer Baugruppenzeichnung ein Teil markieren und dann über Makro in ALLEN Ansicht feste Linieneigenschaften für das Teil setzten. mfg Martin ------------------ Mechanical 2000i, SW2006, WINXP Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |