AutoCad - Contar bloques por contorno

 
Vista:

Contar bloques por contorno

Publicado por Edgardo Zapata (1 intervención) el 03/03/2021 22:18:16
Hola, buenas tardes...
Como puedo contar la cantidad de bloques u objetos que se encuentren en dentro de un contorno de autocad... un ejemplo sencillo: Dentro de varios rectángulos hay cientos de objetos en varias capas y necesito contar ciertos objetos dentro de cada rectángulo según lo requiera.

Existe algún comando o APP que me pueda ayudar a resolver este tema.

Muchas gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.285
Oro
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Contar bloques por contorno

Publicado por Gerardo (986 intervenciones) el 04/03/2021 07:17:17
La forma de contar es simplemente seleccionandolos y mirando el filtro de la paleta de propiedades. Ahí se te indica cuantos objetos hay de cada tipo.

Si quieres facilitarte la selección, copia y pega esta sentencia en la linea de comandos, das intro y selecciona el polígono que bordea los objetos y se seleccionarán automáticamente todos los que estén dentro del mismo:
1
(command"_select"(ssget"_WP"(mapcar'cdr(vl-remove-if'(lambda(A)(/=(car A)10))(entget(car(entsel))))))"")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 1.285
Oro
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Contar bloques por contorno

Publicado por Gerardo (986 intervenciones) el 04/03/2021 17:11:48
P.D.
Si te funciona el método de seleccion, lógicamente puedes ponerlo en un defun de un archivo lsp y autocargarlo para que te quede como un simple comando y no haya que estar copiando y pegando la sentencia.

Esto sería abrir el block de notas, pegar esto en un archivo de texto plano:

1
2
3
(defun c:sss nil
  (command"_select"(ssget"_WP"(mapcar'cdr(vl-remove-if'(lambda(A)(/=(car A)10))(entget(car(entsel))))))"")
)

guardas el archivo con extensión .LSP y lo cargas como cualquier lisp (lo arrastras al icono de maletin que sale en el dialogo del comando _appload para que funcione en cada nueva sesion de dibujo)

En este caso SSS despues de los 2 puntos sería el nombre del nuevo comando, ahi puedes escribir lo que quieras que sera la forma de invocarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar