| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| FMB, Veranstaltung am 05.11.2024 |
Autor
|
Thema: Makro zum Ändern des Layers eines Objekts (721 / mal gelesen)
|
Cziffra Mitglied Maschinenbauing.
Beiträge: 8 Registriert: 05.10.2022
|
erstellt am: 15. Mai. 2023 12:00 <-- editieren / zitieren --> Unities abgeben:
|
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5487 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP2 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 15. Mai. 2023 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
|
deckelmaho Mitglied Konstrukteur
Beiträge: 239 Registriert: 03.03.2020 SolidWorks 2023 SP5 Windows 10 64bit Office 2019
|
erstellt am: 15. Mai. 2023 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3229 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 15. Mai. 2023 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
Zitat: Original erstellt von Cziffra: ... Jetzt möchte ich den Layer eines Objekts (in meinem Fall z.B. Linie oder Text) anhand eines Makros ändern, so dass der zugewiesene Layer z.B. "Kante" lautet.... ich will am Ende auf einen Knopf drücken ... change-layer-selected-drawing-objects ...
Verstehe den Sinn noch nicht ganz ... - du musst vorher eh die Elemente auswählen, oder macht das dein Makro? - wenn du die Symbolleiste "Layer" aktiviert hast, kannst du nach dem Auswählen auch dort mit ca 2 Klicks den Layer zuweisen. - wenn das ganze aber für dwg- oder dxf-export ist, kannst du eine Abbildungsdatei definieren, da kann alles automatisch nach Funktion auf Layer zugewiesen werden. Also z.B. Kanten, Bemaßungen, Texte, ... jeweils auf bestimmte Layer. Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gearloose7 Mitglied Techniker
Beiträge: 104 Registriert: 26.08.2010 Windows 10 x64 Pro for Workstations 3,1GHz 32GB NVidia Quadro P5200 SWX2021 SP5.1 Office 365 Pro Draftsight 2021
|
erstellt am: 29. Apr. 2024 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
Hallo, Habe ein ähnliches Problem, nur in die verkehrte Richtung. Wie kann ich über VBA bei einem markierten Element den Layer wegnehmen (also auf -kein- setzen)? Leer lassen geht nicht und nur Anführungsstriche geht auch nicht. Gruß [Diese Nachricht wurde von gearloose7 am 29. Apr. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1378 Registriert: 20.12.2003
|
erstellt am: 29. Apr. 2024 16:30 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
|
gearloose7 Mitglied Techniker
Beiträge: 104 Registriert: 26.08.2010 Windows 10 x64 Pro for Workstations 3,1GHz 32GB NVidia Quadro P5200 SWX2021 SP5.1 Office 365 Pro Draftsight 2021
|
erstellt am: 29. Apr. 2024 19:45 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3229 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 30. Apr. 2024 00:34 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
Zitat: Original erstellt von ad_man: ... Sollte das machen, was du suchst...
Hallo Andreas und gearloose, bei mir löscht das verlinkte Makro die Objekte von der Zeichnung, anstatt ihnen nur den Layer wegzunehmen. wenn ich mit einer Schleife durch die von dem Makro ermittelten Items gehe, stelle ich fest swLayerItems(i).layer = "" geht nicht. swLayerItems(i).layer = "Layer_temp" geht
- wenn es ihn gibt
- nimmt aber nur selbstgemaltes oder - geschriebenes mit gemäß swLayerItemsOptions
- nimmt keine Kanten von 3D-Modellen mit, auch wenn die auf Layern sind.
[/list] Wenn es um importiertes 2D-Material geht, könnte man das Makro umbauen - Layer_temp anlegen - mit Schleife die gefundenen Elemente auf "Layer_temp" verschieben - Layer_temp löschen.Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1378 Registriert: 20.12.2003
|
erstellt am: 30. Apr. 2024 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für Cziffra
Da war dann wohl meine Interpretation von "remove" wohl etwas zu gewagt Ansonsten kann ich Christian nur zustimmen, das Ganze mit einem "Temp-Layer" zu machen. Ich habe in der API-Hilfe nichts adäquates gefunden um "kein" Layer zuzuweisen. ------------------ ========== Gruß Andreas ========== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |