| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | KI im Engineering: KI-Potenziale erkennen, richtig starten, ein Fachartikel
|
|
Autor
|
Thema: API-Frage: Basisteil identifizieren (904 mal gelesen)
|
Piet Mitglied Konstruktionsleiter & Konstrukteur
  
 Beiträge: 661 Registriert: 20.11.2001 SWx 2021
|
erstellt am: 01. Aug. 2005 10:17 <-- editieren / zitieren --> Unities abgeben:         
Ist es möglich, per API festzustellen, ob ein Basisteil in einem Teil eingefügt ist, und wenn ja, dieses identifizieren? Hintergrund: Ich möchte ein Makro haben, dass einige benutzerdefinierte Eigenschaften des Basisteils ausliest (Teilenummer, Name, Lieferant). In das Folgeteil soll dann eine neue benutzerdefinierte Eigenschaft eingetragen werden ($prp@bemerkung: "Aus Owis Adapter 471-015"), so dass das Basisteil in Stücklisten automatisch aufgeführt wird. Ich hoffe, die Idee ist deutlich geworden. In der API-Hilfe hab ich nichts dazu gefunden. Piet
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Ex-Mitglied | |
Piet Mitglied Konstruktionsleiter & Konstrukteur
  
 Beiträge: 661 Registriert: 20.11.2001 SWx 2021
|
erstellt am: 01. Aug. 2005 10:54 <-- editieren / zitieren --> Unities abgeben:         
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 01. Jul. 2008 10:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
|
Piet Mitglied Konstruktionsleiter & Konstrukteur
  
 Beiträge: 661 Registriert: 20.11.2001 SWx 2021
|
erstellt am: 01. Jul. 2008 10:49 <-- editieren / zitieren --> Unities abgeben:         
|
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: 01. Jul. 2008 11:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
Das kannst Du über den FeatureManager lösen: Laß Dir das erste Feature mit Part.FirstFeature geben; die anderen mit .GetNextFeature. Mit Feature.GetTypeName bekommst Du heraus, was es ist. Ist der Typ "Reference", dann hast Du dort ein anderes Teil drin. Feature.Name gibt Dir den Dateinamen. Wenn es auch mehrfach eingebettete Teile geben kann, mußt Du noch mit Feature.GetFirstSubFeature und .GetNextSubFeature nachhaken. Hast Du den Namen der Datei, dann öffne es und lese es aus... ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Knab Mitglied
 
 Beiträge: 373 Registriert: 16.01.2001 SWX 2020 SP5.0
|
erstellt am: 01. Jul. 2008 11:20 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
|
Bernd Knab Mitglied
 
 Beiträge: 373 Registriert: 16.01.2001 SWX 2020 SP5.0
|
erstellt am: 01. Jul. 2008 11:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 01. Jul. 2008 11:50 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
Zitat: Original erstellt von Lutz Federbusch: Das kannst Du über den FeatureManager lösen: Laß Dir das erste Feature mit Part.FirstFeature geben; die anderen mit .GetNextFeature. Mit Feature.GetTypeName bekommst Du heraus, was es ist. Ist der Typ "Reference", dann hast Du dort ein anderes Teil drin. Feature.Name gibt Dir den Dateinamen. Wenn es auch mehrfach eingebettete Teile geben kann, mußt Du noch mit Feature.GetFirstSubFeature und .GetNextSubFeature nachhaken. Hast Du den Namen der Datei, dann öffne es und lese es aus...
Hallo Lutz, Feature.name gibt mir leider nur den kurzen Namen, wie er im Featuremanager steht. Aber leider nicht den kompletten Pfadnamen. [Edit]Mit Laden der Datei (Opendoc6) gehts, damit bekomme ich auch den Pfadnamen, aber das will ich an dieser Stelle aus Performancegründen eigentlich vermeiden.[/Edit] Zitat: Original erstellt von Bernd Knab: Hallo, oder über swModel.GetExternalReferenceName direkt im geöffneten Modell. gruß Bernd
Hallo Bernd, danke, aber das gibt mir nur den ersten referenzierten Namen. Das stammt wohl noch aus der Zeit, als man Teile nur als Basisteile einfügen konnte. Zitat: Original erstellt von Bernd Knab: Hallo, über GetAllExternalReferences2 bekommst ihr auch die Basisteile. Gruß Bernd
Nochmal hallo Bernd  Da muss ich dann wohl in den sauren Apfel beißen und mit dem DocumentManager arbeiten. Der kann zwar recht viel (leider auch nicht alles, gibt da auch noch Lücken), ist aber dann doch ganz schön komplex. Danke für die Tipps! Jetzt muss ich das mal verarbeiten. ------------------ Klaus www.al-ko.com | mein Gästebuch | privat... [Diese Nachricht wurde von KMassler am 01. Jul. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 02. Jul. 2008 09:50 <-- editieren / zitieren --> Unities abgeben:          Nur für Piet
|