AutoCad - AUTOLISP: deshacer vs zoom

   
Vista:
Imágen de perfil de Nicolás

AUTOLISP: deshacer vs zoom

Publicado por Nicolás (21 intervenciones) el 19/07/2016 16:47:48
Buenas programadores! estoy en un problema que según todos los foros que he visitado es imposible, pero bueno, nunca está de más seguir consultando. Más de una vez en algún autolisp que he creado he tenido la necesidad de poner algún (COMMAND "_undo" "_begin") (COMMAND "_undo" "_end"), e inclusive con marcas, sin embargo a veces es bastante molesto que también regrese los zoom y movimientos por la pantalla.

Me niego a creer que no hay manera, ya que (por ejemplo) el comando linea propio de autocad, mientras está en ejecución, cada ctrl+z deshace una linea sin moverse del lugar.

Si alguno tiene idea se lo agradezco!
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 Nicolás

AUTOLISP: deshacer vs zoom

Publicado por Nicolás (21 intervenciones) el 25/07/2016 15:51:55
Bueno, ya que ya pasó mucho sin ser respondida esta pregunta, me surge otra opción... hay alguna manera de obtener los datos de la ventana actual, es decir, los datos que aparecen en propiedades de la pestaña "VER" centrar X, centrar Y, centrar Z, altura, anchura... que por lo que veo cuando no seleccionas nada, son los datos de la ventana... y obteniendo esos datos, solo bastaría guardarlos y luego de algunos cálculos se podría usar (command "zoom" "ventana" coordenadas...) es la única opción que me queda probar a estas alturas...
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

AUTOLISP: deshacer vs zoom

Publicado por Gerardo (444 intervenciones) el 25/07/2016 18:36:33
echale un ojo a las variables viewctr y viewsize. La primera te da las coordenadas del centro de la pantalla y la segunda las dimensiones. Con ambas puedes calcular las coordenadas del area visible para hacer zoom.

El tema de deshacer el zoom y el pan es simple. Son comandos y el "undo" guarda secuencia de los comandos. (lo unico configurable que tienes es la opcion de juntar el zoom y pan en un solo undo con el comando de momento, que te sale en el control de preferencias, pestaña user preferences)

Para dar opcion de deshacer solo ciertas cosas las posibilidades son infinitas, entonces eso le queda al usuario con las opciones de "begin" y "end". Yo te preguntaria si realmente es un undo lo que quieres hacer. Si por ejemplo estoy dibujando una linea y al final quiero borrarla pero dejar el zoom en donde se parco el ultimo punto quizas en vez de hacer undo y rescatar la vista para setearla lo mas apropiado sea no hacer undo y solo borrar la linea, o al rato ni siquiera dibujar la linea y solo mostrarla aparentemente.... Si estas programando no siempre tienes que pensar los procedimientos como si fueras el usuario final porque el autolisp te da muchas mas opciones que los comandos de usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Nicolás

AUTOLISP: deshacer vs zoom

Publicado por Nicolás (21 intervenciones) el 25/07/2016 22:16:16
Tu respuesta me desbloqueo varias ideas y maneras de buscar soluciones... muchas gracias
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