Comunidad
AutoCAD - Todos los productos - Español
Bienvenido/a al foro de los productos de la familia AutoCAD de Autodesk! Comparte tu conocimiento, haz preguntas y explora los temas populares de AutoCAD.
cancelar
Mostrando los resultados de 
Mostrar  solo  | Buscar en lugar de 
Quiere decir: 

Lisp Divide Polylinea

3 RESPUESTAS 3
Responder
Mensaje 1 de 4
gustavosanmartin
421 Vistas, 3 Respuestas

Lisp Divide Polylinea

Hola, necesito programar una rutina LISP que permita seleccionar una polilínea, obtener su angulo respecto de la horizontal y pueda ser divida en "n" partes sin que pierda su forma original. Las coordenadas "X" e "Y" se deben almacenar en una lista para luego trabajar con ellas.

 

Espero que alguien me pueda ayudar, de ante mano muchas gracias.

 

 

3 RESPUESTAS 3
Mensaje 2 de 4
calderg1000
en respuesta a: gustavosanmartin

Estimado @gustavosanmartin 

La entidad polilínea puede tener n vértices  y por tanto (n-1) lados o segmentos y cada uno de ellos puede tener un ángulo de inclinación diferente con la horizontal, a su vez también puede tratarse de una polilínea abierta o cerrada. Por otro lado la división a que te refieres es en partes iguales (DIVIDE) o dado una longitud (MEASURE) con respecto a la longitud total; inclusive la división puede darse por cada vértice de la polilínea. Supongo que las coordenadas de los puntos de división deben incluir también el punto de inicio y final. Hay que tener en cuenta alguno de estas consideraciones para poder programar un código Lisp que se ajuste a lo que requieres.

Saludos. 

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

Mensaje 3 de 4

Gracias Carlos por tu respuesta, te comento con mas detalle la idea del problema:

1. Tengo una polilínea que tiene un largo "X", un ángulo "a" respecto de la horizontal y 2 puntos (inicio y final).

2. La rutina solicita un numero de divisiones "n".

3. Luego de solicitar el número de divisiones, se obtiene una lista con las coordenadas de los puntos intermedios de la polilínea. Solo se necesita la lista de puntos.

4. Es importante que de la polilínea no sea divida y se mantengan sus puntos de inicio y final. 

5. La idea de obtener las coordenadas es porque luego con otra rutina se debe poner textos con una flecha como se muestra en la imagen de mas abajo.

 

gustavosanmartin_1-1622999038771.png

 

gustavosanmartin_0-1622998978876.png

 

Mensaje 4 de 4
calderg1000
en respuesta a: gustavosanmartin

Hola @gustavosanmartin 

Debe ser una polilinea, creo que si se tratase de una linea podrías aplicar:

(setq ang(/(* 180 (vla-get-angle (setq s(vlax-ename->vla-object(car(entsel"Seleccione <Linea>...:"))))))pi))
(alert(strcat"Angulo= "(rtos ang)))

Para obtener el Angulo en Grados Sexagesimales.


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

¿No encontraste lo que buscabas? Pregúntale a la comunidad o comparte tus conocimientos.

Publicar en los foros  

Autodesk Design & Make Report

New events in the Spanish Community