12 mar. 2008

Comando "chcolor" en vlisp, para seleccionar objetos por color y cambiar color por otro:

;;;----Rutina "chcolor"
;;;----pide numero de color a buscar
;;;----y numero de color nuevo
;;;----selecciona objetos segun color
;;;----y cambia color por el nuevo
;;;----luego queda indicada la
;;;----selección.
;;;***********************************************************
;;;*(c) by Prexem - Víctor Adolfo Bracamonte - 2008*
;;;***********************************************************
(defun c:chcolor ( /
color-busc
newcolor
sel
cant
index
selxcol
ent
vla-obj
color-obj
)
(vl-load-com)
(setq color-busc
(getint
"\nDar numero del color buscado: "
)
newcolor
(getint
"\nDar numero del color nuevo: "
)
)
(setq sel (ssget "_X")
cant (sslength sel)
index 0
selxcol (ssadd)
)
(repeat cant
(setq ent (ssname sel index)
vla-obj (vlax-ename->vla-object ent)
color-obj (vla-get-color vla-obj)
)
(if (equal color-busc color-obj)
(setq selxcol (ssadd ent selxcol))
);if
(setq index (1+ index))
);repeat
(command "_chprop" selxcol "" "c" newcolor "")
(sssetfirst nil selxcol)
(prompt "\n*ESCAPE para deseleccionar*")
(princ)
);fin defun

No hay comentarios: