AutoCad - Programa enfermo, con mareos

 
Vista:

Programa enfermo, con mareos

Publicado por VGAETE (83 intervenciones) el 15/05/2002 05:44:43
Estimados hice hice esta rutina y funciona perfectamente alguna veces y otras se marea , y me dibuja a medias, como puedo solucionarlo, en principio pense que era por el zoom pero lo probe y igual seguia con problemas.

RUTINA.
(defun dat_usuario ()
(setq ancho (getreal "\nAncho Galeria: ");;4200
alto (getreal "\nAltura Galeria: ");;4120
altover (getreal "\nAltura vertice: ");;3120
shotmu (getreal "\nShotcret o Muro: ");;100 si es cero no se dibuja
pavi (getreal "\nPavimento: ");;200 si es cero no se dibuja
pb (getpoint "\nIngrese punto de Insercion: ")
)
)

SIGUE
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

Programa enfermo, con mareos2

Publicado por VGAETE (83 intervenciones) el 15/05/2002 05:47:36
(defun pts_fig ()
(setq x (* pi (/ 90.0 180.0))
y pi
z (* pi (/ 270.0 180.0))
)
(setq
p1 (polar pb 0 ancho)
p2 (polar p1 x altover)
p3 (polar p1 x alto)
p4 (polar p3 y ancho)
p5 (polar pb x altover)
p6 (polar pb x pavi)
p7 (polar p1 x pavi)
p8 (polar p6 0 shotmu)
p9 (polar p7 y shotmu)
p10 (polar p2 y shotmu)
p11 (polar p5 0 shotmu)
p8aux (polar p8 x (/ altover 2))
p9aux (polar p9 x (/ altover 2))
pmed (polar p3 y (/ ancho 2))
pmed2 (polar pmed z shotmu)
)
(if (> shotmu 0)
(progn
(command "arc" p5 pmed p2)
(setq arcoant (entlast))
(command "offset" shotmu arcoant pmed2 "")
(command "line" p8 p11 "")
(command "line" p9 p10 "")
(command "fillet" "r" "0")
(command "fillet" pmed2 p8aux)
(command "fillet" pmed2 p9aux)
(command "erase" pmed "")
)
)

(command "pline" p5 "w" "0.0" "0.0" pb p1 p2 "arc" "s" pmed p5 "")
(if (> pavi 0)
(command "line" p6 p7 "")
)

)

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

Programa enfermo, con mareos3

Publicado por VGAETE (83 intervenciones) el 15/05/2002 05:48:54
(defun c:galeria (/ ancho alto altover shotmu pavi
pb x y z p1 p2 p3
p4 p5 p6 p7 p8 p9 p10
p11 p8aux p9aux pmed pmed2 arcoant
)
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"))
(dat_usuario)
(setvar "osmode" 0)
(pts_fig)
(setvar "osmode" osm)
(setvar "cmdecho" 1)
(princ)
)

nota: 4200 , 4120 son solo referencia
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:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 15/05/2002 15:45:29
La rutina esta buena, lo unico que debes agregar para que se dibuje son zoom, por que, por que si no AutoCAD no ve en pantalla los puntos con los cuales se hara el fillet no reconocera los puntos, el punto p8aux y p9aux no se ven cuando AutoCAD va hacer el fillet, por lo tanto debes ingresar (command "zoom" "e") en la siguiente linea:

(setq arcoant (entlast))
(command "offset" shotmu arcoant pmed2 "")
(command "line" p8 p11 "")
(command "line" p9 p10 "")
(command "zoom" "e") ;AQUI
(command "fillet" "r" "0")
(command "fillet" pmed2 p8aux)
(command "fillet" pmed2 p9aux)
(command "erase" pmed "")
)
)
(command "zoom" "e") ;AQUI
(command "pline" p5 "w" "0.0" "0.0" pb p1 p2 "arc" "s" pmed p5 "")
(command "zoom" "e") ;AQUI
(if (> pavi 0)
(command "line" p6 p7 "")
)

Un saludo de SpeedCAD... :-)
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:Programa enfermo, con mareos3

