| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Intelligenter Workflow von Köln bis Delhi mit SAP PLM - KHD Humboldt Wedag , ein Anwenderbericht
|
Autor
|
Thema: Zeichnungen schnell umfärben (436 mal gelesen)
|
CeZet Mitglied
Beiträge: 95 Registriert: 28.08.2003 ADT 2004 / AutoCAD 2002
|
erstellt am: 24. Nov. 2003 06:40 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Gibt es irgendwo ein Hilfsmittel, sodass ich ganze Zeichnungen mit möglichst wenigen Schritten auf eine einzige Farbe stellen kann? Layereigenschaften sollten dabei bestehen bleiben (ausser der Farbe natürlich). Schwierig ists vor allem weil Attribute und Blöcke ebenfalls enthalten sind in den Zeichnungen. Gibts da evtl. Tricks oder bereits vorgefertige Scripts,etc?. Grüsse silver Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marco Müller Mitglied Konstrukteur Versorgungstechnik
Beiträge: 241 Registriert: 12.03.2001 Acad2002 (engl.) LiNear 3D-Heizzentrale WinXP SP1 AMD 2,8 GHz 1GB RAM GF FX5700 128MB
|
erstellt am: 24. Nov. 2003 07:01 <-- editieren / zitieren --> Unities abgeben: Nur für CeZet
|
Angelika Hädrich Ehrenmitglied V.I.P. h.c. Application Engineer
Beiträge: 5123 Registriert: 12.07.2000 Der erreicht am meisten, der immer auch anders kann, als er vorhatte.
|
erstellt am: 24. Nov. 2003 07:41 <-- editieren / zitieren --> Unities abgeben: Nur für CeZet
Hallo silver, also wenn ich jetzt nicht irgendwo auf der Leitung stehe... Ich gehe in den Layereigenschaften Manager klicke den ersten Layer an, Umschalttaste festhalten, letzten Layer der Liste anklicken = alle markiert, dann bei einem beliebigen Layer in der liste in der Spalte Farbe anklicken, es kommt die Farbauswahl - dort die gewünschte Farbe anklicken - OK, Layermanager OK und alle Zeichnungsobjekte erscheinen z.b. Käseviolett... (auch meine Blöcke, z.B. Schrifdfeld hat Attribute Sollte sich mal ein hartnäckiges Attribut weigern, doppelklick drauf, der erweiterte Attributseditor erlaubt auch Farbänderung - hier halt wieder Wunschfarbe Gruss Angelika ------------------ Lieber Fehler riskieren als Initiative verhindern. (Reinhard Mohn)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 24. Nov. 2003 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für CeZet
oder so: (defun C:einfarb (/ SS1 SS1Len i NumChg EName Elist EType ZNACZNIK MD_ERR M:FEHLER m:farbe ) ;_ end of / ;_ end of / (setq MD_ERR *ERROR* *ERROR* M:FEHLER ) ;_ end of setq ;;Marke für Zurück nach Abbruch setzen (command "_.UNDO" "_MARK") (setvar "cmdecho" 0) (setvar "tilemode" 1) (command "_.-Layer" "_unlock" "*" "") (prompt "\nElemente wählen zum ändern, oder Return für alle... " ) ;_ end of prompt (setq SS1 (ssget)) (if (null SS1) ;if enter, ZOOM All and choose everything (setq SS1 (ssget "X" '((-4 . "<NOT") (0 . "VIEWPORT") (-4 . "NOT>"))) ) ;_ end of setq ) ;if (if ss1 (setq m:farbe (acad_colordlg 256)) ) ;_ end of if ;*initialize variables (setq SS1Len (sslength SS1) ;length of selection set i 0 ;loop counter NumChg 0 ;number changed counter ) ;setq ;*do the work (prompt "\n Arbeite.") (terpri) (while (< i SS1Len) ;while more members in the SS (cond (ZNACZNIK (setq ZNACZNIK NIL) (princ (strcat (itoa NumChg) "\r \\ ")) ) (t (setq ZNACZNIK (princ (strcat (itoa NumChg) "\r / ")) ) ;_ end of setq ) ) ;_ end of cond (setq EName (ssname SS1 i) ;entity name EList (entget EName) ;entity data list EType (cdr (assoc 0 EList)) ;entity type ) ;setq ;*change group 10 Z coordinate to 0 for listed entity types (cond ((= EType "INSERT") (setq EList (zeroz 62 EList M:farbe) ;change entities in list above ) ;setq (if (null (tblsearch "BLOCK" (cdr (assoc 2 EList)))) (progn (setq EARX_BTAA (tblnext "BLOCK" T)) (while (/= EARX_BTAA nil) (if (wcmatch (cdr (assoc 2 EARX_BTAA)) (cdr (assoc 2 EList))) (progn (setq EARX_BTAB EARX_BTAA) (setq EARX_BTAA nil) ) ;_ end of progn (setq EARX_BTAA (tblnext "BLOCK")) ) ;_ end of if ) ;_ end of while ) ;_ end of progn (setq EARX_BTAB (tblsearch "BLOCK" (cdr (assoc 2 EList)))) ) ;_ end of if (setq EARX_BLK (cdr (assoc -2 EARX_BTAB))) (while EARX_BLK (cond (ZNACZNIK (setq ZNACZNIK NIL) (princ "\r \\ ")) (t (setq ZNACZNIK (princ "\r / "))) ) ;_ end of cond (setq ELIST (entget EARX_BLK) EType (cdr (assoc 0 EList)) ) ;_ end of setq (setq EList (zeroz 62 EList M:farbe)) ;(setq Elist (zeroz 11 EList)) (if ELIST (entmod ELIST) ) ;_ end of if (setq EARX_BLK (entnext EARX_BLK)) ) ;ende while ) ;ende insert (T (setq EList (zeroz 62 EList M:farbe)) ;(md_liste M:farbe)); ) ) ;ende cond (setq i (1+ i)) ;next entity ) ;while (princ) ) ;defun
(defun M:FEHLER (MSG) (command "_.UNDO" "_BACK") (setq *ERROR* MD_ERR) (princ (strcat "Fehler! AutoCAD meldet: \"" MSG "\" als Ursache.") ) ;_ end of princ (princ) ) ;_ end of defun
(defun zeroz (key ZEList col / OPList NPList) (setq OPList (assoc key ZEList)) (if (/= OPList nil) ;;; (setq ff (cdr (member (assoc 8 ZEList) zelist)) ;;; f (reverse (member (assoc 8 ZEList) (reverse zelist))) ;;; ZEList (append f (cons (cons key col) ff)) (setq NPList (cons key col) ZEList (subst NPList OPList ZEList) ) ;_ end of setq (progn (setq md_layer_0_e (entget (tblobjname "layer" (cdr (assoc 8 ZEList))) ) ;_ end of entget ) ;_ end of setq (setq md_layer_0_e (subst (cons 62 col) (assoc 62 md_layer_0_e) md_layer_0_e ) ;_ end of subst ) ;_ end of setq (entmod md_layer_0_e) ) ;_ end of progn ) ;_ end of if (entmod ZEList) (setq ELIST ZELIST) ) ;defun ;|«Visual LISP© Format Options» (72 2 40 1 T "end of " 60 9 0 0 0 nil T nil T) ;*** KEINEN Text unterhalb des Kommentars hinzufügen! ***|;
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CeZet Mitglied
Beiträge: 95 Registriert: 28.08.2003 ADT 2004 / AutoCAD 2002
|
erstellt am: 25. Nov. 2003 19:01 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank AsSchu, in diese Richtung geht das was ich suche. Was mir noch fehlt ist, das Attribute nicht umgewandelt werden. Wenn ich vorher den Befehl _burst anwende,dann klappts mit deinem LSP. Kann ich den Befehl burst auch noch automatisch in das Lisp integrieren sodass autoCAD per Knopfdruck beide Vorgänge nacheinander startet? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 25. Nov. 2003 22:16 <-- editieren / zitieren --> Unities abgeben: Nur für CeZet
|
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Nov. 2003 07:24 <-- editieren / zitieren --> Unities abgeben: Nur für CeZet
|