Hace tiempo cayeron en mis manos una serie de rutinas autolisp para gestión de capas.
Lamentablemente las he perdido. Recuerdo que había una, que bloqueaba todas las capas menos la que se seleccionaba.
¿Alguien las conoce, para autocad 2008?
Gracias.
Autolisp gestión de capas
Moderador: Moderadores
Gracias Afga, pero no se trata de las express tools.
Creo que la he localizado, pero no funciona en autocad 2008.
Te trannscribo a continuación la secuencia que me aparece en visualisp:
(defun c:blcap()
(command "undo" "begin")
(setq osna (getvar "OSMODE"))
(setvar "OSMODE" 512)
(setq p1 (getpoint "Seleccionar capa a no bloquear"))
(setq sel (ssget p1))
(setq nsel (ssname sel 0))
(setq lent (entget nsel))
(setq cap (cdr (assoc '8 lent)))
(command "-layer" "lo" "*" "u" cap "")
(setvar "OSMODE" osna)
(command "undo" "end")
)
La aplicación en cuestión, funcionaba de tal manera que al seleccionar un objeto de una capa cualquirera, automáticamente bloqueaba el resto de capas, lo que optimizaba mucho el rendimiento de trabajo.
Además recuerdo que había otra que realizaba el proceso inverso, esto es, desbloqueaba todas las capas bloqueadas con una sola órden.
Un saludo y gracias
Creo que la he localizado, pero no funciona en autocad 2008.
Te trannscribo a continuación la secuencia que me aparece en visualisp:
(defun c:blcap()
(command "undo" "begin")
(setq osna (getvar "OSMODE"))
(setvar "OSMODE" 512)
(setq p1 (getpoint "Seleccionar capa a no bloquear"))
(setq sel (ssget p1))
(setq nsel (ssname sel 0))
(setq lent (entget nsel))
(setq cap (cdr (assoc '8 lent)))
(command "-layer" "lo" "*" "u" cap "")
(setvar "OSMODE" osna)
(command "undo" "end")
)
La aplicación en cuestión, funcionaba de tal manera que al seleccionar un objeto de una capa cualquirera, automáticamente bloqueaba el resto de capas, lo que optimizaba mucho el rendimiento de trabajo.
Además recuerdo que había otra que realizaba el proceso inverso, esto es, desbloqueaba todas las capas bloqueadas con una sola órden.
Un saludo y gracias
Prueba con estos pequeños cambios.
Código: Seleccionar todo
;; Desbloquea todas las capas excepto la seleccionada
(defun c:blcap (/ osna sset cap)
(vl-load-com)
(vl-cmdf "_undo" "_begin")
(setq osna (getvar "OSMODE"))
(setvar "OSMODE" 512)
(setq sset (entget (car (entsel "\nSeleccione la capa a no bloquear"))))
(setq cap (cdr (assoc 8 sset)))
(vl-cmdf "_-layer" "_lock" "*" "_unlock" cap "")
(setvar "OSMODE" osna)
(vl-cmdf "_undo" "_end")
) ;_end defun blcap
;; ////////////////////////////////////////////////////////
;; Desbloquea todas las capas
(defun c:ublcap (/ osna)
(vl-load-com)
(vl-cmdf "_undo" "_begin")
(setq osna (getvar "OSMODE"))
(setvar "OSMODE" 512)
(vl-cmdf "_-layer" "_unlock" "*" "")
(setvar "OSMODE" osna)
(vl-cmdf "_undo" "_end")
) ;_end defun blcap
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 15 invitados