| |
| 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: Flächen & Skizzen ausblenden (11135 mal gelesen)
|
The Mc 7 Mitglied TZ
Beiträge: 429 Registriert: 25.02.2004 Monitore : 2x LG 23“ 3D Maus : Space Controller Betriebssystem: Windows 7 64 Bit
|
erstellt am: 02. Jul. 2008 09:57 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, hat einer ein Makro womit man alle eingeblendeten Skizzen und Flächen ausblenden kann? oder eine Idee wie ich dies Schnell erreiche? Kurz mein Problem: Einer meiner Kolegen hat immer alle Ebenen & Skizzen einblendet. Wenn jetzt jemand seine Teile in seine BG nimmt hat er immer das Problem das er kaum noch was erkennt. Wenn er jetzt in der BG arbeiten will und Skizzen übernehmen will kann er es auch nicht einfach ausblenden. Deswegen bin ich auf der suche nach einer schnellen & einfachen lösung. Kann mir da einer von euch helfen? Gruß Hobi ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Teddibaer Ehrenmitglied V.I.P. h.c. Struktur-Experte
Beiträge: 2125 Registriert: 09.02.2004
|
erstellt am: 02. Jul. 2008 10:08 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
|
The Mc 7 Mitglied TZ
Beiträge: 429 Registriert: 25.02.2004 Monitore : 2x LG 23“ 3D Maus : Space Controller Betriebssystem: Windows 7 64 Bit
|
erstellt am: 03. Jul. 2008 13:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Teddibaer, das Makro ist im grund ja nicht schlecht nur das man alles Trotzdem anwählen muß ist nicht so das schöne. Das mit dem Schlagen bringt nicht so viel, wir haben das gefühl das er auf sowas steht :-) ------------------ 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: 03. Jul. 2008 15:12 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Hallo Hobi, ich hab dir da mal was gebastelt.
Code: ' ********************************************************************** ' * Makro blendet alle Skizzen in einem Teil aus. Anforderung siehe ' * http://ww3.cad.de/foren/ubb/Forum2/HTML/015512.shtm ' * ' * 03.07.2008 Stefan Berlitz (stefan.berlitz@solidworks.cad.de) ' * ' * http://solidworks.cad.de ' * http://swtools.cad.de ' **********************************************************************' die Konstanten aus swconst.bas, damit nicht mit Zahlen gearbeitet werden muss Const swDocPART = 1 ' Used to be TYPE_PART Sub Main() Dim SwApp As Object Dim Part As Object Dim Feature As Object Set SwApp = CreateObject("SldWorks.Application") Set Part = SwApp.ActiveDoc If Part Is Nothing Then MsgBox ("Kein Modell geöffnet") End End If ' ausserdem funktioniert das so nur mit Parts, also sollte das aktive ' Dokument auch ein Part sein If Part.GetType() <> swDocPART Then MsgBox ("Das Makro funktioniert nur mit Parts") End End If ' das erste Feature im Part suchen Set Feature = Part.FirstFeature ' dann eine Schleife über alle Feature While Not Feature Is Nothing If Feature.GetTypeName = "ProfileFeature" Or _ Feature.GetTypeName = "3DProfileFeature" Then ' selektieren Part.SelectByID Feature.Name, "SKETCH", 0, 0, 0 ' ausblenden Part.BlankSketch End If ' und das nächste Feature abklappern Set Feature = Feature.GetNextFeature() Wend End Sub
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 |
Teddibaer Ehrenmitglied V.I.P. h.c. Struktur-Experte
Beiträge: 2125 Registriert: 09.02.2004
|
erstellt am: 03. Jul. 2008 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Zitat: Original erstellt von The Mc 7: ... Das mit dem Schlagen bringt nicht so viel, wir haben das gefühl das er auf sowas steht :-) ;)
Dann schlagt Ihr nicht fest genug ... ------------------ Gruß, der Teddibaer Besucht mich doch einmal ... oder ... auch zweimal ... ----------------------------------------------------------------- Brot kann schimmeln ... und was kannst Du? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
The Mc 7 Mitglied TZ
Beiträge: 429 Registriert: 25.02.2004 Monitore : 2x LG 23“ 3D Maus : Space Controller Betriebssystem: Windows 7 64 Bit
|
erstellt am: 07. Jul. 2008 09:29 <-- editieren / zitieren --> Unities abgeben:
Dank Stefan, das Makro ist ja schon nicht schlecht (eigentlich schon total super). Kannst du mir jetzt noch ein Tip geben wie ich das mit den EBENEN auch noch da rein bekomme? Dann bekommst du das 'e' vom Dank e auch noch. @Teddibaer wenn wir noch fester zuschlagen ist die gafahr zu groß das unser 100er Holz bricht
------------------ 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: 07. Jul. 2008 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Her mit dem "e" Code: ' ********************************************************************** ' * Makro blendet alle Skizzen und Ebenen in einem Teil aus. ' * Anforderung siehe ' * http://ww3.cad.de/foren/ubb/Forum2/HTML/015512.shtm ' * ' * 03.07.2008 Stefan Berlitz (stefan.berlitz@solidworks.cad.de) ' * ' * http://solidworks.cad.de ' * http://swtools.cad.de ' **********************************************************************' die Konstanten aus swconst.bas, damit nicht mit Zahlen gearbeitet werden muss Const swDocPART = 1 ' Used to be TYPE_PART Sub Main() Dim SwApp As Object Dim Part As Object Dim Feature As Object Set SwApp = CreateObject("SldWorks.Application") Set Part = SwApp.ActiveDoc If Part Is Nothing Then MsgBox ("Kein Modell geöffnet") End End If ' ausserdem funktioniert das so nur mit Parts, also sollte das aktive ' Dokument auch ein Part sein If Part.GetType() <> swDocPART Then MsgBox ("Das Makro funktioniert nur mit Parts") End End If ' das erste Feature im Part suchen Set Feature = Part.FirstFeature ' dann eine Schleife über alle Feature While Not Feature Is Nothing If Feature.GetTypeName = "ProfileFeature" Or _ Feature.GetTypeName = "3DProfileFeature" Then ' selektieren Part.SelectByID Feature.Name, "SKETCH", 0, 0, 0 ' ausblenden Part.BlankSketch End If ' und noch Referenzebenen ausblenden If Feature.GetTypeName = "RefPlane" Then ' selektieren Part.SelectByID Feature.Name, "PLANE", 0, 0, 0 ' ausblenden Part.BlankRefGeom End If ' und das nächste Feature abklappern Set Feature = Feature.GetNextFeature() Wend End Sub
------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
The Mc 7 Mitglied TZ
Beiträge: 429 Registriert: 25.02.2004 Monitore : 2x LG 23“ 3D Maus : Space Controller Betriebssystem: Windows 7 64 Bit
|
erstellt am: 07. Jul. 2008 11:59 <-- editieren / zitieren --> Unities abgeben:
|
Brödlahans Mitglied
Beiträge: 94 Registriert: 23.05.2008
|
erstellt am: 08. Jul. 2008 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Ähem, sorry, aber warum schreibt ihr ellenlange Makros (wofür ich euch echten Respekt zolle), wenn man auch über den Befehl Ansicht einzelne Typen wie z.B. auch Ebenen oder Skizzen auswählen kann?? Greets Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myca Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 4383 Registriert: 15.06.2007 SW 2007 SW 2018 2,67 GHz,2 GB, ATI FIRE GL V5200, XP 64 3,4 GHz, 8GB, ATI FIRE PRO V7800, WIN 10 Pro
|
erstellt am: 08. Jul. 2008 08:22 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Hallo? Noch mal LESEN, Verstehen - Hinweis: zwei unterschiedliche Sachen. G. thomas Ps: DANKE STEFAN!!!!!!!!!!!!!!!!!!!! ------------------ [Diese Nachricht wurde von myca am 08. Jul. 2008 editiert.] 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: 08. Jul. 2008 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Hallo Brödlahans Zitat: Original erstellt von Brödlahans: Ähem, sorry, aber warum schreibt ihr ellenlange Makros (wofür ich euch echten Respekt zolle), wenn man auch über den Befehl Ansicht einzelne Typen wie z.B. auch Ebenen oder Skizzen auswählen kann??
Über das Ansichtsmenu kannst du nur alle oder keine Ebene/Skizzen ausblenden, wie so eine Art Hauptschalter. Manchmal ist es notwendig, einzelne Ebenen oder Skizzen (z.B. Anschlußebenen oder Layoutskizzen) permanent oder vor allem auch mal temporär einzublenden, damit die besser gesehen oder genutzt werden können. Wenn jetzt ein Konstruktuer in seiner Arbeitsweise gewohnt ist, erst mal sicherheitshalber alle Ebenen und Skizzen über den Sichtbarkeitsstatus des Objektes einzublenden (und, was ich dann selbst erlebt habe, eben alles wieder über das Ansichtsmenu ausblendet) und jemand verbaut diese Teile, hast du überall diese Spuren auf dem Bildschirm, auch wenn du nur eine bestimmte Skizze einblenden willst, um die zu sehen. Dafür musst du dann eben wirklich in die Teile rein und Referenzgeometrie (Ebenen) und Skizzen einzeln wieder ausblenden. 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 |
fast_fredy Mitglied Konstrukteur
Beiträge: 307 Registriert: 29.06.2004 SWX 2019 SP5.0 x64, keytech 13.1.2.182, Windows 10 Pro for Workstations(Version 1809), Office 2016, Dell Precision 5820 Tower, 32GB RAM, NVIDIA Quadro RTX 4000/PCIe/SSE2(R419)
|
erstellt am: 18. Sep. 2008 16:22 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Hallo Stefan, wieder mal ein SUPER Makro!! Toll! Heut hat mich ein Kollege nach genau sowas gefragt, allerdings für Baugruppen . Geht leider mit diesem Makro soo nicht. Kannst du da noch was dranstricken?? 1000 Units sind dir schon jetzt sicher Gruß Fredy 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: 19. Sep. 2008 08:00 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Hi Fredy, jupp, das Makro prüft ab, ob es ein Teil ist, ich hab es umgeändert, so dass es mit allen Modellen funktioniert:
Code: ' ********************************************************************** ' * Makro blendet alle Skizzen und Ebenen in einem Teil aus. ' * Anforderung siehe ' * http://ww3.cad.de/foren/ubb/Forum2/HTML/015512.shtm ' * ' * 03.07.2008 Stefan Berlitz (stefan.berlitz@solidworks.cad.de) ' * ' * http://solidworks.cad.de ' * http://swtools.cad.de ' **********************************************************************' die Konstanten aus swconst.bas, damit nicht mit Zahlen gearbeitet werden muss Const swDocDRAWING = 3 ' Used to be TYPE_PART Sub Main() Dim SwApp As Object Dim Part As Object Dim Feature As Object Set SwApp = CreateObject("SldWorks.Application") Set Part = SwApp.ActiveDoc If Part Is Nothing Then MsgBox ("Kein Modell geöffnet") End End If ' ausserdem funktioniert das so nur mit Parts, also sollte das aktive ' Dokument auch ein Part sein If Part.GetType() = swDocDRAWING Then MsgBox ("Das Makro funktioniert nur mit Modellen") End End If ' das erste Feature im Part suchen Set Feature = Part.FirstFeature ' dann eine Schleife über alle Feature While Not Feature Is Nothing ' Debug.Print Feature.GetTypeName If Feature.GetTypeName = "ProfileFeature" Or _ Feature.GetTypeName = "3DProfileFeature" Then ' selektieren Part.SelectByID Feature.Name, "SKETCH", 0, 0, 0 ' ausblenden Part.BlankSketch End If ' und noch Referenzebenen ausblenden If Feature.GetTypeName = "RefPlane" Then ' selektieren Part.SelectByID Feature.Name, "PLANE", 0, 0, 0 ' ausblenden Part.BlankRefGeom End If ' und das nächste Feature abklappern Set Feature = Feature.GetNextFeature() Wend End Sub
Die geänderten Stellen sind in Fett, da kannst du das auch eben in deinem Makro ändern.Ciao und schöne Restarbeitswoche, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 04. Dez. 2008 15:31 <-- editieren / zitieren -->
Okay, ich habe nun die beiden Makros von Stefan Berlitz zum Ausblenden eingeblendeter Skizzen und Ebenen und das Makro zum Setzen der Komponentenstati von TeamWorks integriert, weil wir das intern benötigen! Stefans Makro blendet nur die Geometriereferenz der obersten Ebene aus! Eine perfekte Vorlage, um es auf unsere Anforderung, auch in Unterbaugruppen auszublenden, umzuschreiben! Das TeamWorks Makro setzt den Status von Unterbaugruppen und Teilen in einer Oberbaugruppe. So lassen sich ausgeblendete und unterdrückte Dokumente über alle Ebenen einblenden, invertieren. Das Makro von Stefan habe ich um Achsen erweitert und in das Makro von TeamWorks, das eben auch alle Unterbaugruppen durchläuft integriert. Das Makro durchläuft alle Schritte fehlerfrei. Nur Stefans Part läuft nicht richtig: eingeblendete Geometriereferenzen werden partout nicht selektiert! Hat jemand Interesse daran, mir bei dem Problem zu helfen? Ich verstehe das nicht! Das Makro läuft durch die gewünschten Schritte durch; springt in jede Unterbaugruppe, selektiert und blendet aber keine Ebene / Achse / Skizze aus! Woran liegt das? Stefans Makro läuft doch in der ersten Ebene! Ratlose Grüße, Malte
|
Ex-Mitglied
|
erstellt am: 06. Jan. 2009 09:32 <-- editieren / zitieren -->
Ich muss diesen Beitrag doch noch einmal auskramen, da ich trotz Feiertagen nicht weiter gekommen bin. In der API-Hilfe habe ich für mich keine weiteren Ideen finden können, warum das Makro zwar läuft, aber die Funktion nicht ausführt. Noch einmal zur Aufgabenstellung: Importiert man eine Fremddatei (Makro) entstehen eine Menge Ebenen, die alle bis auf drei Haupt-/ Referenzebenen nicht benötigt werden. Da diese drei Ebenen dauerhaft sichtbar bleiben müssen, weil zum Verknüpfen notwendig, ist der Befehl „Ansicht → Ebenen“ nicht nutzbar, da hierbei alle Ebenen unterdrückt werden (und nicht mehr schön sichtbar zum Verknüpfen). Mit dem Makro möchte ich nun erreichen, dass alle Ebenen ausgeblendet werden und ich dann manuell die (drei) gewünschten Ebenen einblenden kann. Könnte sich bitte jemand das Makro ansehen und mir helfen? Gruß, Malte |
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: 06. Jan. 2009 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
|
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: 06. Jan. 2009 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
Hallo Malte, das liegt daran, dass du in dem Loop über die Komponenten nicht das ModelDoc, also das Teil selbst, in der API ansprichst, sondern immer weiterhin das aktive Dokument, also die gerade offene Baugruppe. Da die Ebenen, Achsen usw. aber ja auf Teileebene ausgeblendet werden müssen musst du in dem Loop alle Komponenten abklappern, zu den Komponenten das ModelDoc holen, und dann die Loops über die Features in diesen ModelDocs machen. Noch als Hinweis: dadurch änderst du ggf. das Teil, das müsste dann gespeichert werden, damit diese Änderung dauerhaft ist ... mit allen Konsequenzen für irgendwelche Datenverwaltung 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 |
Thomas 3D Mitglied 3D Designer
Beiträge: 394 Registriert: 17.09.2008 AutoCad 2024 Athena 2023 SWX 2020
|
erstellt am: 05. Jul. 2010 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Hallo Malte,
ich bin heute auf deinen Beitrag gestoßen. Ich habe auch das Problem, wenn Teil in Teil eingefügt wird, das dann alle Ebenen, Achsen u.s.w. sichtbar dargestellt werden. Mit dem Macro von Stefan konnte ich die Ebenen alle ausblenden. Leider nicht die Achsen. Du hattest dich damals daran probiert und das Macro dahingehend erweitert. Da ich keine Ahnung von Macroprogrammierung habe, wollte ich dich fragen, ob du mir die fehlenden Zeilen von Stefans Macro verrätst? Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SteffenB Mitglied Geprüfter Konstrukteur (IHK) / Key-User
Beiträge: 268 Registriert: 10.08.2005 Intel Xeon 3,6Ghz 32GB RAM NVIDIA Quadro 2000 Windows 7 Pro / 64bit SWX 2015 SP2.1
|
erstellt am: 16. Mrz. 2012 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
|
Solid-Mike Mitglied Konstrukteur
Beiträge: 2 Registriert: 26.10.2004
|
erstellt am: 02. Apr. 2015 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für The Mc 7
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Hallo SteffenB, um alle Komponenten-Skizzen einer Baugruppe auszublenden habe ich aus der SolidWorks-API-Referenz ein Makro herauskopiert und in eine Excel-Tabelle integriert. Die Excel-Tabelle schreibt mit, welche Komponente gerade abgearbeitet wird. Vielleicht kannst du etwas damit anfangen. Gruß Mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |