AutoCad - Personalización con AutoSlip

 
Vista:

Personalización con AutoSlip

Publicado por Diego (6 intervenciones) el 11/01/2006 13:05:10
Saludos a todos.

lo que quiero hacer no se si es posible hacerlo por programacion o configuracion del autocad..

les explico , lo que quiero tener es un boton configurado que me realice un tipo de "dimension" o "cota" de un punto que yo marque, la cota tiene que contener arriba la coordenada en Y y abajo la coordenada en X, y que funcione igual que las cotas o dimensiones que trae el autocad que uno las coloca donde quiera, en si la cota estaria conformada por dos líneas de textos sin flechas ni nada, sólo el puro texto



me gustaría saber si esto puedo lograrlo por el autolisp y si me pueden encaminar en algo les agradeceria mucho !
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

RE:Personalización con AutoSlip

Publicado por APOLLO (33 intervenciones) el 11/01/2006 15:18:54
tal vez si probas algo asi

(defun c:cota ()
(setq punto (getpoint "introducir el punto: "))
(setq puntox (car punto))
(setq puntoy (car (cdr punto)))
(command "_text" "mc" punto "2.5" "0" puntoy "")
(command "_text" "mc" (list puntox (- puntoy 4)) "2.5" "0" puntox "")
)

si es lo que buscas, decime que lo escribimos un poco mas vistoso.
Saludos y mucha suerte
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

GRACIASS

Publicado por Diego (6 intervenciones) el 11/01/2006 16:12:05
Oye gracias por tu ayuda, vi el código y si es algo como lo que busco, para serte sincero yo conozco de programacion pero es primera vez q me mto con el autoslip, estoy tratando de arreglar el codigo porque no me funciona bien, porque al momento que me va a poner el texto cuando ejecuta el comando text se pone un "0" y se queda pegado depues le doy a cualquier tecla y ahi es que me coloca la coordenada pero ya sin el comando de texto activo y me da error de comando logicamente
GRACIS POR TU AYUDA
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

Otros...

Publicado por Diego (6 intervenciones) el 11/01/2006 16:44:37
Disculpa la molestia, ya logre q me funcionara el codigo le coloque en el angulo 0.0 en vex de 0... ahora lo que quiero es ver si hay la posibilidad de yo colocar el texto osea colocar mi punto de insersión y lo otro ver si se puede sumar un datum a la coordenada en Y, me explico con un ejemplo si la coordenada es 251.5, el texto deberi ser 625.15, ese se obtiene dividiendo en 10 la coordenada y luego sumandole 600

GRACIAS POR SU COLABORACION, me ahorrare mucho trabajo con su ayuda 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

RE:Otros...

Publicado por APOLLO (33 intervenciones) el 11/01/2006 18:13:37
Lo de la suma lo entiendo, y es facil de hacer.
Lo que no entendi (y si podes, explicame mejor) es eso de que vos queres colocar el texto.
Me lo podrias explicar mejor???
Queres escribir algo que no sean las coordenadas???
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

RE:Otros...

Publicado por Diego (6 intervenciones) el 11/01/2006 18:35:09
Apollo Listo ya lo tengo , solo tengo un pequeño inconveniente, cuando son numeros enteros exactos no me coloca decimales, yo necesito que si los coloque por ejemplo si es 9, que sea 9.00 (2 decimales), he probao con la funcio rtos y no me sirve.. este es mi código

(defun c:cota ()
(setq punto (getpoint "introducir el punto: "))
(setq puntox (car punto))
(setq puntoy (car (cdr punto)))
(setq fy (/ puntoy 10))
(setq finy (+ fy 600))
(setq impx (rtos puntox 2 2))
(setq impy (rtos finy 2 2))
(command "_text" "mc" punto "0" impy "")
(command "_text" "mc" (list puntox (- puntoy 1.4)) "0" impx "")
)

según la ayuda de autocad el rtos 2 2 me retorna los dos decimales, si es 17.5 retornaria 17.50, pero no lo hace...

con lo que no entendiste, era sobre colocar yo mismo manualmente el punto de insercion de ambos textos ( q no sea necesariamente midpoint o otra referencia) pero despues de haber entendido el código me di cuenta que tendria que colocarlo 2 veces el punto de insercion y es mas trabajo, pero igual si sabes como hacerlo te lo agradeceria..
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

RE:Personalización con AutoSlip

Publicado por Diego (6 intervenciones) el 12/01/2006 17:19:04
Saludos Apollo,

le hecho unas modificaciones al codigo y me ha quedado asi, la logre hacer qu coloque solo 2 decimales, pero me he dado cuenta que cuando estoy acotando el txto de abajo ( la coordenada en X) me coloca mal aveces, aveces cuando tengo el zoom alejado el punto medio de la cota inferior la coloca en el grip inerior izquierdo de la cota de arriba, es algo dificil desribirlo, pero tambien cuando realizo una cota a un endpoint, a veces me coloca la cota inferior muy abajo.
cuando ejecuto el comando con el zoom bien acercao si funciona bien!! pero falla cuando hago en algunos endpoints y cuando tengo el zoom aljado.

(defun c:cc ()
(Setvar "dimzin" 1)
(setq test 1)
(while (<= text 10)
(setq punto (getpoint "introducir el punto: "))
(setq puntox (car punto))
(setq puntoy (car (cdr punto)))
(setq fy (/ puntoy 10))
(setq finy (+ fy 600))
(setq impx (rtos puntox 2 2))
(setq impy (rtos finy 2 2))
(command "_text" "tc" (list puntox (- puntoy 0.6)) "0" impy)
(command "_text" "tc" (list puntox (- puntoy 2)) "0" impx)
)
)
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

RE:Personalización con AutoSlip

Publicado por Andres (13 intervenciones) el 25/01/2006 02:28:57
Es por q esta activada la variable osnap; osea q tenes activado el osnap. Tenes q poner el valor a cero antes de ejecutar tu comando. Introduci una linea en tu codigo asi (setq os1 (getvar "osnap")) despues de definir el comando y a lo ultimo del codigo coloca (setvar "osnap" os1); esto para volver a reestablecer el valor.

Saludos

PD.- Si mientras estas ejecutando la orden la cancelas sin haber acabado se pierde el valor de esta varible.
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