rutina Lisp cambio plano diedrico

Temas relacionados con el diseño asistido por ordenador (o computador) CAD (o DAO)
Reglas del Foro
- INDICAR SI LA PREGUNTA ES PARA 2D O 3D

- Escribir los enunciados completos, incluir una imagen y lo que tienes hecho hasta ahora.

Imagen El usuario que no conteste o no dé las gracias después de responderle será expulsado
Avatar de Usuario
Celedonio
MODERADOR++
MODERADOR++
Mensajes: 1725
Registrado: Lun, 10 Sep 2012, 17:24

rutina Lisp cambio plano diedrico

Mensaje sin leer por Celedonio » Sab, 08 Mar 2014, 11:30

Alguien sabe cómo o donde puedo encontrar una rutina en Lisp u otro lenguaje, que efectúe automáticamente, o con el menor numero de pulsaciones, el cambio de plano de un punto dado en el sistema Diédrico ( en Autocad).
CambioPlano.png
CambioPlano.png (21.13 KiB) Visto 1212 veces
Saludos y gracias

videos de dibujo tecnico trazoide
dibujo mecanico e industrial trazoide


Avatar de Usuario
Antonio Castilla
USUARIO
USUARIO
Mensajes: 4239
Registrado: Mar, 03 Jun 2008, 18:12

Mensaje sin leer por Antonio Castilla » Lun, 10 Mar 2014, 13:29

.
No conozco si existe esa rutina, pero te explico en un vídeo como lo hago yo.

Primero perdonar por la malísima calidad del vídeo. El sonido sale metálico, no sé manejar el programa de edición de vídeo, las imágenes se van fuera y no se ven, etc. Pero bueno para no perder más tiempo ahí está. Más adelante me pondré más en serio para hacer algo más decente.

El método que utilizo es cambiar los ejes X-Y (el SCP) y colocarlo sobre las líneas que quiero cambiar para poder utilizar la opción orto.

http://www.youtube.com/watch?v=E1Rr_x4MG5Y

Avatar de Usuario
Celedonio
MODERADOR++
MODERADOR++
Mensajes: 1725
Registrado: Lun, 10 Sep 2012, 17:24

Mensaje sin leer por Celedonio » Lun, 17 Mar 2014, 11:11

Ya he conseguido la rutina. :muy_bueno:

1º se marca la LT antigua
2º se marca la nueva línea de tierra
3º se marca la ppcion del punto que quiero cambiar

Y automáticamente la rutina hace el cambio del punto

La rutina es esta:

(defun c:cambioLT ( / S R A B R1 R2 X C)
(setq S (car (entsel "Seleccione LT vieja:"))
R (car (entsel "Seleccione LT nueva:"))
A (getpoint "Seleccione ppcion cambiante:")
B (getpoint "Seleccione ppcion invariable:")
R1 (cdr (assoc 10 (entget R)))
R2 (cdr (assoc 11 (entget R)))
X (inters R1 R2 B (polar B (+ (angle R1 R2) (/ pi 2.0)) 1) nil)
C (polar B (angle B X) (+ (distance B X) (distance A (inters (cdr (assoc 10 (entget S))) (cdr (assoc 11 (entget S))) A B))))
)
(entmake (list '(0 . "LINE")(cons 10 B)(cons 11 X)))
(entmake (list '(0 . "LINE")(cons 10 X)(cons 11 C)))
)

Saludos

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados