AutoCad - Autolisp Principiante

 
Vista:
Imágen de perfil de Pablo

Autolisp Principiante

Publicado por Pablo (11 intervenciones) el 20/05/2018 06:14:43
Hola estoy iniciandome en la programación de autolisp. No tengo experiencia alguna en programación pero ya logre hacer algo muy chiquito.
Lo que quería automatizar es el desplazamiento que suelo hacer de plantas en cad de un punto que elijo yo, a las coordenadas 0;0 de x y .
Logré activar el comando move y que seleccione toda la planta del archivo, luego con getpoint, elegir el punto que deseo. Pero lo que no logro es decirle que lo envie al 0;0.
1
2
3
4
5
(defun C:desplazarcad ()
 
  (command "move" "all" "" "GETPOINT" )
 
)

Ya intenté varias cosas por ejemplo: luego de "GETPOINT" puse "Second point" 0;0 y otras varientes que no me han funcionado.

Si alguien me ayuda se lo agradezco mucho.
Sigo probando y aprendiendo.
Saludos cordiales
Pablo.




Consulta, para mas adelante: ¿se puede automatizar un wblock que te ponga el dibujo en un archivo nuevo con el punto de inserción (del wblock) como 0,0 del del dibujo seleccionado? gracias.
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

Autolisp Principiante

Publicado por Gerardo (986 intervenciones) el 22/05/2018 11:34:07
cuando usas command debes ponerlo exactamente igual a como lo haces como usuario, como vas indicando las cosas en linea de comandos.

Para comenzar como usuario el comando move no te da ninguna opcion que diga getpoint. Lo que pide es que piques un punto. Aqui podrias echar mano de la funcion getpoint de autolisp, pero como funcion de autolisp debe ir entre parentesis. La funcion command te acepta la plabra pause para hacer una pausa pasandole el control al usuario para que seleccione el punto. Por ahora esto es mejor que getpoint

Revisa tambien la configuracion de la variable DYNPICOORDS, para asegurarte cuando debes usar @ o # antes de las coordenadas del punto, sino podrias pensar que no se mueve y en realidad solo lo estas moviendo al mismo punto.


bueno, para empezar prueba asi

(command "move" "all" "" pause "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 Pablo

Autolisp Principiante

Publicado por Pablo (11 intervenciones) el 24/05/2018 02:01:06
Muchas gracias Gerardo, voy a usar todo lo que me decís, o por lo menos intentarlo
Saludos
Pablo
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 Pablo

Autolisp Principiante

Publicado por Pablo (11 intervenciones) el 25/05/2018 04:56:49
1
(command "move" "all" "" pause "0,0,0”)
Me da error de sintaxis.
probé de todo y no logro superar el getpoint. a partir de ahí debería moverse al 0,0,0
pffffff
Copié exactamente lo que pide el comando

1
2
3
4
5
(defun C:dcad ()
 
  (command "move" "all" ""  (GETPOINT) "Specify second point or <use first point as displacement" (@0,0,0))
 
)

No hace nada. Bue... seguiré navegando por internet para buscar alguna solución.
Saludos.
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: 1.285
Oro
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Autolisp Principiante

Publicado por Gerardo (986 intervenciones) el 25/05/2018 07:33:41
no es lo que pide el comando sino lo que tu respondes al comando

yo te di una solucion posible en mi respuesta, no probaste con esa?
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