Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  True Color Layer per Script zum Auswahlsatz hinzufügen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  True Color Layer per Script zum Auswahlsatz hinzufügen (370 mal gelesen)
Rene.O.
Mitglied


Sehen Sie sich das Profil von Rene.O. an!   Senden Sie eine Private Message an Rene.O.  Schreiben Sie einen Gästebucheintrag für Rene.O.

Beiträge: 7
Registriert: 22.11.2019

AutoCAD 2015

erstellt am: 25. Nov. 2022 08:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

wir haben das Problem, dass wir dwg Zeichnungen ,exportiert aus einer Architektursoftware, zur Verfügung gestellt bekommen in welcher Layer geändert werden müssen.

Ganz konkret müssen Objekte nach True Color Farbe gefiltert ausgewählt werden und auf einen neuen Layer mit der Farbe "von Layer" gelegt werden.
Von Hand ist das soweit keine Problem. Wir gehen über die SAUSWAHL und selektieren alles mit dem Farbcode bspw. 255,255,255. Layer in einen vorher angelegten ändern und Farbe auf "von Layer" ändern -> fertig.

Nun haben sich ca. 200 Pläne angehäuft mit mehreren zu ändernden Layern, weshalb ich das gerne über ein Script lösen möchte.

Nach tests und Recherche weiß ich nun schon, dass SAUSWAHL in der Befehlszeile nicht funktioniert. Als Alternative wurde ssx genannt.
Ist das der richtige Befehlt für mein Vorhaben? Die Objeke können Lininen, Schraffuren, Texte, Kreise usw. sein.

Über Hilfe und Ideen bin ich sehr dankbar.

Grüße Rene

[Diese Nachricht wurde von Rene.O. am 25. Nov. 2022 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 25. Nov. 2022 09:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rene.O. 10 Unities + Antwort hilfreich

Hi,
abgesehen von netten Verschreibern von dir (du wählst keine Layer und sicher stellst du die Farbe eines Layer nicht auf VonLayer),
kann man das eigentliche Ziel auch anders erreichen? Wir kennen nicht alle Fakten und Beispiele vorher/nachher hängen nicht an.


Gibt es andere Objekte mit Farbe7 ?
Falls nicht, oder diese auf denselben Layer müssen, dann kannst du SSX mit Filter Farbe 7 nutzen.
Ist nicht Kugelsicher, aber für den LT-Nutzer wäre es zB. die einzige Chance.

Aber gerne auch die perfekte Lispzeile:
Auswahlsatz erstellen mit
(ssget  "_X" (list(cons 410 (getvar 'CTAB))'(420 . 16777215)'(430 . "")))


und falls es mal eine Datei gibt in der es keine Objekte mit Farbe 255,255,255 gibt,
dann kann man es gleich so schreiben (Farbe+Layer ändern nur falls Objekte gefunden wurden:
(if (ssget  "_X" (list(cons 410 (getvar 'CTAB))'(420 . 16777215)'(430 . ""))) (command "_.CHPROP" "_p" "" "_co" "ByLayer" "_LAYER" "MeinNeuerLAyer" ""))

 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rene.O.
Mitglied


Sehen Sie sich das Profil von Rene.O. an!   Senden Sie eine Private Message an Rene.O.  Schreiben Sie einen Gästebucheintrag für Rene.O.

Beiträge: 7
Registriert: 22.11.2019

AutoCAD 2015

erstellt am: 25. Nov. 2022 10:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Exempel.dwg

 
Hallo cadffm,

danke erstmal für die schnelle Antwort.

Habe anbei ein Beispiel erstellt. Das Original darf ich nicht hochladen.

Ich hoffe das bringt Klarheit 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 25. Nov. 2022 11:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rene.O. 10 Unities + Antwort hilfreich


221125_ACIeTC.JPG

 
Also gibt es ausschließlich TrueColor-Werte?
Wenn die Farben sich so deutlich unterscheiden, dann kann man auch SSx nutzen,
die Farbwerte entnimmst du meinem Bild oder ermittelst diese selbst mit folgender Eingabe:
Befehl: (cdr(assoc 62 (entget(car(entsel)))))
Dann wählst du das Objekt, der Farbwert wird angezeigt, wenn das Objekt Farbe "VonLayer" hat gibt es nil zurück.


Wenn du es richtig machen möchtest, dann ermittel den Farbwert so:
Befehl: (cdr(assoc 420 (entget(car(entsel)))))
und baue es in den SSGET-Ausdruck ein, wie ich oben schon zeigte.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rene.O.
Mitglied


Sehen Sie sich das Profil von Rene.O. an!   Senden Sie eine Private Message an Rene.O.  Schreiben Sie einen Gästebucheintrag für Rene.O.

Beiträge: 7
Registriert: 22.11.2019

AutoCAD 2015

erstellt am: 25. Nov. 2022 11:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Es gibt nicht nur TrueColor-Werte, aber alle Objekte die geändert werden sollen besizten TrueColor-Werte.

Ich habe gehofft das mit einen Script lösen zu können, der Einfachheit halber. Gerade als Anfänger auf dem Gebiet hätte man schön Zeile für Zeile testen können.

Dann werde ich mich mal in lisp einarbeiten und testen. 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 25. Nov. 2022 12:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Rene.O. 10 Unities + Antwort hilfreich

[QUOTE]Original erstellt von Rene.O.:
Es gibt nicht nur TrueColor-Werte, aber alle Objekte die geändert werden sollen besizten TrueColor-Werte.
Dann war das Beispiel nicht gut genug (das waren nur TC-Farben) - nur als Hinweis für zukünftige Probleme und Dateibeispiele.
Dein Beispiel war zu sehr geprägt von deiner Vorstellung der Lösung, was oft ein Nachteil ist oder gar nach hinten losgehen kann.

>>Ich habe gehofft das mit einen Script lösen zu können, der Einfachheit halber.
>>Gerade als Anfänger auf dem Gebiet hätte man schön Zeile für Zeile testen können.
Stimmt und die Zeile für "Auswahlsatz erstellen" hast du ja jetzt:
(ssget  "_X" (list(cons 410 (getvar 'CTAB))'(420 . 16777215)'(430 . "")))

>>Dann werde ich mich mal in lisp einarbeiten und testen. 
Bis auf die Objektwahl nicht wirklich nötig.

Vorschlag: Teste es einfach mal mit deinem simplen Script,
teste es dann einmal in einer Datei in welcher es überhaupt kein Objekte der Farbe 255,255,255 zB. gibt => Crash
anschließend die ordentliche Variante: Ein Objekt erstellen, dessen Farbe ändern,  dann alle Objekte der TC-Farbe wählen und den Layer+Farbe ändern,
letztes Objekt löschen.

Und für die richtige Arbeit nimmst du dann die Deluxevariante welche ohnehin schon gepostet wurde
(if (ssget  "_X" (list(cons 410 (getvar 'CTAB))'(420 . 16777215)'(430 . ""))) (command "_.CHPROP" "_p" "" "_co" "ByLayer" "_LAYER" "MeinNeuerLAyer" ""))


Denke daran, der Ziellayer muss auch existieren.

 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz