| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SIEMENS PLM CONNECTION 2026 | 22. - 24. Juni 2026 | Lufthansa Konferenzzentrum Seeheim |
| | |
 | SOLIDWORKS NEXT | Episode 2: High-Speed-Entwicklung - Simulation & Elektromagnetik, ein Webinar am 19.05.2026
|
|
Autor
|
Thema: Makro - alle Maße für Zeichnung markiert / nicht markiert (2205 mal gelesen)
|
burgmann Mitglied

 Beiträge: 97 Registriert: 08.08.2005 SE V18 Compaq nw8240
|
erstellt am: 14. Okt. 2005 13:15 <-- editieren / zitieren --> Unities abgeben:         
Hallo Forum, hat einer der Nutzer hier schon mal ein Makro erstellt, mit dem sich für alle Maße die Eigenschaft eines Teils/Bibliotheksfeatures von "für Zeichnung markiert" auf "nicht für Zeichnung markiert", und auch in die andere Richtung ändern lässt? Wenn ja, könnte er mir dieses zur Verfügung stellen? Tausend Dank! burgmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jens_oliver Mitglied Softwareentwickler
 
 Beiträge: 114 Registriert: 28.06.2005
|
erstellt am: 17. Okt. 2005 09:52 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
|
G. Dawg Ehrenmitglied V.I.P. h.c. Entwicklung Eigenmaschinen

 Beiträge: 2623 Registriert: 12.07.2004 Inventor 2o25 Microslop Windows 11, RTX_2ooo.
|
erstellt am: 17. Okt. 2005 10:12 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
|
jens_oliver Mitglied Softwareentwickler
 
 Beiträge: 114 Registriert: 28.06.2005
|
erstellt am: 17. Okt. 2005 10:23 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Hi, Als Erstes sollte ein Dialog aufgehen der Fragt ob du die Markierung für alle Maße an oder ausschalten möchtest. Wenn ein Bauteil geöffnet ist sollten dann alle Maße umgestellt werden. Gruß Oliver Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Entwicklung Eigenmaschinen

 Beiträge: 2623 Registriert: 12.07.2004 Inventor 2o25 Microslop Windows 11, RTX_2ooo.
|
erstellt am: 17. Okt. 2005 10:31 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Zitat: Original erstellt von jens_oliver: Als Erstes sollte ein Dialog aufgehen
...hmm...?!? Ja!? Da passiert aber nichts!  Wenn ich aber das Makro aus dem VB Editor starte, bleibt er hier hängen: "swApp As SldWorks.SldWorks" "Fehler beim Kompilieren: Projekt oder Bibliothek nicht gefunden" Wo liegt das Problem? *** EDIT: NEVERMIND!!! Das Makro ist für 2006!!! Ich habe aber nur 2005... *** ------------------ you can't change the world but you can leave a dent ------------------ [Diese Nachricht wurde von G. Dawg am 17. Okt. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
burgmann Mitglied

 Beiträge: 97 Registriert: 08.08.2005 SE V18 Compaq nw8240
|
erstellt am: 17. Okt. 2005 10:46 <-- editieren / zitieren --> Unities abgeben:         
|
jens_oliver Mitglied Softwareentwickler
 
 Beiträge: 114 Registriert: 28.06.2005
|
erstellt am: 17. Okt. 2005 10:46 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
|
G. Dawg Ehrenmitglied V.I.P. h.c. Entwicklung Eigenmaschinen

 Beiträge: 2623 Registriert: 12.07.2004 Inventor 2o25 Microslop Windows 11, RTX_2ooo.
|
erstellt am: 17. Okt. 2005 10:55 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Ja... ich denke schon! ---> (screenshot) *** EDIT: Das NICHT VORHANDEN (...) macht mir Sorgen! *** ------------------ you can't change the world but you can leave a dent ------------------ [Diese Nachricht wurde von G. Dawg am 17. Okt. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jens_oliver Mitglied Softwareentwickler
 
 Beiträge: 114 Registriert: 28.06.2005
|
erstellt am: 17. Okt. 2005 11:09 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
|
G. Dawg Ehrenmitglied V.I.P. h.c. Entwicklung Eigenmaschinen

 Beiträge: 2623 Registriert: 12.07.2004 Inventor 2o25 Microslop Windows 11, RTX_2ooo.
|
erstellt am: 17. Okt. 2005 11:13 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Ich habe nun alles in ein neues Makro kopiert und gestartet... "swDocPART" -> Variable nicht definiert....  Ich gebs auf!  Vielen Dank, trotzdem! ------------------ you can't change the world but you can leave a dent ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Entwicklung Eigenmaschinen

 Beiträge: 2623 Registriert: 12.07.2004
|
erstellt am: 17. Okt. 2005 11:49 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Danke, Jens Oliver! Mit dem "Const swDocPart=1" funkt das Ding einwandfrei! Gäbe es nun die Möglichkeit, nur die Masse zu ändern, welche ausgewählt sind? Vielleicht möchte ich ja nicht alle ändern...! Aber es funktioniert schon mal so wie es dedacht war! SUPER! ------------------ you can't change the world but you can leave a dent ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 17. Okt. 2005 12:51 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Hallo Jens, vielen Dank für das Makro ... als Anmerkung: diese Art Diskussion ist genau der Grund, warum ich meine Makros nie mit den Verweisen mache, sondern die Konstanten immer direkt einbinde und spätesten bei der Veröffentlichung auf Late Binding (also Deklarationen als algemeines Object) mache. Ist wzar meist mehr Arbeit und sieht nicht so elegant aus, läuft aber überall und ich brauch mir keine Gedanken um die SolidWorks Version machen, solange die API Commands gleich bleiben  Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jens_oliver Mitglied Softwareentwickler
 
 Beiträge: 114 Registriert: 28.06.2005
|
erstellt am: 19. Okt. 2005 13:54 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Hallo Stefan, ich hätte natürlich auf die Probleme mit den Verweisen hinweisen sollen. Für Anwender, die ein Makro (nur) benutzen wollen ist es immer ärgerlich wenn das Programm nicht sofort läuft. Da ich normalerweise aber größere Projekte bearbeite, ist ein sauberer Programmierstiel sehr wichtig. Ich versuche immer das „late Binding“ zu vermeiden, da zum einem die Laufzeit erhöht wird und zum andern um eine Syntax und Type Überprüfung zu haben. Da vielleicht einige Anwender das Makro noch weiter bearbeiten wollen oder sich einige Sachen abschauen wollen, denke ich ist es richtig die „saubere“ Lösung zu zeigen. Gruß Oliver --------------- Software nach Maß für ihr CAD-System http://www.ib-knepper.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lueghi Mitglied Admin für alle Systeme ....
 
 Beiträge: 476 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 SP35 ERP...: proAlpha 6.2e / 7.1 / 9.5 OS....: Win11, HP ZBook G5
|
erstellt am: 30. Nov. 2017 10:36 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
|
HenryV Mitglied Konstrukteur, Engineering, Projektassistent
  
 Beiträge: 824 Registriert: 18.05.2005
|
erstellt am: 30. Nov. 2017 12:14 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
Code: Option Explicit Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swFeat As SldWorks.Feature Dim swSubFeat As SldWorks.Feature Dim swDispDim As SldWorks.DisplayDimension Dim markedForDrawing As Boolean Dim antwort Sub main() Set swApp = Application.SldWorks antwort = MsgBox("Alle Parameter für Zeichnung markieren(Ja) deaktivieren(Nein)", vbYesNoCancel, "Ingenieurbüro Knepper") If antwort = vbYes Then markedForDrawing = True ElseIf antwort = vbNo Then markedForDrawing = False Else Exit Sub End If Set swModel = swApp.ActiveDoc If swModel Is Nothing Then antwort = MsgBox("Kein aktives Bauteil!", vbCancel, "Ingenieurbüro Knepper") Exit Sub End If If (swModel.GetType = swDocPART) Then Set swFeat = swModel.FirstFeature Do While Not swFeat Is Nothing Set swSubFeat = swFeat.GetFirstSubFeature Do While Not swSubFeat Is Nothing Set swDispDim = swSubFeat.GetFirstDisplayDimension Do While Not swDispDim Is Nothing swDispDim.markedForDrawing = markedForDrawing Set swDispDim = swSubFeat.GetNextDisplayDimension(swDispDim) Loop Set swSubFeat = swSubFeat.GetNextSubFeature Loop Set swDispDim = swFeat.GetFirstDisplayDimension Do While Not swDispDim Is Nothing swDispDim.markedForDrawing = markedForDrawing Set swDispDim = swFeat.GetNextDisplayDimension(swDispDim) Loop Set swFeat = swFeat.GetNextFeature Loop Else antwort = MsgBox("Kein aktives Bauteil!", vbCancel, "Ingenieurbüro Knepper") End If End Sub
------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lueghi Mitglied Admin für alle Systeme ....
 
 Beiträge: 476 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 SP35 ERP...: proAlpha 6.2e / 7.1 / 9.5 OS....: Win11, HP ZBook G5
|
erstellt am: 01. Dez. 2017 12:42 <-- editieren / zitieren --> Unities abgeben:          Nur für burgmann
|