| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SolidWorks Kurs mit IHK-Zertifzierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: Abfrage Baugruppe oder Teil in Zeichnung (795 mal gelesen)
|
Joshua63 Mitglied Maschinenbautechniker
 
 Beiträge: 371 Registriert: 08.11.2006 W10 SP1 Intel i7 8700K Quatro P4000 32GB RAM SW 2021 SP4.1 SWX PDM Professional 2021
|
erstellt am: 08. Mai. 2009 17:39 <-- editieren / zitieren --> Unities abgeben:         
hallo miteinander....... hätte mal ne kleine Frage..... Wir füllen unsere Zeichnungen mit nem Makro aus, wie fast alle hier...... Die kundenseitigen Vorlagen für ZSB und Teil sind gleich. Bei der ZSB müssen aber noch die Anzahl der Stücklistenblätter, Schaltplanblätter usw. eingetragen werden. Frage:
Wie kann ich am einfachsten abfragen, ob die Zeichnung von einer Baugruppe ist ? Ich möchte verhindern, das die Eintragungen vergessen werden. in Modell geht das ja recht einfach (....If ((Model.GetType() = swDocASSEMBLY)...then...usw.)
Danke und schönes WE
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing. / Supporter

 Beiträge: 3864 Registriert: 29.09.2004 SOLIDWORKS 2024 SP3.1 SOLIDWORKS 2023 SP5.0 SOLIDWORKS 2022 SP5.0 SOLIDWORKS 2021 SP5.1
|
erstellt am: 09. Mai. 2009 18:21 <-- editieren / zitieren --> Unities abgeben:          Nur für Joshua63
Hallo Joshua63, Um diese Aufgabe zu Lösen, muss man bedenken, dass auf einer Zeichnung mehrere Teile/Baugruppen abgebildet werden können. Somit kann auf einer Zeichnung ein Teil und eine Baugruppe abgebildet sein. Wie soll es sich bei Schweissteilen verhalten. Ist in SolidWorks zwar ein Teil, aber eigentlich doch eine Baugruppe. Bei uns ist es so gelöst, dass wir eine Ansicht auf der Zeichnung anwählen, das Makro kann dann das dahinterliegende Objekt abfragen (Teil oder Baugruppe). Gruss Mike ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joshua63 Mitglied Maschinenbautechniker
 
 Beiträge: 371 Registriert: 08.11.2006 W10 SP1 Intel i7 8700K Quatro P4000 32GB RAM SW 2021 SP4.1 SWX PDM Professional 2021
|
erstellt am: 09. Mai. 2009 20:36 <-- editieren / zitieren --> Unities abgeben:         
hi mike...... danke erst mal für deine antwort. ich möchte nur wissen ob es eine BG ist, alles andere ist egal,
denn meine abfrage ist nur wichtig für eine BG. bei schweißteilen ist das anders geregelt. haste vielleicht doch ne lösung für mich ciao
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing. / Supporter

 Beiträge: 3864 Registriert: 29.09.2004 SOLIDWORKS 2024 SP3.1 SOLIDWORKS 2023 SP5.0 SOLIDWORKS 2022 SP5.0 SOLIDWORKS 2021 SP5.1
|
erstellt am: 09. Mai. 2009 21:28 <-- editieren / zitieren --> Unities abgeben:          Nur für Joshua63
Ja, hab ich, aber die ist in der Firma, und da bin ich erst wieder am Montag. Allerdings muss man wie bereits geschrieben, eine Ansicht selektieren, bevor das Makro ausgeführt wird. Gruss Mike ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joshua63 Mitglied Maschinenbautechniker
 
 Beiträge: 371 Registriert: 08.11.2006 W10 SP1 Intel i7 8700K Quatro P4000 32GB RAM SW 2021 SP4.1 SWX PDM Professional 2021
|
erstellt am: 09. Mai. 2009 21:40 <-- editieren / zitieren --> Unities abgeben:         
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 11. Mai. 2009 08:36 <-- editieren / zitieren --> Unities abgeben:          Nur für Joshua63
Hallo Joshua, das Beispiel von Mike müsste in API ungefähr so aussehen:
Code: Sub main() Dim swApp As Object Dim swModel As Object Dim swSelMgr As Object Dim swView As Object Dim swDrawModel As Object ' an SolidWorks anhängen Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc ' schauen, was seltiert ist Set swSelMgr = swModel.SelectionManager ' und aus der Selektion die passende View rausholen Set swView = swSelMgr.GetSelectedObject5(1) ' von der Ansicht das Modell abfragen Set swDrawModel = swView.ReferencedDocument ' und dann je nach Typ weitermachen Select Case swDrawModel.GetType Case swDocPART MsgBox "Teil" Case swDocASSEMBLY MsgBox "Baugruppe" Case Else ' kann eigentlich nie passieren, wenn es kein ModelDoc ' gibt kommt schon vorher ein Fehler :D End Select End Sub
Erfordert aber eine Vorselektion der entsprechenden Ansicht. Wenn das ohne interaktive Klickerei gehen soll/muss könntest du immer den zweiten View eines Blattes suchen (der erste ist immer das Blatt selbst) oder mit Sheet::CustomPropertyView diejenige Ansicht nehmen, die auch für die Dateieigenschaften in den Blatteigenschaften eingetragen ist.Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joshua63 Mitglied Maschinenbautechniker
 
 Beiträge: 371 Registriert: 08.11.2006 W10 SP1 Intel i7 8700K Quatro P4000 32GB RAM SW 2021 SP4.1 SWX PDM Professional 2021
|
erstellt am: 11. Mai. 2009 09:21 <-- editieren / zitieren --> Unities abgeben:         
moin Stefan...... danke erst mal, ich werd versuchen das im mein makro reinzubasteln... hab aber keine große hoffnung das ich das schaffe. könnte sien das ich mit mit einem beispiel noch mal melde. kann eigentlich kein VBA programmieren, hab nur an deinem Schriftfeldmakro ein bischen rumgedocktert... ciao Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing. / Supporter

 Beiträge: 3864 Registriert: 29.09.2004 SOLIDWORKS 2024 SP3.1 SOLIDWORKS 2023 SP5.0 SOLIDWORKS 2022 SP5.0 SOLIDWORKS 2021 SP5.1
|
erstellt am: 11. Mai. 2009 09:53 <-- editieren / zitieren --> Unities abgeben:          Nur für Joshua63
Hallo Joshua, Ist zwar fast eine Kopie von jenem von Stefan, aber hier die kurzfassung von unserem Makro. (Die Basis ist der Export einer Zeichnung als DXF, TIF oder DWG). Code:
Sub main()DIM swApp As Object Dim SelObj As Object Set swApp = CreateObject("SldWorks.Application") Se Part = swApp. ActiveDoc Set SelMgr = Part.SelectionManager() Set SelOgj = SelMgr.GetSelectedObject3() MadelName = SelObj.GetReferencedModelName MsgBox (ModelName) <-- Diese Zeile ist nur die Ausgabe zur Kontrolle) End Sub
Ich hoffe es hat keine Tipfehler im Makro. Bei uns ist das CAD-Netzwerk ein Inselbetrieb, es gibt kein Internet daran. Gruss Mike ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |