AutoCad - ayuda con lisp para corte de perfilería

 
Vista:
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

ayuda con lisp para corte de perfilería

Publicado por Juanma (140 intervenciones) el 10/02/2023 22:31:14
Buenas,

Estoy tratando de mejorar una lisp que estoy programando, pero no funciona como quiero, y creo que me estoy liando.

La intención es calcular el corte aproximadamente optimo para gastar el mínimo de perfiles.

Adjunto las 3 versiones que llevo hechas, junto con un dwg de muestra, donde se ve como funcionan.

trame: (primera aproximación, hace lo que debe)

ordena de mayor a menor las rectas seleccionadas, y las coloca en ese orden en tramos que sean igual o menores que la longitud de barra seleccionada. no optimiza nada, pero facilita la tarea, ya que al menos ordena, y te muestra donde tienes mas desperdicio, y con un simple desplazamiento vas ajustando a mano.

trame2: (segunda aproximación, hace lo que debe)

Parecida a la anterior, pero cuando la siguiente línea no cabe, busca una (y sólo una) en la lista que si quepa, y la coloca, antes de irse a la siguiente barra. esto tan simple, optimiza mucho el corte, como se ve en el dwg.

trameb: (segunda aproximación, funciona, pero no como debería)

Esta debería hacer lo siguiente; ordenar de mayor a menor, y comenzar a colocar de mayor a menor, pero cuando la siguiente línea ya no cabe, debería buscar la siguiente que quepa, y luego la siguiente, y así hasta que ya no halla ninguna línea en la lista que quepa en el espacio sobrante. ya después de eso, comenzaría la siguiente barra.

Pero aunque funciona a medias, claramente no hace eso.
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
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

ayuda con lisp para corte de perfilería

Publicado por Juanma (140 intervenciones) el 11/02/2023 00:10:20
Pues por fin parece que hace lo que debería, tenia un pequeño error en las condiciones del segundo while.
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 Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

ayuda con lisp para corte de perfilería

Publicado por Juanma (140 intervenciones) el 23/02/2023 00:24:42
pues resulta que no, no siempre hace lo que debe:

en ocasiones duplica líneas, por lo que la medición resulta errónea. subo la aplicación y un archivo de muestra donde se ve lo que hace, a ver si podéis ayudarme a corregirlo,
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