¿Cómo elegir un texto y remplazarlo por un valor en AutoCAD?

¿Cómo elegir un texto y remplazarlo por un valor en AutoCAD?

Anonymous
No aplicable
564 Vistas
6 Respuestas
Mensaje 1 de 7

¿Cómo elegir un texto y remplazarlo por un valor en AutoCAD?

Anonymous
No aplicable

Tengo un problema con este codigo. Es mi primer programa y no se como resolverlo.
La idea del programa es que yo ingrese un valor, y a este valor someterle a una operacion y el resultado remplazarlo sobre un texto que yo elija.
Mi problema creo que esta en la penultima linea. Espero alguien pueda ayudarme con mi problema. Muchas gracias

les comparto mi codigo:


(defun c:cvol()

(setq volin (getreal "\ingrese Volumen en in: "))

;operaciones
(setq Puft (/ volin (* 12 12 12)))

;remplazar valores

(setq EntidadReemp (entsel "\nSeleccione el texto a reemplazar: "))
(setq NomEntidadReemp (car EntidadReemp))
(setq BaseNomEntidadReemp (entget NomEntidadReemp))


;aca es mi problema, no se como remplazar la Puft de cuenta del valor del texto selecciona

(setq ListEntNuevaTexto (subst ( cons 1 Putf) (assoc 1 BaseNomEntidadReemp) BaseNomEntidadReemp))

(entmod ListEntNuevaTexto)


(princ)
)

0 Me gusta
Soluciones aceptadas (1)
565 Vistas
6 Respuestas
Respuestas (6)
Mensaje 2 de 7

hak_vz
Advisor
Advisor

 

 

(setq Puft (/ volin (* 12 12 12)))
......
(setq ListEntNuevaTexto (subst (cons 1 Putf) (assoc 1 BaseNomEntidadReemp) BaseNomEntidadReemp))
(entmod ListEntNuevaTexto )

 

 

You should convert real value of volin into a string
Deberías convertir el valor real de volin en una cuerda.

 

 

(setq Puft (/ volin (* 12.0 12.0 12.0)))
(setq Puft (rtos volin 2 2)
.....
(setq BaseNomEntidadReemp(subst (cons 1 Putf) (assoc 1 BaseNomEntidadReemp) BaseNomEntidadReemp))
(entmod BaseNomEntidadReemp)

 

 

 

Miljenko Hatlak

EESignature

Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
0 Me gusta
Mensaje 3 de 7

Anonymous
No aplicable
muchas gracias. pero no solucione todavia el proplema
0 Me gusta
Mensaje 4 de 7

hak_vz
Advisor
Advisor
Solución aceptada

 

(defun c:cvol()

(setq volin (getreal "\ingrese Volumen en in: "))
(setq Puft (rtos (/ volin (* 12.0 12 12)) 2 2))
(setq EntidadReemp (entsel "\nSeleccione el texto a reemplazar: "))
(setq NomEntidadReemp (car EntidadReemp))
(setq BaseNomEntidadReemp (entget NomEntidadReemp))
;aca es mi problema, no se como remplazar la Puft de cuenta del valor del texto selecciona
(setq BaseNomEntidadReemp (subst (cons 1 Puft) (assoc 1 BaseNomEntidadReemp) BaseNomEntidadReemp))
(entmod BaseNomEntidadReemp)
(princ)
)

 

In my reply there was a type  PUTF  instead of PUFT

 

Miljenko Hatlak

EESignature

Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
0 Me gusta
Mensaje 5 de 7

Anonymous
No aplicable

muchisimas gracias, ahora si lo solucione.

0 Me gusta
Mensaje 6 de 7

calderg1000
Mentor
Mentor

Saludos @Anonymous 

Vi tu código y tan solo falto corregir el texto de la variable Putf, deberia ser Puft. Ademas de convertir el valor numerico del resultado almacenado en la variable Puft, como un valor real a un String (texto), para poder conseguir el par punteado que reemplazara el par punteado del texto que se encuentra almacenado en su base de datos DXF.

Aqui te adjunto el código considerando esos pequeños cambios

(defun c:cvol()
(setq volin (getreal "\ingrese Volumen en in: "))
;operaciones
(setq Puft (/ volin (* 12 12 12)))
;remplazar valores
(setq EntidadReemp (entsel "\nSeleccione el texto a reemplazar: "))
(setq NomEntidadReemp (car EntidadReemp))
(setq BaseNomEntidadReemp (entget NomEntidadReemp))
  
;aca es mi problema, no se como remplazar la Puft de cuenta del valor del texto selecciona

;;;(setq ListEntNuevaTexto (subst ( cons 1 Putf) (assoc 1 BaseNomEntidadReemp) BaseNomEntidadReemp))
(setq ListEntNuevaTexto (subst ( cons 1 (rtos Puft 2 3)) (assoc 1 BaseNomEntidadReemp) BaseNomEntidadReemp));;;tambien corregir Putf x Puft
(entmod ListEntNuevaTexto)

(princ)
)

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

Mensaje 7 de 7

Anonymous
No aplicable

muchas gracias

 

0 Me gusta