Filtro para grupo

Ver el tema anterior Ver el tema siguiente Ir abajo

Filtro para grupo

Mensaje por carlosmgilp el Sáb Jun 24, 2017 1:28 am

Hola como están.

Alguien sabe si se puede hacer o conoce algún filtro DXF de selección para grupos.

Es que no consigo directamente los código (0 . "GROUP") se que trabaja con ese, se que utiliza el código 330 y también el 102 que son de reactores.
Pero no logro armarlo.

Actualmente soluciono con funciones que están en Internet que extraen el nombre del grupo seleccionado y con eso me defendí.

Pero lo que quiero es armar el listado de código dxf para hacer la selección directamente.

De antemanos muchas gracias.

carlosmgilp

Mensajes : 96
Fecha de inscripción : 17/03/2016
Edad : 35
Localización : Venezuela

Ver perfil de usuario

Volver arriba Ir abajo

Re: Filtro para grupo

Mensaje por nolo el Vie Jul 21, 2017 6:00 pm

Carlos, los grupos no son entidades gráficas si no conjunto de entidades que alguien ha relacionado en un dibujo para trabajar con ellas como a uno mas le guste.
Se encuentran en el diccionario "acad_group" del dibujo y se pueden extraer así
Código:
(setq dibugrupos
 (dictsearch (namedobjdict) "acad_group")
)
Los nombres que se les  asignó alguien al editar el dibujo o el propio Autocad estan el código 3 y los puedes extraer con:
Código:
(setq dibunames (mapcar 'cdr (vl-remove-if '(lambda(a)(/= 3 (car a)))dibugrupos))  )
Las entidades de cada código están referenciadas con el código 340 dentro del apartado que tiene cada nombre en el diccionario.
Por ejemplo, si las quieres resaltar sería algo así
Código:
(defun ent_de_G ( name / listanames)
(setq listanames (mapcar 'cdr (vl-remove-if '(lambda(a)(/= 340 (car a)))
 (dictsearch (cdar (dictsearch (namedobjdict) "acad_group"))(strcase name))
)))
(foreach a listanames (redraw a 3))
)
Código:
(ent_de_G  "nobre_de_un_grupo")

A partir de aquí, puedes trabajar con (dictadd y (entmakex  o con los (command "._group") dependiendo de lo que quieras hacer

El código '(0 . "GROUP") se utilizaria con el entmakex para añadir un nuevo nombre al diccionario
Código:
(defun newG (name / )
(dictadd (cdar (dictsearch (namedobjdict) "acad_group")) name
 (entmakex(list '(0 . "GROUP")'(102 . "{ACAD_REACTORS")'(102 . "}")
 '(100 . "AcDbGroup")'(300 . "")'(70 . 0)'(71 . 0)))
))


Un poco tarde pero espero que esto te sirva de ayuda

Un saludo

nolo

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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Filtro para grupo

Mensaje por carlosmgilp el Sáb Jul 22, 2017 3:22 am

Tarde no, tardísimo. Jejejeje.

Nunca es tarde para aprender.
Ya el señor Togores me había sacado de algunas dudas, mas tus explicaciones, completa uno la información.
Ya guarde todo el recuento de grupos, uno nunca sabe cuando la voy a volver a necesitar.

Mil gracias y un saludo.

carlosmgilp

Mensajes : 96
Fecha de inscripción : 17/03/2016
Edad : 35
Localización : Venezuela

Ver perfil de usuario

Volver arriba Ir abajo

Re: Filtro para grupo

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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