Publicado por VGAETE (83 intervenciones) el 15/05/2002 17:06:42
Sigo con problemas, hice los cambios pero al insertar la segunda o tercera galeria se empieza a marear y no termina el fillet o me me borra un arco, que puede ser tiene solucion,SpeedCAD
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

RE:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 15/05/2002 18:39:29
ahora debes agregar lo siguiente: despues de la linea siguiente (command "offset" shotmu arcoant pmed2 "") debes agregar lo siguiente
(command "erase" arcoant "") asi borra el arco que esta de mas y lo otro que debes modificar es en los defun:
Donde esta el (defun c:galeria (/ ancho alto altover shotmu pavi pb) deje solamante esas variables las otras debes ponerlas en:
(defun pts_fig (/ x y z p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
p11 p8aux p9aux pmed pmed2 arcoant)

Un saludo de SpeedCAD... :-)
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:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 15/05/2002 18:43:34
ahi otro error que te puede generar cuando haces una muy cerca de la otra no hace el fillet por que cuando le pedes que seleccione el punto el PICKBOX puede que tomo aparte del punto otras lineas y es por eso que no reconoce la entidad, prueba extrayendo el valor del PICKBOX, colocalo en 0 y al final de la rutina vualve a ingresarle el valor actual, igual como en la rutina de la helice 3d...

Un saludo de SpeedCAD... :-)
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:Programa enfermo, con mareos3

Publicado por VGAETE (1 intervención) el 15/05/2002 19:17:31
Pruebo y te aviso como anda, ahora voy a colacion, a comer una completito por ahi.....ji jiji hace ambre.
Esta flojo el foro al parecer solo yo tengo dudas.....
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

RE:Programa enfermo, con mareos3

Publicado por VGAETE (83 intervenciones) el 15/05/2002 22:36:53
Probe con los comentarios y nuevamente falla, no hay caso no quiere .... Esta revelde la rutina......
Que hago
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:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 15/05/2002 23:41:00
En que falla exactamente por que yo la pruebo en mi computador y la tira bien a no ser que el marco lo haga muy cerca de otro, que falla donde te comante del PICKBOX... cuentame en que falla y lo resolveremos LISP no puede ganar... (en este momento me estoy llendo para mi casa pero igual pone la duda por si en mi casa me meto a la pagina)...

Un de SpeedCAD... :-)
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:Programa enfermo, con mareos3

Publicado por VGAETE (83 intervenciones) el 16/05/2002 16:19:55
SpeedCAD te envio mi archivo a tu correo hotmail, para que revises si hice bien las modificaciones que indicaste.

Saludos VGAETE
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:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 16/05/2002 20:39:33
Ya amigo te mando de vuelta el archivo por tu correo con las modificaciones que no son muchas

1. Agregue un ERASE que no estaba
2. Cambie el valor de pickbox de 0 a 1
3. Agregue el acotado

Disculpa la demora lo que pasa es que fui al cine a ver SPIDER MAN
(buena pelicula)...

Un saludo de Spider Man perdon de SpeedCAD... :-)
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:Programa enfermo, con mareos3

Publicado por VGAETE (83 intervenciones) el 16/05/2002 22:08:38
Estimado Amigo SpeedCAD (Spider Man)
Te cuento que no me resulta, esta cumpliendo con el 80% de su objetivo
Objetivos:
1º solo la galeria sin muro y sin pavimento
2º la galeria y el pavimento
3º la galeria con el muro o shotcrete
4º todo

Recien probando me ocurrio lo siguiente.
La primera prueba en un dibujo en blanco se mareo y me borro el arco, despues probe solo con pavimento OK , luego con
solo la galeria OK, de ahi la galeria con muro (pensaba yo que se mariaria y borraria el arco pero..) OK, y por ultimo volvi a
probar con todo y OK.

A que se debera....
La rutina que me enviaste repite dos Erase por que ?
Por el acotado gracias, no debias molestarte solo queria que vieras lo que estaba tratando de hacer.
Me estoy volviendo loco, recien cerre autocad, abri un dibujo nuevo, probe la rutina y corrio bien, por que esta asi?

