acad hispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

3 participantes

Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por stg Miér Abr 12, 2017 12:39 pm

Hola Compañeros, utilizo de forma muy frecuente la orden layon y me preguntava si alguien tiene una rutina para desactivar todas las capas menos la capa "0" y dejarla como capa actual.

Gracias!

stg

Mensajes : 6
Fecha de inscripción : 12/04/2017

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por saulo2016 Miér Abr 12, 2017 2:59 pm

Osea necesitas que se apaguen todos los layers menos el 0???....entendi bien??
saulo2016
saulo2016

Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por saulo2016 Miér Abr 12, 2017 3:42 pm

Haber si te sirve esto??
solo debes posicionar el layer 0 en el Satus actual



Código:
(defun C:LON ()
     (prompt "\n Turning all layers on...")
     (command "-LAYER" "ON" "*" "")
     (prompt "    DONE")
     (princ)
    )
    (defun C:LOFF ()
     (prompt "\n Turning all layers off...")
     (command "-LAYER" "OFF" "*" "" "")
     (prompt "    DONE")
     (princ)
    )


saludos
saulo2016
saulo2016

Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por stg Miér Abr 12, 2017 4:48 pm

Primero de todo agradecerte el esfuerzo @saulo2016

He probado el lisp y no me funciona....no soy un experto en el tema peró imagino que en la opción "*" tendria que indicar "0", aun asi tampoco me ha funcionado, he modificado tambien el comando -layer por _layer,.....mejor te pego el codigo


(defun C:LON ()
    (prompt "\n Turning all layers on...")
    (command "_LAYER" "ON" "0" "")
    (prompt "    DONE")
    (princ)
   )
   (defun C:LOFF ()
    (prompt "\n Turning all layers off...")
    (command "_LAYER" "OFF" "0" "" "")
    (prompt "    DONE")
    (princ)
   )

stg

Mensajes : 6
Fecha de inscripción : 12/04/2017

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por saulo2016 Miér Abr 12, 2017 5:06 pm

Bueno mira....te voy a pedir 2 favores....

1.- saca una foto del dialogo de error y pegalo para ver la falla.

2.- Necesito tener mas claro lo que pides....¿quieres que se apaguen todos los layers y solo quede encendido el 0?.....o ¿quieres que se enciendan todos menos el 0??

perdoname pero no me queda claro.



saulo2016
saulo2016

Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por stg Miér Abr 12, 2017 5:22 pm

Hola de nuevo

La idea es poder desactivar (apagar) todas las capas y establecer la capa "0" como actual y activada.
La opción activar todas la capas con el comando layeron ya me vale.

Te cuento porque me planteo esto....tengo un dibujo de un edificio de distintas plantas y contiene muchas capas (por planta) y tambien dispone de filtros de capa para poder gestionar todo el dibujo.
Para poder realizar modificaciones en distintas plantas tengo que activar y descativar capas con la ayuda de los filtros (que van de fabula) pero es un poco laborioso tener que ir saltando de filtro en filtro....etc...etc...

En conclusión.... al igual que el comando layeron te lo activa todo, me interesaria realizar la misma operación però en sentido contrario y estableciendo la capa "0" como actual y activada.

thanks

stg

Mensajes : 6
Fecha de inscripción : 12/04/2017

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por saulo2016 Miér Abr 12, 2017 6:13 pm

Ok listo ya te entendi

Mira pues yo utilizo un comando muy comun en AutoCAD y se llama LAYWALK, en este solo vas a seleccionar el layer que necesitas establecer en el status actual y que el resto este deactivados, cuida que la casilla RESTORE ON EXIT este desactivada y listo....se apagan todos los layers menos el que seleccionaste...

Dime si esto te funciona bien y si no pues vamos a trabajar en algo programado desde un lisp


saulo2016
saulo2016

Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por saulo2016 Miér Abr 12, 2017 6:15 pm

Perdon me falto explicarte que cuando le des LAYWALK vas a ver todo el listado de layers, solamente dale doble click al layer 0 y cierras y ya....
saulo2016
saulo2016

Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por amc.dicsac Miér Abr 12, 2017 8:41 pm

Hola "stg" te envío un lisp espero sea lo que necesitas.

Código:
(defun c:lym ()
  (setvar "cmdecho" 0)
  (if (not *layval*) (setq *layval* "Apagar"))
  (initget "Apagar Encender")
  (setq   *layval* (cond ((getkword (strcat "\nDeseas [A]pagar o [E]ncender los layers < " *layval* " >: " ))) (*layval*)))
  (cond
    ((= *layval* "Apagar")
    (setvar "clayer" "0")
    (vl-cmdf "-LAYER" "OFF" "*" "" "")
    (princ "\nCapa Actual= 0 , Capa Apagada= Todas")
    )

    ((= *layval* "Encender")
    (setvar "clayer" "0")
    (vl-cmdf "-LAYER" "ON" "*" "" "")
    (princ "\nCapa Actual= 0 , Capa Encendida= Todas")
    )
  )
  (setvar "cmdecho" 1)
  (princ)
)

Saludos.
amc.dicsac
amc.dicsac

Mensajes : 83
Fecha de inscripción : 17/03/2016
Edad : 33
Localización : Lima - Perú

http://axprogramlisp.blogspot.pe/

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por stg Jue Abr 13, 2017 10:21 am

Desconocía el comando LAYWALK, es justo lo que necesito.

Lo he probado en un dibujo donde tengo muchas capas y filtros de capa pero no me permite seleccionar los filtros aunque en el DCL del comando aparece una casilla donde indica filtro y esta inactiva.

Sabéis porque?

La verdad es que poder trabajar con este comando o similar donde te permite activar y/o desactivar los filtros de capa es un puntazo, si sabéis como solucionarlo o tenéis alguna alternativa seria GENIAL,

Gracias Craks!!!!

stg

Mensajes : 6
Fecha de inscripción : 12/04/2017

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por saulo2016 Lun Abr 17, 2017 10:10 pm

Ahora bien... si quieres que se apaguen algunos y queden otros encendidos, en el mismo LAYWALK + Ctrl seleccionas solo los que te interesa dejar visibles, luego cuando ya necesites encender todos los layers nuevamente utilizas el LAYWALK y en la parte superior en el campo vacio teclea * y le das enter y asi te vuelve a encender todos los alyers o si bien lo que quieres es filtrar con la primera letra solo teclea en ese mismo campo la primera letra + * y listo o tambien si necesitas que sean todos los layers que tengan en su nombre una palabra especifica teclea en ese campo la palabra que se repita en varios layers + * y solo esos te va a flitrar...

Creo que eso es lo que tu quieres saber....

ahi nos cuentas como te fué.

saulo2016
saulo2016

Mensajes : 210
Fecha de inscripción : 17/03/2016
Edad : 58
Localización : Monterrey, Nuevo León, Mexico

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por stg Mar Abr 18, 2017 4:11 pm

Milgracias Saulo2016! Tras tus indicaciones ya me sirve el comando.

Sugerencia para los cracks en programación....poder saltar de un filtro de capa a otro "filterwalk"

Un Saludo!

stg

Mensajes : 6
Fecha de inscripción : 12/04/2017

Volver arriba Ir abajo

LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL Empty Re: LISP: DESACTIVAR TODAS LAS CAPAS MENOS LA CAPA "0" Y DEJARLA COMO ACTUAL

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.