acad hispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Texto de Coordenada

2 participantes

Ir abajo

Texto de Coordenada Empty Texto de Coordenada

Mensaje por Luis Alberto Benitez Mar Feb 15, 2022 4:30 pm

Estimados foristas expongo un lisp a los efectos de corregir ya que se produce
un error al aplicar la cantidad de decimales.
"ERROR: tipo de argumento erróneo: fixnump: 2.0."

Código:

;;;De las Adaptaciones de VGAETE (FENIXCAD)
(defun c:coor ()
(command "orto""des")
(command "osmode""0")
(command "osmode""8")
(PRINC "\nColocar Valor del Tamaño de Flecha:  ")
(setq cmdact0 (getvar "cmdactive"))
(if (not tf0) (setq tf0 0))
(if (setq tf (getreal (strcat "\nColocar Valor del Tamaño de Flecha:   <" (rtos tf0 2 0) ">: ")))
(setq tf0 tf)
(setq tf tf0)
)
(TERPRI)
(setq cmdact0 (getvar "cmdactive"))
(PRINC "\nColocar Altura de Texto :")
(if (not at0) (setq at0 0))
(if (setq at (getreal (strcat "\nColocar Altura de Texto :   <" (rtos at0 2 1) ">: ")))
(setq at0 at)
(setq at at0)
)
(TERPRI)
(setq cmdact0 (getvar "cmdactive"))
(PRINC "\nColocar cantidad de Decimales :")
(if (not cd0) (setq cd0 0))
(if (setq cd (getreal (strcat "\nColocar cantidad de Decimales :   <" (rtos cd0 2 0) ">: ")))
(setq cd0 cd)
(setq cd cd0)
)

;(command "DIMASZ""1");Tamaño Punta de Flecha
(command "DIMASZ"tf);Tamaño Punta de Flecha
(command "DIMTXT"at);Altura de Texto

(setq pt (getpoint "\nCoordenada a Graficar : "))
  at "Z= "(rt;(setq x (strcat "x= "(rtos (car pt) 2 3)))
  (setq z (strcat (rtos (caddr pt) 2 cd))); Para Cantidad de decimales  
   (setq pt1 (getpoint pt "\nPocisión Texto: "))
 
  (command "leader" pt pt1 "" z  "")
  (command "osmode""0")
  (princ)

)
(prompt "\nPara llamar al comando escriba COOR")

Desde Ya gracias por los Aportes.

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Dominguez Mar Feb 15, 2022 8:25 pm

Creo que asi te funcionara, mira la diferencia con tu codigo, es poca cosa.
Código:
;;;De las Adaptaciones de VGAETE (FENIXCAD)
(defun c:coor ()
  (command "orto" "des")
  (command "osmode" "0")
  (command "osmode" "8")
  (princ "\nColocar Valor del Tamaño de Flecha:  ")
  (setq cmdact0 (getvar "cmdactive"))
  (if (not tf0)
    (setq tf0 0)
  )
  (if (setq tf (getreal (strcat "\nColocar Valor del Tamaño de Flecha:  <" (rtos tf0 2 0) ">: ")))
    (setq tf0 tf)
    (setq tf tf0)
  )
  (terpri)
  (setq cmdact0 (getvar "cmdactive"))
  (princ "\nColocar Altura de Texto :")
  (if (not at0)
    (setq at0 0)
  )
  (if (setq at (getreal (strcat "\nColocar Altura de Texto :  <" (rtos at0 2 1) ">: ")))
    (setq at0 at)
    (setq at at0)
  )
  (terpri)
  (setq cmdact0 (getvar "cmdactive"))
  (princ "\nColocar cantidad de Decimales :")
  (if (not cd0)
    (setq cd0 0)
  )
  (if (setq cd (getreal (strcat "\nColocar cantidad de Decimales :  <" (rtos cd0 2 0) ">: ")))
    (setq cd0 cd)
    (setq cd cd0)
  ) ;(command "DIMASZ""1");Tamaño Punta de Flecha
  (command "DIMASZ" tf) ;Tamaño Punta de Flecha
  (command "DIMTXT" at) ;Altura de Texto
  (setq pt (getpoint "\nCoordenada a Graficar : "))
  (setq z (strcat (rtos (caddr pt) 2 )(rtos cd)))
  (setq pt1 (getpoint pt "\nPocisión Texto: "))
  (command "leader" pt pt1 "" z "")
  (command "osmode" "0")
  (princ)
)
(prompt "\nPara llamar al comando escriba COOR")
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Luis Alberto Benitez Miér Feb 16, 2022 1:40 pm

Antes que nada gracias Maestro por la pronta respuesta a la requisitoria.
estoy probando el lisp pero no acusa al pedido de la parte decimal.
Seguiré probando gracias.

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Luis Alberto Benitez Miér Feb 16, 2022 2:56 pm

Solucionado ahora funciona el lisp
Código:
;;;De las Adaptaciones de VGAETE (FENIXCAD)
;;;Modif Luis A. Benitez

(defun c:coor-2 ()
  (command "orto" "des")
  (command "osmode" "0")
  (command "osmode" "8")
  (princ "\nColocar Valor del Tamaño de Flecha:  ")
  (setq cmdact0 (getvar "cmdactive"))
  (if (not tf0)
    (setq tf0 0)
  )
  (if (setq tf (getreal (strcat "\nColocar Valor del Tamaño de Flecha:  <" (rtos tf0 2 0) ">: ")))
    (setq tf0 tf)
    (setq tf tf0)
  )
  (terpri)
  (setq cmdact0 (getvar "cmdactive"))
  (princ "\nColocar Altura de Texto :")
  (if (not at0)
    (setq at0 0)
  )
  (if (setq at (getreal (strcat "\nColocar Altura de Texto :  <" (rtos at0 2 1) ">: ")))
    (setq at0 at)
    (setq at at0)
  )
  (terpri)
  (setq cmdact0 (getvar "cmdactive"))
  (princ "\nColocar cantidad de Decimales :")
  (if (not cd0)
    (setq cd0 0)
  )
  

  (setq *cd* (cond ((getint (strcat "\nColocar Cantidad de Decimales <" (itoa (setq *cd* (cond ( *cd* ) ( 4 )))) ">: "))) ( *cd* )))

  (command "DIMASZ" tf) ;Tamaño Punta de Flecha
  (command "DIMTXT" at) ;Altura de Texto
  (setq pt (getpoint "\nCoordenada a Graficar : "))
  (setq z (strcat (rtos (caddr pt) 2 *cd*)))
  (setq pt1 (getpoint pt "\nPocisión Texto: "))
  (command "leader" pt pt1 "" z "")
  (command "osmode" "0")
  (princ)
)
(prompt "\nPara llamar al comando escriba COOR-2")

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Dominguez Miér Feb 16, 2022 6:17 pm

De todas maneras, si te interesa, aqui tienes una rutina que ademas se actualiza la coordenada Z cuando se desplaza o modifica dicho punto.
Código:
 ; Escribe con leader coordenadas X Y Z de puntos indicados (actualiza desplazamientos).
 ; Luis Dominguez Gomez 2005
;;;================================================================================================
(defun c:pts_cor (/ lay ort pto objid)
  (setvar 'cmdecho 0)
  (setq lay (getvar 'clayer))
  (setq ort (getvar 'orthomode))
  (setvar 'fielddisplay 0) ; fondo desactivado
  (if (not (tblobjname "LAYER" "COORD"))
    (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord")
                  '(2 . "COORD") '(70 . 0) '(62 . 1) '(6 . "continuous")
                  )
    )
  )
  (while (setq pto (getpoint "\nSeñala Punto: "))
    (entmake (list '(0 . "POINT")
                  '(100 . "AcDbEntity")
                  '(8 . "Defpoints")
                  '(62 . 1)
                  '(100 . "AcDbPoint")
                  (cons 10 pto)
            )
    )
    (setq objid (itoa (vla-get-objectid (vlax-ename->vla-object (entlast)))))
    (setvar 'orthomode 0)
    (setvar 'clayer "COORD")
    (command
      "_leader"
      pto
      "\\"
      (polar (getvar 'lastpoint)
            (if (< (car pto) (car (getvar 'lastpoint)))
              0
              pi
            )
            (getvar 'textsize)
      )
      ""
;;;      (strcat "X= %<\\AcObjProp Object(%<\\_ObjId " objid ">%).Coordinates \\f \"%lu2%pt1%pr3\">%")
;;;      (strcat "Y= %<\\AcObjProp Object(%<\\_ObjId " objid ">%).Coordinates \\f \"%lu2%pt2%pr3\">%")
      (strcat "Z= %<\\AcObjProp Object(%<\\_ObjId " objid ">%).Coordinates \\f \"%lu2%pt4%pr3\">%")
      ""
    )
    (setvar 'orthomode ort)
    (setvar 'clayer lay)
  )
  (prin1)
)
;;;================================================================================================
saludos
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Luis Alberto Benitez Jue Feb 17, 2022 1:46 pm

Gracias Maestro ya lo estoy poniendo en practica.

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Luis Alberto Benitez Jue Feb 17, 2022 2:14 pm

Estoy Probando el lisp y al mover el punto no me actualiza la Coordenada
por o demás funciona.

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Dominguez Jue Feb 17, 2022 2:34 pm

Luis Alberto Benitez escribió:Estoy Probando el lisp y al mover el punto no me actualiza la Coordenada
por o demás funciona.
Solo se actualiza si regeneras el dibujo.
Has un regen y veras como se actualiza.
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Dominguez Jue Feb 17, 2022 3:04 pm

Dominguez escribió:
Luis Alberto Benitez escribió:Estoy Probando el lisp y al mover el punto no me actualiza la Coordenada
por o demás funciona.
Solo se actualiza si regeneras el dibujo.
Has un regen y veras como se actualiza.
JaJaJaJa
Nuestro cerebro si que necesita regeneracion.
Si la coordenada es Z (no X o Y), por mas que lo muevas no te cambiara, por que siempre estara a la misma altura, trata de moverlo en el eje Z y veras como cambia cuando regeneres el dibujo.
Esa rutina se creo para coordenadas X e Y.
saludos
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Luis Alberto Benitez Jue Feb 17, 2022 3:36 pm

Si ya lo se pero lo estoy probando de las Coordenadas X Y Z lo regenero y no actualiza
los valores. lo otro seria colocar la cantidad de decimales.
Gracias por los Aportes al Tema.

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Dominguez Jue Feb 17, 2022 6:08 pm

Luis Alberto Benitez escribió:Si ya lo se pero lo estoy probando de las Coordenadas X Y Z lo regenero y no actualiza
los valores. lo otro seria colocar la cantidad de decimales.
Gracias por los Aportes al Tema.
Haber Luis:
El punto que se acota, es un punto invisible situado en la capa defpoints, entonces tienes que mover o desplazar con la orden "estira" la punta de la flecha y el punto invisible, si desplazas el leader solamente, y te dejas el punto invisible en el mismo sitio, no te actualizara la cota.
En resumen lo importante es desplazar el punto invisible, y te funcionara la actualizacion con "regent".
En cuanto a los decimales, se puede modificar a tu antojo facilmente, si lo quieres yo te lo modifico.
Un saludo
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Luis Alberto Benitez Jue Feb 17, 2022 10:54 pm

Desplazo la punta de la flecha con el punto luego aplico regent
y no me actualiza.
Pero lo que mas me entereza es la cantidad de Decimales.
Gracias Nuevamente.

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Dominguez Vie Feb 18, 2022 11:18 am

Luis Alberto Benitez escribió:Desplazo la punta de la flecha con el punto luego aplico regent
y no me actualiza.
Pero lo que mas me entereza es la cantidad de Decimales.
Gracias Nuevamente.
No entiendo que no te actualice, algo haces mal.
En cuanto a los decimales, ya lo tienes arreglado en el codigo que te mando.
Código:
 ; Escribe con leader coordenadas X Y Z de puntos indicados (actualiza desplazamientos).
 ; Luis Dominguez Gomez 2005
;;;================================================================================================
(defun c:pts_cor (/ lay ort pto objid dec)
  (setvar 'cmdecho 0)
  (setq lay (getvar 'clayer))
  (setq ort (getvar 'orthomode))
  (if (not *dec*)
    (setq *dec* (getint "\nCuantos decimales: "))
    (progn (setq dec (getint (strcat "\nCuantos decimales: <" (itoa *dec*) ">")))
          (if (/= dec nil)
            (setq *dec* dec)
          )
    )
  )
  (setvar 'fielddisplay 0) ; fondo desactivado
  (if (not (tblobjname "LAYER" "COORD"))
    (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord")
                  '(2 . "COORD") '(70 . 0) '(62 . 1) '(6 . "continuous")
                  )
    )
  )
  (while (setq pto (getpoint "\nSeñala Punto: "))
    (entmake (list '(0 . "POINT")
                  '(100 . "AcDbEntity")
                  '(8 . "Defpoints")
                  '(62 . 1)
                  '(100 . "AcDbPoint")
                  (cons 10 pto)
            )
    )
    (setq objid (itoa (vla-get-objectid (vlax-ename->vla-object (entlast)))))
    (setvar 'orthomode 0)
    (setvar 'clayer "COORD")
    (command "_leader"
            pto
            "\\"
            (polar (getvar 'lastpoint)
                    (if (< (car pto) (car (getvar 'lastpoint)))
                      0
                      pi
                    )
                    (getvar 'textsize)
            )
            ""
            (strcat "X= %<\\AcObjProp Object(%<\\_ObjId "
                    objid
                    ">%).Coordinates \\f \"%lu2%pt1%pr"
                    (itoa *dec*)
                    "\">%"
            )
            (strcat "Y= %<\\AcObjProp Object(%<\\_ObjId "
                    objid
                    ">%).Coordinates \\f \"%lu2%pt2%pr"
                    (itoa *dec*)
                    "\">%"
            )
            (strcat "Z= %<\\AcObjProp Object(%<\\_ObjId "
                    objid
                    ">%).Coordinates \\f \"%lu2%pt4%pr"
                    (itoa *dec*)
                    "\">%"
            )
            ""
    )
    (setvar 'orthomode ort)
    (setvar 'clayer lay)
  )
  (prin1)
)
;;;================================================================================================
Saludos y disfrutalo
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Luis Alberto Benitez Vie Feb 18, 2022 12:01 pm

Agradecido Maestro, mas que suficiente con el lisp logrado,
lo de la actualización de las coordenadas veré que estoy
haciendo mal.
Un Saludo a la Distancia.

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Dominguez Vie Feb 18, 2022 1:09 pm

Luis Alberto Benitez escribió:Agradecido Maestro, mas que suficiente con el lisp logrado,
lo de la actualización de las coordenadas veré que estoy
haciendo mal.
Un Saludo a la Distancia.
Se me olvido decirte que el UCS debe estar (UCS Universal).
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

Texto de Coordenada Empty Re: Texto de Coordenada

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.