Eres de Santiago, la pelicula se compara a Batman, Gladiador o Corazaon Valiente.
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:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 16/05/2002 22:22:47
mmmm........ Te cuento que la rutina a mi me corre bien puede ser que tengas los OSNAP activados con lo que te tome END POINT u otro y esto te desarme la rutina, pero en general no se por que a ti no te corre, yo la rebice y en lo que puede tirar error es en el fillet pero solo si haces una galeria encima de la otra, lo otro dime en que momento hace dos ERASE para rebisarlo...

Con respecto a la pelicula si no la haz visto te recomiendo que la veas, Soy de Santiago CHILE...

Un saludo de SpeedCAD... :-)
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:Programa enfermo, con mareos3

Publicado por VGAETE (83 intervenciones) el 16/05/2002 22:59:09
Comentario,
LOS ERASE

(if (> shotmu 0)
(progn
(command "arc" p5 pmed p2)
(setq arcoant (entlast))
(command "offset" shotmu arcoant pmed2 "")
(command "erase" arcoant "");;;;; AQUI
(command "line" p8 p11 "")
(command "line" p9 p10 "")
(command "zoom" "e")
(command "fillet" "r" "0")
(command "fillet" pmed2 p8aux)
(command "fillet" pmed2 p9aux)
(command "erase" pmed "");;; AQUI
)
)

LOS OSNAP

¿no se desactivan con el osmode 0?

FILLET
el minimo entre galerias sera 100 mm o 0.1 mts generalmente
el problema que me da es solo con el segundo arco que lo esta borrando o me genera un fillet raro

Prueba lo siguiente: en un dibujo nuebo y en uno que tenga varios dibujos a escalas mayores a las de la galeria

Dimensiones a probar : 5000,5000,2500,100,200/4200,4120,3000,100,200,/4200,4120,3000,0,0 y otros

Tambien soy de Santiago Estoy ubicado entre Lyon y Pedro de Valdivia
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

RE:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 17/05/2002 16:45:24
Ya amigo ahora si me resulta sin errores

LOS ERASE

Borrale el ultimo esta demas :-)
(command "erase" pmed "") Borralo

LOS OSNAP

No me di cuanta esta ok :-)

LO NUEVO (ciclo if)

(if (> shotmu 0)
(progn
(command "arc" p5 pmed p2)
(setq arcoant (entlast))
(command "offset" shotmu arcoant pmed2 "")
(setq arcoant0 (entlast))
(command "erase" arcoant "")
(command "line" p8 p11 "")
(command "line" p9 p10 "")
(command "zoom" "e")
(command "fillet" "r" "0")
(if (= ancho alto) () (command "fillet" pmed2 p8aux))
(if (= ancho alto) () (command "fillet" pmed2 p9aux))
)
)

Lo probe con todos los valores que me diste y resulto sin problemas...

Estoy ubicado en el paseo ahumada trabajo en el ministerio de Obras Publicas de Dibujante Proyectista (Puentes)...

Un saludo de SpeedCAD... :-)
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:Programa enfermo, con mareos3

Publicado por VGAETE (83 intervenciones) el 17/05/2002 18:07:12
Estimado estafuncionando bien. pero explicame los IF , si hago una galeria de 5000x4000 no me haria el fillet esa es la idea

Podriamos programar una visita a los cafecitos del Paseo Ahumada, yo tambien soy Proyectista (Mecanico) pero actualmente estoy en la parte civil.
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:Programa enfermo, con mareos3

Publicado por SpeedCAD (367 intervenciones) el 17/05/2002 21:02:14
Amigo VGAETE los IF son para que no te haga el fillet cuando la altura y el ancho sean iguales por que arrojaba errores algunas veces, pero he metido otros datos y derrepente comete errores en los fillet yo te recomiendo que busques los erros frecuentes con los datos que ingresas y hagas ciclos IF por ejemplo:
Si el ancho es mayor que... ejecuta el comando fillet
Si el alto/2 es menor que.... no ejecuta el comando fillet
Nota : esto son solo ejemplos, debes verificar cuando falla...

Con respecto a la visita de los cafes :-(
no puedo estoy casado...

Un saludo de SpeedCAD... :-)
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