AutoCad - Rutina en Lisp que reste varias Regiones, de otra Región

 
Vista:
sin imagen de perfil
Val: 13
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Rutina en Lisp que reste varias Regiones, de otra Región

Publicado por Antonio (15 intervenciones) el 05/12/2021 17:16:21
Buenas Tardes a todo el mundo:

Estoy escribiendo un pequeño programa en Lisp para cálculos en piezas de hormigón.

Adjunto un parte del comienzo de mi programa:

En este parte pide seleccionar una polilinea, que será posteriormente convertida a región, luego pide un hueco a sustraer... y solo he conseguido que me reste un hueco...

Mis conocimientos son limitados en programación y me gustaría que a partir de la pregunta de seleccionar el hueco a sustraer, la rutina hiciese un bucle o algo similar... (Con listas de elementos seleccionados o como se pueda hacer)... para que me reste de una vez todos los huecos que existan dentro de la primera polilinea seleccionada...

Adjunto una parte de la rutina que he podido escribir....

Adjunto también un archivo DWG, donde va un ejemplo de lo que trabajo. La primera polilinea que pide la rutina, seria la polilinea más exterior y los huecos a restar, las tres polilineas que están en su interior (pero puede ser desde un hueco o polilinea, hasta infinitos)...

Si alguien puede ayudarme... eternamente agradecido.

Gracias a todos y un saludo.
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

Rutina en Lisp que reste varias Regiones, de otra Región

Publicado por Gerardo (986 intervenciones) el 15/12/2021 06:20:52
Hola
Creo que casi lo tienes

Mira la imágen adjunta
while1

La primera expresión del while es la que evalúa si se continúa el bucle. En tu caso sería el (setq hueco_quitar... por lo que mientras el usuario siga seleccionando objetos estos se restarán de la región externa, y cuando ya presione intro o pique sin seleccionar nada se saldrá del bucle.

(podrías completar la solicitud del entsel con "\nSeleccione el hueco a sustraer o intro para termnar:")



Otra cosa, revisa las líneas de los (command "copy"...

(command "_copy" Hueco_Quitar "" '(0 0 0) "" '(0 0 0))

En esa sentencia el "" que está después del primer '(0 0 0) cancela la copia porque es cuando el programa está esperando el punto de destino y le lanzas un intro. Mas bien creo que sería así:

(command "_copy" Hueco_Quitar "" '(0 0 0) '(0 0 0) "")
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
Imágen de perfil de Felipe

Rutina en Lisp que reste varias Regiones, de otra Región

Publicado por Felipe (5 intervenciones) el 31/05/2022 03:16:22
Como vas con ese programa.
__________________________________________________
Soy arquitecto en departamentos en Querétaro
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
sin imagen de perfil
Val: 13
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Rutina en Lisp que reste varias Regiones, de otra Región

Publicado por Antonio (15 intervenciones) el 31/05/2022 21:43:18
Hola Felipe...

Con ese programa voy muy bien.

La ayuda de Gerardo que es un crack, me vino muy bien...

Con el bucle del While... es una manera de hacerlo... Pero realmente me gustaria un programa que seleccionando las regiones, las metiese en una lista y las restase todas juntas.. pero no se hacerlo... no tengo tantos conocimientos.

Un saludo.
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