AutoCad - Lisp elementos dentro de poligonos

 
Vista:

Lisp elementos dentro de poligonos

Publicado por nelsonavirama (2 intervenciones) el 03/10/2009 00:59:06
Estoy trabajando un lisp pero me he encontrado con un detalle que no manejo muy bien. Tal vez alguien ya lo tiene y me lo podria facilitar.

Lo que necesito conseguir es que de una cantidad de areas definidas por poligonos creados con polilineas me saque algunos datos de cada poligono y de los elementos que hay dentro de cada poligono.

Hasta el momento el lisp que tengo me coloca dentro de cada poligono el area y el perimetro, ahsta ahi muy bien... pero ademas dentro de cada poligono voy a colocar unos elementos que pueden ser bloques o simplemente elementos dentro de un layer "x". Entonces lo que necesito es que el me identifique cuantos elementos hay dentro de ese poligono.

Si me dan el lisp que lo que haga es la revision de los elementos de tan solo un poligono, yo hare el resto.

Ejemplo: Tengo 3 poligonos, dentro de cada poligono tengo diferente cantidad de dos tipos de bloques (bloque1 y bloque2).
El me deberia de dar los siguientes datos dentro de cada poligono:

1. Area de poligono (ya tengo este paso)
2. Perimetro de poligono (ya tengo este paso)

3. cant. bloque1 = x1 <---- este paso me falta.
cant. bloque2 = 2x

... asi sucesivamente con cada bloque.

Agradezco me ayuden con el lisp o me indiquen que tema debo ver.

Cordial saludo.

Nelson Avirama
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

RE:Lisp elementos dentro de poligonos

Publicado por Marlon Barrios (11 intervenciones) el 06/11/2009 19:28:42
hola
tal vez pudieras utilizar el comando SSGET y le das la opcion WP (windowpolygon), y deberas pasarle las coordenadas de cada nodo de la polilinea, al tener el grupo de objetos seleccionados deberás filtrar por NombreBloque (pienso)

(setq ss1 (ssget "WP" (list pt1 pt2 pt3)))

creas un ciclo que recorra todos los objetos dentro de ss1 y chequeas que cumpla con la condicion del nombre del bloque y agregas a una variable el conteo

o los agregas aun nuevo set y cuentas cuantos elementos hay en cada set

(setq count1 (sslength sset))

por ahi va el asunto ....creo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar