Ayuda con lips similar a LAYOFF

Ir abajo

Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Jue Ago 23, 2018 3:53 am

Estimados Maestros del grupo tengo un lisp que me facilita el apagado de capas similar al comando LAYOFF del autocad. Bien; si me podrían ayudar a poder variar esta rutina. Pasa que manejo mis capas por grupos, a cada grupo de capas, le asigno un nombre como: ARQ BASE, SANIT DESAGUE O SANIT AGUA, etc, y a cada una de ellas le asigno muchas capas que pertenecen a la especialidad del dibujo. Lo que intento con la modificación del lips, es que cuando clipee sobre una linea asignada a un grupo me apaguen las capas solo de ese grupo, ojala se me haya entendido. Para mayor alcance ver los planos e imágenes adjuntos. Desde ya las gracias por la respuesta.
Saludos
Carloncho_

https://transfernow.net/ddl/demo_ayuda_layoff

p.d. como no pude cargar por aqui los adjuntos los cargue en una nube, porfavor bájenlo. Desde ya las gracias. (Y)

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carlosmgilp el Jue Ago 23, 2018 3:22 pm

Hola como estas.

Solo por curiosidad, es mucho trabajo darle click contrario al grupo y cambiar la visibilidad.
No se si sea mucho el cambio de tiempo a la hora de trabajar.
Y puede tener la posibilidad de equivocarse al seleccionar un objeto que no se encuentre en el grupo que deseas.
Solo lo digo, porque yo a veces trabajo con grupos y siempre lo hago es de la manera que te digo.

Saludos.


carlosmgilp

Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 36
Localización : Venezuela

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por saulo2016 el Jue Ago 23, 2018 10:56 pm

Porque no utilizas el comando LAYWALK...intentalo haber si te sirve
avatar
saulo2016

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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Vie Ago 24, 2018 7:48 am

Gracias por la pronta respuesta.
carlosmgilp, no conocía de esa posibilidad pero ya inicie a trabajar con ese detalle, pero sabes de todas maneras me parece que existen mas pasos porque tienes que esperar que se habrá la ventana de los layer. Pasa que en los dibujos que manejo existen muchas capas dentro de cada grupo y a veces se lentea y mas cuando se abre la ventana de layer. Seria ideal poder desarrollar algún lips que con solo convocarlo y darle clip a la vinculación se cierren todas las capas, solo que eso seria el inicio, porque con el código desarrollaría algo similar para aperturar las capas como el LAYON o congelar o poner candados, etc. Por ello insisto en la ayuda porfa.

Saulo2016: gracias por tu respuesta, tambien use es comando pero esta masa tranca PORQUE SI CORRE DE A UNA.

Desde ya las gracias por la ayuda a todos (y)

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por saulo2016 el Vie Ago 24, 2018 4:01 pm

Te siguiero compartas el codigo Lisp para poder comprender un poco mas tu necesidad y asi ayudarte con mas precision.


avatar
saulo2016

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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por saulo2016 el Vie Ago 24, 2018 4:31 pm

Creo haberte entendido....tu lo que quieres es ...no solo apagar un layer de un grupo en cuestion....si no apagar todos los layers solo de ese grupo....

Si es asi....checate esto por favor...



Si ya viste la imagen notaras que en la linea de comando tecleé -LAYER luego seleccioné la opcion OFF luego en el nombre del layer puse C* para que me seleccionara todos los layers que comiencen con la letra C, y como en el Layer Manager hice los grupos Civil Mecanico y Electrico...solo me apago todos los layers Civiles que comeinzan con la C...



Haber si esto te sirve
avatar
saulo2016

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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Sáb Ago 25, 2018 8:00 am

Excelente me parece buen método eso de añadir una letra de cuerdo a la especialidad y luego usar el comodín * para poder apagar todas las capas de ese grupo. Probare el tema, gracias por el detalle.
Solo una consulta a los maestros de grupo, existirá la forma de sacar una lista con los nombres de todas las capas existente pero por grupo?. Ojala haya una forma. Desde ya las gracias.
Saludos.

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Sáb Ago 25, 2018 8:52 am

Utilizo este lips para apagar mis capas usando solo teclado:
==================================================
(defun c:ooff (/ ens clay lay)
 (setq ens  (nentsel)
clay (getvar "clayer") ; clay (getvar "clayer")
 )
 (if ens
   (progn (setq lay (cdr (assoc 8 (entget (car ens)))))
  (if (= clay lay)
    (command "-layer" "off" "lay" "y" "")
    (command "-layer" "off" lay "")
  )
   )
 )
)
=======================================
entonces dentro de mi dibujo tendría los textos de A* en otro punto D* y G* (que serian las capas que inician con A de arquitectura, D con desague y G las capas de agua) entonces cuando yo hago clip con el mauss a los textos descritos que me apaguen las respectiva capas.
algo asi como esto:

(command "-layer" "off" "A*" "")

lo que no logro es como asignarle a la variable lay los textos de A*.

[url=https://servimg.com/view/19961417/1]

Ojala se me haya entendido. salu

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Sáb Ago 25, 2018 8:58 am



espero ayude a q se me entienda con esta imagen. Gracias por la atención, estaré a la espera de sus respuestas y ayuda.

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por saulo2016 el Lun Ago 27, 2018 7:10 pm

Para sacar en forma de texto el listado de LAYERS solo abre el Layer Manager luego seleccionas todos los layers que te interesan, le das Ctrl+C, cierras el cuadro de dialogo, y en pantalla le das Ctrl+v...y ya tienes el listado, por otra parte vamos a tratar de mejorar un poco tu codigo, pues este funciona como el Layoff exactamente....
avatar
saulo2016

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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por saulo2016 el Lun Ago 27, 2018 7:31 pm

Hice algo muy muy pero muuuuy sencillo...

Checate esto, haber si te sirve de algo, es algo hecho con layers que utilizo yo en mis proyectos...solo ajustalo a tu grupo de layers...

Código:
(defun c:ooffC (/ )

    (command "-layer" "off" "C*" "")
)

(defun c:ooffM (/ )

    (command "-layer" "off" "M*" "")
)

(defun c:ooffE (/ )

    (command "-layer" "off" "E*" "")
)

la C es para el grupo de layers Civiles, la M para lo Mecanico y la E para lo Electrico...

haber si te sirve un poco mas esto.
avatar
saulo2016

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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Lun Ago 27, 2018 8:25 pm

Que bueno Saulo, gracias por la respuesta. Siempre se aprende algo de los maestros de este grupo. Claro que me sirvió, esta genial. Era justamente como lo hice, por ello en el post anterior lo colgue de la sgte. forma:

==============================================
algo asi como esto:

(command "-layer" "off" "A*" "")

lo que no logro es como asignarle a la variable lay los textos de A*.
==============================================

lo que trato de conseguir es la forma que lo describo, es decir a prender a pasar textos de pantalla a una variable como en mi caso es la variable "lay". A ver si me puedes echar una mano de como salir de ese rrollo, así aprendemos alguito más.
Desde ya las gracias por su apollo.

Descripción del código:
Pasa que con los códigos que pasaste tengo un alias por cada grupo (ooffC, ooffM, ooffE) de acuerdo a la especialidad.
Pero con el código que intento, seria genérico, solo llamaría al comando con ooff y si hago clip a una linea, apagaría esa capa de esa entidad o en su defecto, si hago clip a un texto que dice *C (previamente esta escrito en el model *c y lo dejo en pantalla ese texto) lo reconoce el código del lisp y automáticamente apagaría todas las capas del grupo.
Solo con un nombre genérico que seria OOFF.
Ojala me haya dejado entender y me puedan dar una mano. gracias

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carlosmgilp el Mar Ago 28, 2018 4:28 pm

Hola muchachos, como estan.

Me parece interesante la idea de identificar un grupo de capas, pues no he encontrado nada al respecto.
Quedara de tarea, Jejejeje. Pero me parece buena la opciones que han dado.

carloncho_

No entiendo lo lento, en mi caso yo solo abro la ventana de capas una sola vez desde que instalo autocad, la anclo a la izquierda (como se ve en la imagen que había colocado), de ahí en adelante, solo con pasar el puntero sobre ese icono ella se abre sola.
Porque si creas treinta grupos, tendrás que aprenderte treinta teclados para poder apagarlos y encenderlos, no se, no me parece productivo. Ha menos que realmente se cree un lisp donde si identifique los grupos que es lo que quieres y sea un solo lisp y un solo comando.
Pero no veo información alguna.

Saludos.

carlosmgilp

Mensajes : 149
Fecha de inscripción : 17/03/2016
Edad : 36
Localización : Venezuela

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Miér Ago 29, 2018 3:09 am

Hola Carlos, claro que se trata de eso pasarle informacion a una variable para que apaguen los grupos esta informacion seria de un texto en el model como lo explique lineas arriba. Ojala algunos de los maestros nos oriente como pasar un texto a una variable. Ayuda por favor.
Gracias

Carloncho_

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por nolo el Sáb Sep 08, 2018 6:20 pm

Bueno, la nube caducó por las vacaciones .....
Mira a ver si esto es lo que buscas, si seleccionas un texto que tenga un apostrofe delante significa que apague las capas que empiezan por la letra detrás del apostrofe, si no que apague las capas que que empiezan por la misma letra que la entidad seleccionada

Código:
(defun c:ooff( / a g ent)
(setq a (car(entsel"\nseleccionar entidad o texto : ")))
(if (and (setq g (assoc 1 (setq ent (entget a))))(wcmatch (cdr g)"'*"))
 (setq g (substr(cdr g) 2 1 ))
 (setq g (substr(setq c(cdr (assoc 8 ent))) 1 1))
)
(command "_.layer" "_off" (strcat g "*") "")
)
Pero, para hacer lo contrario, o bien utilizas el Layer Manager o inventamos otra cosa

Un saludo

nolo

Mensajes : 177
Fecha de inscripción : 17/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Miér Sep 12, 2018 11:27 am

Estimado Nolo, era justamente lo que necesitaba Muy interesante como llegaste a pasarle los datos e insertarlo en un "setq". Genial amigo, muchísimas gracias. Con grandes maestros de este grupo sin duda se aprende día a día.
Disculpa la demora en la respuesta, llevaba días esperando y de un momento a otro me desconecte, pero ya estoy aquí, de verdad mil gracias.
Saludos.

p.d. que genial este grupo GRANDES MAESTROS (y)

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Miér Sep 12, 2018 11:57 am

Hola Nolo, una cosita mas. Hay forma de pasarle las dos primeras letras porque con tu codigo solo se pasa la primera letra después del apostrofe, es decir *a ó *c ó la que fuera que corre genial. Pero la consulta es, si se puede pasar las dos primera letras osea *ar (de arquitectura), ó *ag (de agua), ó *ai (de aire), ó *es (estructuras), etc, etc . Desde ya las gracias por la respuesta.
Saludos
Carlos

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por nolo el Miér Sep 12, 2018 6:17 pm

En la función (substr cadena posicion_inicial numero_de_caracteres_a_extraer) añade uno a los caracteres a extraer
Código:
(defun c:ooff( / a g ent)
(setq a (car(entsel"\nseleccionar entidad o texto : ")))
(if (and (setq g (assoc 1 (setq ent (entget a))))(wcmatch (cdr g)"'*"))
 (setq g (substr(cdr g) 2 2 ))
 (setq g (substr(setq c(cdr (assoc 8 ent))) 1 2))
)
(command "_.layer" "_off" (strcat g "*") "")
)

Un saludo

nolo

Mensajes : 177
Fecha de inscripción : 17/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Miér Sep 12, 2018 8:02 pm

Genial, corre de maravillas. Como una cosa tan insignificante te puede ahorrar hora de trabajo. SI hubiera likes para darte, te las daría a montones.. jaja.
Buena el cambio de 1 a 2 en substr.
Saludo Maestro.
Carlos

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

Mensaje por carloncho_ el Miér Sep 12, 2018 8:27 pm

Nolo, ya para no cansar a la tribuna, como seria actualizar el LAYISO para que chape por grupos conforme a tu codigo.
Este es el código que uso para el LAYISO :
============================
(defun c:iiso (/ ss laylst lay n i)
(setq ss (ssget)
)
(if ss
(progn
(setq n (sslength ss)
i 0
)
(repeat n
(setq lay (cdr (assoc 8 (entget (ssname ss i)))))
(if (not (member lay laylst))
(setq laylst (append laylst (list lay)))
)
(setq i (1+ i))
)
(setvar "clayer" (nth 0 laylst))
(command "-layer" "off" "*" "y")
(setq n (length laylst)
i 0
)
(repeat n
(setq lay (nth i laylst))
(command "on" lay)
(setq i (1+ i))
)
(command "")
)
)
)
===========================
Trato de llevarlo a tu código pero sin salida.
Desde ya las gracias por tu desprendimiento y ayuda.
Carlos.

carloncho_

Mensajes : 16
Fecha de inscripción : 16/04/2018

Ver perfil de usuario

Volver arriba Ir abajo

Re: Ayuda con lips similar a LAYOFF

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.