Textos en horizontal siempre, es posible?
Moderador: Moderadores
-
- Calcador
- Mensajes: 23
- Registrado: Jue Dic 07, 2006 1:49 pm
- Contactar:
Textos en horizontal siempre, es posible?
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...
La pregunta es un poco extraña pero por preguntar que no quede...
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
Saludos
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
;; ======================================================================================
;;
;; 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)
;; //////////////////////////////////////////////////////////////////////////
Espero que os guste. Saludos
;; ======================================================================================
;;
;; 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)
;; //////////////////////////////////////////////////////////////////////////
-
- Calcador
- Mensajes: 23
- Registrado: Jue Dic 07, 2006 1:49 pm
- Contactar:
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
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
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 26 invitados