Textos en horizontal siempre, es posible?

Dudas y consultas sobre CAD. AutoCAD, Microstation y resto de aplicaciones CAD

Moderador: Moderadores

Responder
Cpt. Spaulding
Calcador
Mensajes: 23
Registrado: Jue Dic 07, 2006 1:49 pm
Contactar:

Textos en horizontal siempre, es posible?

Mensaje por Cpt. Spaulding »

Existe algun comando para mantener los textos con rotacion 0 aunque estos se encuentren en un bloque?. Mi intencion es mantener los textos de los enchufes siempre en horizontal teniendo asi el electrodomestico, o lo que corresponda con su enchufe, grifo, etc... en el mismo bloque.
La pregunta es un poco extraña pero por preguntar que no quede...

Plannerly ™ La plataforma de gestión BIM ™ SmartLeanBIM® © 2021
Plantillas para crear el Plan de Ejecución BIM (BEP). Cumplimiento de la norma ISO-19650
Plan gratuito en el que puedes acceder a todas las plantillas y si al comprarlo introduces el código DELINEACION obtendrás un 10% de descuento
Avatar de Usuario
Big Boss
Jefe
Mensajes: 592
Registrado: Sab Abr 14, 2007 11:49 pm
Ubicación: Llinars del Valles
Contactar:

Mensaje por Big Boss »

:shock: Osti tu, buena pregunta...son de esas cosas que al final por falta de tiempo(y de conocimientos) acabas por pasar y hacerlo manualmente, jejeje...

A ver si hay algun entendido en el tema! :idea:
...be water my friend...
Afga
Jefe
Mensajes: 886
Registrado: Lun Sep 04, 2006 4:10 pm
Contactar:

Mensaje por Afga »

Se puede hacer desde el editor de atributos mejorado de AutoCAD (comando _eattedit), aunque de uno en uno. Para ello, una vez que visualizamos el cuadro de dialogo del editor, seleccionamos el atributo que deseado, y dentro de la pestaña de "opciones de texto", poner el valor de la rotación del texto a 0.

Saludos :wink:
Afga
Jefe
Mensajes: 886
Registrado: Lun Sep 04, 2006 4:10 pm
Contactar:

Mensaje por Afga »

Y mejorando lo dicho en el post anterior, con la aplicación que os dejo a continuación podreís rotar automaticamente todos los atributos de los bloques que se seleccionen (siempre y cuando contengan atributos) según el ángulo indicado que se solicita en la misma.

Espero que os guste. Saludos :wink:

;;  ======================================================================================
;;                                                                                        
;;  Comando que la ejecuta -> RATR (rotar atributos)                      
;;                                               
;;  Número de versión      -> RATR_V.1 - 11 de Julio de 2007.                  
;;  Desarrollada y Diseñada por; Javier Santos Rodríguez " santos_jsr@hotmail.com "      
;;                                              
;;  ======================================================================================

;; //////////////////////////////////////////////////////////////////////////


(defun c:ratr (/ atr blk blk_sset blk_lon blk_cont angsel refenti)

(
setq refenti (getvar "osmode"))
(
setvar "osmode" 0)
  
(
vl-cmdf "_undo" "_begin")
(
setq atr nil)
(
setq blk nil)
(
prompt "\nDesigne BLOQUES en los que rotar atributos: ")
(
setq blk_sset (ssget (list (cons 0 "INSERT"))))

(
while (or (= blk_sset nil) (= (entnext (ssname blk_sset 0)) nil))
   (
alert "El objeto seleccionado no es un bloque o no contiene atributos que rotar
                             Por favor, designe al menos uno."
)
   (
prompt "\nDesigne BLOQUES en los que rotar atributos: ")
   (
setq blk_sset (ssget (list (cons 0 "INSERT"))))
)
 ;_end while

(setq blk_lon (sslength blk_sset))
(
setq blk_cont 0)

(
if (=  ang nil) (setq ang 0) (setq ang ang))
(
setq angsel (getint (strcat "\nIndique el ÁNGULO de rotación de los atributos <" (rtos ang 2 0) ">: ")))
(
if (or (= angsel ang) (= angsel nil)) (setq ang ang) (setq ang angsel))

(
while (< blk_cont blk_lon)

      (
setq blk (ssname blk_sset blk_cont))
      (
setq atr (entget (entnext blk)))

    (
while (= (cdr (assoc 0 atr)) "ATTRIB")
    (
vl-cmdf "_-attedit" "_y" "*" "*" "*" (cdr (assoc -1 atr)) "_a" ang "")
    (
setq atr (entget (entnext (cdr (assoc -1 atr)))))
    )

  (
setq blk_cont (1+ blk_cont))
)
 ;_end while

(vl-cmdf "_undo" "_end")
(
setvar "osmode" refenti)
  
(
princ "\n\n\n* Teclee RATR o pulse ENTER para repetir el comando *")
(
prin1)

)
 ;_end defun ratr.

(prompt "\n\n\n* Nuevo comando \"RATR\" cargado - Realizado por J.S.R./santos_jsr@hotmail.com *")
(
prin1)

;; //////////////////////////////////////////////////////////////////////////
Avatar de Usuario
Big Boss
Jefe
Mensajes: 592
Registrado: Sab Abr 14, 2007 11:49 pm
Ubicación: Llinars del Valles
Contactar:

Mensaje por Big Boss »

:shock: :shock: :shock:
A L U C I N O ! ! !

(Como dice un presentador de la tele..."eres bueno, eh?muy bueno"
...be water my friend...
Cpt. Spaulding
Calcador
Mensajes: 23
Registrado: Jue Dic 07, 2006 1:49 pm
Contactar:

Mensaje por Cpt. Spaulding »

He estado probando la rutina lisp de afga y me surge una duda: no funciona en bloques con atributos que tengan activada la seleccion "constante"?. El hecho es que no quiero que me pregunte que tipo de enchufe lleva, por ejemplo un horno cada vez que vaya a insertarlo pues siempre es el mismo.
Afga
Jefe
Mensajes: 886
Registrado: Lun Sep 04, 2006 4:10 pm
Contactar:

Mensaje por Afga »

Cierto que no actua sobre atributos constantes, también es cierto que ese tipo de atributos no son editables, y por lo tanto, una vez hecho el bloque con ese tipo de atributos, estos no se pueden girar, ni cambiar de color, de capa, etc,... La aplicación, sin embargo, sí que actua sobre el resto de tipo de atributos, que son lo que si se pueden editar, como bien he explicado, aún perteniendo a un bloque.

Cpt. Spaulding si quieres girar tus atributos perteneciendoo a un bloque, estos no pueden ser atributos constantes, tan solo comento las circunstancias.

Espero a ver aclarado álgunas cosillas. Saludos :wink: :wink:
Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 22 invitados