De nueva cuenta, retomamos la publicación en el Blog...
He recibido algunos correos de usuarios con dudas y comentarios. Me complace poderles ayudar y espero continuar haciéndolo. Los invito a hacer llegar sus comentarios y dudas por este medio o directamente a mi correo electrónico.
Aquí estaremos... Otra vez!!
Administración de CAD
Este es un sitio dedicado a comentar sobre asuntos relacionados con el diseño CAD, BIM y diseño en general, así como sobre la administración de la información generada por estas herramientas.
Siéntanse libres de comentar las entradas y compartirnos sus experiencias y opiniones.
jueves, 22 de marzo de 2012
viernes, 12 de agosto de 2011
Dudas sobre Referencias Externas
Recibimos un correo de Rodrigo, desde Chile, quien nos comenta la siguiente situación:
Trabajamos con cantidades enormes de planos. La persona que diseña el proyecto base mantiene el dibujo en su PC, los que nos dedicamos hacer los proyectos complementarios copiamos el archivo en nuestro equipo y referenciamos para trabajar...
1. ¿Es posible referenciar el dibujo desde otro PC, teniendo una red y un servidor en la oficina?
2.- Si fuera afirmativa la respuesta anterior, nosotros tenemos que enviar para revisión los proyectos, en archivos digitales y en papel. ¿Cómo lo hago con el archivo referenciado (archivo base)?
Estimado Rodrigo...
Es correcto lo que mencionas, los archivos base los puedes colocar en un servidor de archivos de la empresa y desde ahí usarlos como referencias externas en AutoCAD. Personalmente sugiero que creen una carpeta compartida en la cual coloquen su estructura de almacenamiento y asignen derechos de usuario, y que posteriormente se conecten a esta carpeta compartida mediante una unidad lógica estándar para todos.
En este punto debe de poder ayudarte al Administrador del Servidor y el personal de Redes de tu empresa. Es una tarea muy sencilla y rápida de implementar.
Una vez definido lo anterior, entrarás al sistema de archivos como lo harías a tu propio disco duro, con una unidad asignada como F:/ X:/ o la que sea que asignen.
A continuación, insertas las referencias desde el servidor. Personalmente recomiendo el uso de Referencias Relativas, las cuales mantienen únicamente parte de la estructura de las rutas y facilitan el proceso de compartir información. Con esto, cada que abras el archivo, cargará las referencias externas desde el servidor. Las modificaciones que se realicen a estas se reflejarán de forma automática en tus proyectos.
En cuanto al proceso para compartir la información... Existen varios métodos, dependerá del propósito que tiene compartir la información de los proyectos:
El primer método, que recomiendo ampliamente, es generar y compartir archivos DWF y no archivos de dibujo de AutoCAD. Les planteo la siguiente situación: Imagina por un momento que le pasas los archivos de dibujo a un cliente, que posteriormente los modifica a conveniencia y termina culpándote de errores en el proyecto. El archivo DWF contiene toda la información del dibujo, incluso si este fuera hecho en 3D, pero a diferencia de los archivos DWG de AutoCAD, el DWF no se puede modificar. Esto es bastante valioso para las revisiones.
Además, Autodesk proporciona de forma gratuita el programa Autodesk Design Review, el cual puedes descargar desde la página de Autodesk y constituye una valiosa herramienta para revisión de proyectos. Puedes realizar mediciones, anotaciones y comentarios. Puedes imprimir e incluso controlar vistas tridimensionales, si el archivo se encuentra en 3D.
El segundo procedimiento para compartir información es utilizar el comando ETRANSMIT de AutoCAD. Este comando te permite hacer "paquetes" en archivos ZIP o de carpetas comprimidas, que contienen toda la información necesaria para que puedas abrir un archivo con todo lo necesario para que funcione correctamente, como: Referencias externas, archivos de fuentes, archivos de formas, plumillas de trazo, etc. Es muy útil para compartir archivos individuales.
El tercer procedimiento, y creo que el menos recomendado, es compartir toda la estructura del proyecto. Copias la estructura completa del proyecto desde el servidor hacia cualquier medio externo de almacenamiento, y la compartes con el cliente. Las referencias relativas permiten que, aunque no tengas una estructura íntegra, el sistema pueda reconocer los archivos de referencias en una nueva estructura. Este procedimiento lo considero poco recomendable por temas de privacidad.
El último procedimiento sería realizar un BIND a las referencias externas y guardar el archivo que deseas compartir con otro nombre, para no afectar el archivo original. El comando BIND copiará de forma automática la referencia externa y la insertará como un block dentro del dibujo. Se corre el riesgo de duplicar información y crecer drásticamente la ocupación del espacio de almacenamiento.
Espero que esta información sea de utilidad, y quedo a sus órdenes para cualquier comentario o duda al respecto.
Saludos!!!
viernes, 3 de junio de 2011
Página de Facebook de la Comunidad
La Comunidad Latinoamericana de Usuarios de Autodesk en Español ha abierto su página de Facebook. Mediante esta se acerca mas a los usuarios y provee información oportuna y soporte a los usuarios de software de Autodesk.
La puedes visitar AQUÍ
Te invitamos a hacer click en Me Gusta y estar al tanto de las actualizaciones.
La puedes visitar AQUÍ
Te invitamos a hacer click en Me Gusta y estar al tanto de las actualizaciones.
miércoles, 4 de mayo de 2011
Rutina para convertir textos en nodos
Fernando, del estado de México, nos comparte una necesidad que trataremos de resolver mediante la programación de una rutina de AutoLISP.
La necesidad es la siguiente:
Se cuenta con un archivo DWG con una serie de objetos de texto, los cuales están insertados en puntos específicos y su contenido representa el nivel de dicho punto. Sin embargo, la coordenada Z es igual a 0 en todas las instancias.
Lo que se requiere es hacer una rutina que permita seleccionar un objeto, y que al hacerlo se cree un nodo o punto en el punto de inserción del texto, pero en el nivel que se indica en este último.
Cómo lo vamos a resolver.
Primero haremos una rutina que nos resuelva la necesidad de forma manual, es decir, que cree el punto como lo requerimos, pero seleccionando objeto por objeto.
Posteriormente, en otro post, crearemos una rutina que haga un ciclo de la rutina primaria y seleccione todos los objetos que cumplan con el criterio especificado y genere los puntos en el archivo de forma automática.
Rutina 1: Crear un punto en el punto de inserción del texto, pero con el nivel que se especifica en este último.
Primero abrimos nuestro block de notas y comenzamos con la definición de nuestro comando. Vamos a guardar el archivo como TXT2NODO.LSP y definiremos el comando como TXT2NODO (Texto a nodo)
(defun C:TXT2NODO ()
La necesidad es la siguiente:
Se cuenta con un archivo DWG con una serie de objetos de texto, los cuales están insertados en puntos específicos y su contenido representa el nivel de dicho punto. Sin embargo, la coordenada Z es igual a 0 en todas las instancias.
Lo que se requiere es hacer una rutina que permita seleccionar un objeto, y que al hacerlo se cree un nodo o punto en el punto de inserción del texto, pero en el nivel que se indica en este último.
Cómo lo vamos a resolver.
Primero haremos una rutina que nos resuelva la necesidad de forma manual, es decir, que cree el punto como lo requerimos, pero seleccionando objeto por objeto.
Posteriormente, en otro post, crearemos una rutina que haga un ciclo de la rutina primaria y seleccione todos los objetos que cumplan con el criterio especificado y genere los puntos en el archivo de forma automática.
Rutina 1: Crear un punto en el punto de inserción del texto, pero con el nivel que se especifica en este último.
Primero abrimos nuestro block de notas y comenzamos con la definición de nuestro comando. Vamos a guardar el archivo como TXT2NODO.LSP y definiremos el comando como TXT2NODO (Texto a nodo)
(defun C:TXT2NODO ()
Vamos ahora a capturar en una variable el contenido del texto, el cual nos servirá para tener a la mano el nivel en Z donde deseamos que se cree nuestro punto:
(setq TEXTONIVEL (car (entsel "\nSeleccione un objeto de texto: ")))
La función ENTSEL nos permite seleccionar una entidad única al hacer click en esta. La función CAR nos permite extraer el primer elemento de una lista, en este caso, el identificador de la entidad que seleccionamos previamente. Lo que hacemos en este punto es establecer esa entidad en una variable, en este caso TEXTONIVEL.
Ahora almacenaremos en una variable el contenido del texto que seleccionamos.
(setq NIVELZ (cdr (assoc 1 (entget TEXTONIVEL))))
Aquí estamos usando varias funciones: ENTGET nos permite obtener los valores de definición de la entidad, en función de la base de datos del DXF. La función ASSOC nos permite obtener uno de los valores de dicho listado, en este caso, el valor 1 (uno) corresponde al par que representa el contenido de la entidad, en este caso un texto. La función CDR nos permite obtener el segundo valor de una lista, en este caso, el contenido del texto como tal.
Lo que hacemos es almacenar en la variable NIVELZ el contenido del texto seleccionado. Para nuestro caso, es la coordenada Z del punto que deseamos dibujar en el plano.
Ahora capturaremos el punto de inserción de la entidad, en este caso, texto:
(setq COORDTXT (cdr (assoc 10 (entget TEXTONIVEL))))
Usamos las mismas funciones que en el caso anterior, solo que en esta ocasión, el código que estamos recuperando es el código 10, el cual representa el punto de inserción de la entidad. Lo almacenamos en la variable COORDTXT.
El valor resultante de esta función es una lista con las coordenadas X, Y y Z, algo similar a lo siguiente: (1666.1 1197.9 0.0) Donde 1666.1 es X, 1197.9 es Y y 0.0 es Z.
Ahora, definiremos las coordenadas finales del punto que insertaremos en el dibujo, en función del punto de inserción del texto y su contenido como Z.
(setq COORDNODO (LIST (car COORDTXT)(cadr COORDTXT)(atof NIVELZ)))
Lo que hacemos en este paso es crear una lista, elemento fundamental de AutoLISP, con las coordenadas X, Y y Z. Para ello, usamos los dos primeros elementos de la lista que almacenamos en la variable COORDTXT.
Para extraer el primer valor de esta (Coordenada X), usamos la función CAR, para extraer el segundo valor (Coordenada Y) usamos la función CADR, y para definir el tercer valor, usaremos la función ATOF, la cual convierte una cadena de caracteres en un valor real. Dicho en otras palabras, nosotros teníamos almacenado en la variable NIVELZ el texto que contenía la entidad de texto que seleccionamos. Lo que hacemos con la función ATOF es convertir ese texto a un número real, para que el sistema lo pueda considerar como tal.
Al final, en la variable COORDNODO tendremos una lista con los puntos X, Y y Z que necesitamos para dibujar el punto o nodo que deseamos.
Ahora solo resta dibujar el punto de forma automática usando los valores que almacenamos en la variable COORDNODO.
(command "POINT" COORDNODO)
Aquí estamos ejecutando el comando POINT, especificando que el punto en donde se colocará el punto o nodo está almacenado en la variable COORDNODO.
Ya solo nos queda finalizar la rutina.
(princ)
)
La función PRINC imprime una expresión en la línea de comandos, en este caso, no estamos especificando ningún parámetro, por lo que únicamente se imprimirá un campo en blanco.
El último paréntesis cierra la función DEFUN y le indica al sistema que la función ha terminado.
Código Final
El código final de la rutina quedaría así:
(defun C:TXT2NODO ()
(setq TEXTONIVEL (car (entsel "\nSeleccione un objeto de texto: ")))
(setq NIVELZ (cdr (assoc 1 (entget TEXTONIVEL))))
(setq COORDTXT (cdr (assoc 10 (entget TEXTONIVEL))))
(setq COORDNODO (LIST (car COORDTXT)(cadr COORDTXT)(atof NIVELZ)))
(command "POINT" COORDNODO)
(princ)
)
Con esto tenemos una rutina totalmente funcional, que nos permitirá cumplir con la necesidad que plantea Fernando. Para activarla, habrá que cargar la aplicación con el comando APPLOAD de AutoCAD, y teclear en la línea de comandos TXT2NODO.
Sin embargo, si bien esta rutina puede funcionar, no tenemos ningún tipo de control. Es posible seleccionar cualquier tipo de instancia, lo que nos puede dar resultados inciertos o errores en la función. Además, ¿qué tal si tenemos miles de puntos que convertir?
En el siguiente post veremos como podemos mejorar la función para tener mayor control y funcionalidad.
Pueden expresar sus dudas en este mismo post, o a mi correo, natanvg@gmail.com
Saludos!
martes, 3 de mayo de 2011
¡Cursos gratis de AutoCAD y otros productos de Autodesk!
¿Eres Arquitecto, Ingeniero, Diseñador y te gustaría saber mas sobre AutoCAD?
La Comunidad Latinoamericana de Usuarios de Autodesk en Español está ofreciendo de forma gratuita cursos sobre las principales herramientas de Autodesk, a saber AutoCAD, Revit, Civil, Map e Inventor.
Lo único que debes hacer, es ser miembro de la comunidad (es fácil y gratuito) y crear tu propio grupo con 12 nuevos usuarios de la comunidad. Dicho en otras palabras, reúne a 12 de tus amigos o compañeros, regístrense en la comunidad y soliciten el curso de su elección. ¡Así de fácil!
Si deseas saber mas al respecto, solo debes visitar este enlace:
http://communities.autodesk.com/?nd=news_detail&news_id=593&minisite_id=6
¡Aprovecha la oportunidad de incrementar tus conocimientos sobre las herramientas de diseño!
La Comunidad Latinoamericana de Usuarios de Autodesk en Español está ofreciendo de forma gratuita cursos sobre las principales herramientas de Autodesk, a saber AutoCAD, Revit, Civil, Map e Inventor.
Lo único que debes hacer, es ser miembro de la comunidad (es fácil y gratuito) y crear tu propio grupo con 12 nuevos usuarios de la comunidad. Dicho en otras palabras, reúne a 12 de tus amigos o compañeros, regístrense en la comunidad y soliciten el curso de su elección. ¡Así de fácil!
Si deseas saber mas al respecto, solo debes visitar este enlace:
http://communities.autodesk.com/?nd=news_detail&news_id=593&minisite_id=6
¡Aprovecha la oportunidad de incrementar tus conocimientos sobre las herramientas de diseño!
Suscribirse a:
Entradas (Atom)