Buscar en este blog

lunes, 13 de enero de 2014

Bloques y Atributos (y 21)


2013 (2006+)
En el capítulo anterior de esta serie estudiamos la relación o vínculo que se establece entre una tabla creada con el Asistente de extracción de datos, y los objetos de los que procede, de tal modo que, si se producen cambios en dichos objetos, éstos se reflejarán en la tabla mediante su actualización automática o manual por medio de cualquiera de los método allí mencionados.

Este vínculo se forma por medio del archivo de configuración de la extracción (DXE) creado por el asistente, que aparece en la paleta de Referencias externas, y cuya edición permite modificar los parámetros que definen la extracción de datos.

Abordaremos la edición de una extracción de datos existente en esta entrega, la última de la serie, que completaremos con una breve mención de otros comandos disponibles en AutoCAD, algunos de ellos obsoletos, relacionados con la extracción de atributos.

Edición de una Extracción de datos

Para efectuar la modificación de una extracción de datos existente y por consiguiente de su archivo de configuración (DXE), se pueden emplear alternativamente dos procedimientos equivalentes.

El primero consiste en utilizar el propio Asistente de extracción de datos empleando para ello la opción Editar una extracción de datos existente situada en la primera página del asistente (Iniciar) y seleccionando el correspondiente archivo DXE en el cuadro de diálogo de selección de archivos que se abre al hacer clic en el botón etiquetado con puntos suspensivos situado a la derecha de la citada opción.
A continuación se procede con el resto de las páginas del asistente tal y como ya se estudió ampliamente en los capítulos diecisiete, dieciocho y diecinueve de esta serie. El resultado final del proceso será la creación de un nuevo archivo de datos externo (.xls .csv .mdb .txt) y/o la inserción de una nueva tabla de AutoCAD vinculada al archivo DXE modificado. Cualquier otra tabla existente en el dibujo actual o en otros dibujos, que estén vinculadas al archivo de configuración de extracción de datos que ha sido modificado, quedarán pendientes de su actualización automática o manual (ver capítulo anterior).

El segundo procedimiento propone un método más directo de editar una extracción de datos existente partiendo de una tabla insertada en un dibujo y vinculada con la extracción, utilizando para ello la opción Editar parámetros de extracción de datos del submenú Extracción de datos situado en el menú contextual de celda al que se accede al hacer clic con el botón derecho del ratón sobre cualquier celda seleccionada de la tabla.
Esta opción, que no cuenta con un comando equivalente, abre una versión especial resumida del Asistente de extracción de datos que presenta pequeñas diferencias con el asistente habitual que hemos venido estudiando en los capítulos precedentes.

En primer lugar, puesto que se trata de modificar un archivo DXE existente y conocido, se omite la primera página (Iniciar), mientras que el resto de las páginas presentan una numeración inferior en una unidad a las equivalentes del asistente habitual, con un total de siete páginas y comenzando por la página Definir origen de datos.
En la página Elegir salida del asistente la opción Insertar tabla de extracción de datos en el dibujo aparece seleccionada e inhabilitada, ya que este asistente no insertará una nueva tabla sino que actualizará la tabla desde la que se inició.
En la penúltima página, Estilo de tabla (la séptima en el asistente original), la mayor parte de las opciones del área Formato y estructura aparecen inhabilitadas por lo que no es posible modificar su contenido ni, por lo tanto, la estructura general de la tabla.
Una vez finalizadas las siete páginas del asistente se produce la actualización automática de la tabla según los parámetros del archivo DXE modificado. El resto de las páginas no mencionadas son idénticas a las del Asistente de extracción de datos habitual.

Extracción de datos en línea de comando

El comando EXTRACDAT también cuenta con una versión que no utiliza el asistente y efectúa las solicitudes correspondientes en la línea de comando: –EXTRACDAT (–DATAEXTRACTION). En este caso no se trata del mismo comando con un formato distinto, sino de una versión muy simplificada que no permite la creación de un nuevo archivo de extracción; se limita a solicitar la ruta y el nombre de un archivo DXE o BLK existente y, según la configuración de dicho archivo, el punto de inserción de la tabla o la confirmación de sobreescritura del archivo de salida.

Comando: –EXTRACDAT
Indique la ruta del archivo de plantilla para la extracción:
Precise punto de inserción:

El diseño de esta versión del comando lo hace especialmente apropiado para utilizarlo en situaciones donde se debe aplicar el mismo archivo DXE sobre varios dibujos diferentes, en los que insertar tablas iguales procedentes de la misma fuente de datos.

Por otra parte, si bien un archivo de configuración de extracción de datos (DXE) queda vinculado con las tablas insertadas, no ocurre lo mismo con los archivos de datos externos (.xls .csv .mdb .txt) creados. Si se producen cambios en los objetos origen de la extracción, éstos se reflejarán en la tabla mediante su actualización, pero no existe tal posibilidad respecto de los archivos de datos externos.

En esta situación también resulta muy útil la versión del comando en línea, ya que permite volver a crear el archivo de datos externo cuando se ejecuta utilizando un archivo DXE creado para tal fin. La siguiente secuencia muestra la aplicación de este comando a los archivos obtenidos en el ejemplo desarrollado en el capítulo 17 para volver a crear el archivo de hoja de cálculo Informe.xls a partir de la definición de extracción de datos Puestos.dxe.

Comando: –EXTRACDAT
Indique la ruta del archivo de plantilla para la extracción:
   C:\Proyecto\Puestos.dxe
El archivo externo C:\Proyecto\Informe.xls ya existe.
¿Desea sobrescribirlo? [Sí/No] <Sí>: S o Intro
El archivo externo "C:\Proyecto\Informe.xls" se ha creado correctamente.


Extracción de atributos sin asistente

Tal y como indicábamos en el capítulo 17, AutoCAD proporciona un segundo comando para llevar a cabo la extracción de atributos con unas prestaciones considerablemente menores que el Asistente de extracción de datos, lo que hace poco recomendable su utilización. Se trata del comando ATREXT (ATTEXT) [alias: ATX], que permite la extracción de la información contenida en los atributos del dibujo actual de acuerdo con las especificaciones de un archivo de plantilla.

Al iniciar el comando ATREXT (ATTEXT) [alias: ATX] se abre el cuadro de diálogo Extraer atributos, donde debe elegirse el formato que tendrá la información, así como el nombre y la ubicación del archivo que se utilizará como plantilla y del archivo resultante. En este caso sólo se proporcionan tres posibles formatos de extracción, CSV, SDF y DXF. Los dos primeros son formatos estándar para intercambio de datos entre aplicaciones de bases de datos y hojas de cálculo, mientras que el tercero es un formato de dibujo reconocido por la mayor parte de las aplicaciones gráficas. En los tres casos, el archivo resultante es un archivo de texto simple que puede abrirse con un editor de texto convencional como, por ejemplo, el Bloc de notas de Windows.
Por defecto, la extracción de atributos se aplica a todas las referencias de bloque que existan en el dibujo. El botón Designar objetos permite limitar la operación a las referencias de bloque que se designen. Al pulsar el botón, el cuadro de diálogo se oculta momentáneamente para permitir la designación.

El formato DXF inhabilita el botón Archivo de plantilla y sólo requiere especificar el nombre y la ubicación del archivo de salida. Al archivo resultante se le asigna la extensión .dxx para diferenciarlo de los archivos DXF convencionales, que contienen información del dibujo completo y no solamente de las referencias de bloques con atributos.

Los otros dos formatos, CSV y SDF, exigen la especificación de un archivo de plantilla que determina la información a extraer y su organización en el archivo de salida. El botón Archivo de plantilla abre un cuadro de diálogo estándar de selección de archivos para facilitar su localización. Las plantillas son simples archivos de texto, que deben tener la extensión TXT y pueden crearse utilizando cualquier editor de texto.

En cada línea del archivo de plantilla se especifica el identificador del atributo a extraer, el tipo de información que contiene (de caracteres o numérica), y su extensión en número de caracteres o cifras enteras y decimales. El contenido del archivo de plantilla para extraer la información del dibujo de ejemplo Puestos.dwg podría ser el siguiente:

NÚMERO       C005000
NOMBRE       C040000
FECHA        C012000
DESCRIPCIÓN  C200000

La primera línea de este ejemplo determina la extracción del atributo cuyo identificador es NÚMERO e indica que se trata de un campo de caracteres con una extensión máxima de 5 caracteres. Entre el nombre del identificador y el código de formato debe haber espacios en blanco, pero nunca tabuladores ni cualquier otro carácter.

El código de formato debe estar compuesto por 7 dígitos. El primero es una C o una N, según se trate de un campo de caracteres o numérico. Los tres dígitos siguientes especifican la extensión máxima, en número de caracteres o de cifras, del valor del atributo. Los tres últimos dígitos indican el número de cifras decimales de los campos numéricos. Para los campos de caracteres, los tres últimos dígitos son siempre tres ceros. Cada línea, incluida la última, debe terminarse pulsando la tecla Intro, de modo que no quede ningún espacio en blanco después del código de formato.

Además de los valores de los atributos, el comando ATREXT (ATTEXT) [alias: ATX] también permite extraer cierta información de las propiedades de las referencias de los bloques a las que pertenecen los atributos. Es posible extraer datos como, por ejemplo, el nombre del bloque, las coordenadas de su punto de inserción, los factores de escala o el nombre de la capa. Estas propiedades se consignan en el archivo de plantilla utilizando nombres especiales, en inglés, precedidos de los caracteres BL y el signo de dos puntos ( : ). En la tabla siguiente se enumeran los nombres de todas las propiedades que se pueden extraer, junto con el código de formato y el dato al que se refiere cada uno de ellos.

Propiedades de la plantilla de extracción de atributos
Propiedad Formato Descripción
BL:LEVEL Neee000 Nivel de anidación del bloque
BL:NAME Ceee000 Nombre del bloque
BL:X Neeeddd Coordenada X del punto de inserción
BL:Y Neeeddd Coordenada Y del punto de inserción
BL:Z Neeeddd Coordenada Z del punto de inserción
BL:NUMBER Neee000 Contador de bloques
BL:HANDLE Ceee000 Identificador de objeto de la referencia
BL:LAYER Ceee000 Nombre de la capa
BL:ORIENT Neeeddd Ángulo de rotación
BL:XSCALE Neeeddd Factor de escala en la dirección X
BL:YSCALE Neeeddd Factor de escala en la dirección Y
BL:ZSCALE Neeeddd Factor de escala en la dirección Z
BL:XEXTRUDE Neeeddd Componente X del vector de extrusión
BL:YEXTRUDE Neeeddd Componente Y del vector de extrusión
BL:ZEXTRUDE Neeeddd Componente Z del vector de extrusión

A modo de ejemplo, si en el dibujo Puestos.dwg quisiéramos extraer un índice de numeración del bloque y las coordenadas X e Y del punto de inserción de las referencias, además de los valores de los atributos, podríamos crear un archivo de plantilla como el siguiente:

BL:NUMBER    N003000
BL:X         N016002
BL:Y         N016002
NÚMERO       C005000
NOMBRE       C040000
FECHA        C012000
DESCRIPCIÓN  C200000

Siendo el contenido del archivo de datos resultante en formato CSV el siguiente:

1, 4.55,-0.96,'A01','Juan Pérez','29/02/2008','Dirección creativa'
2, 5.85,-0.96,'A02','Ana García','30/01/2010','Dirección administrativa Área creativa'
3, 5.85,-1.66,'A04','Pedro Fernández','10/03/2010','Diseño gráfico'
4, 4.55,-1.66,'A03','Jarvier González','15/05/2011','Diseñador 3D'
5, 4.55,-2.36,'A05','Sofía Hernández','10/11/2013','Maquetación'
6, 5.85,-2.36,'A00','Sin ocupar','03/09/2013','Puesto vacante'

La versión en línea de comando

Como hemos avanzado, el comando ATREXT también dispone de una versión que permite llevar a cabo el proceso de extracción de atributos sin utilizar el cuadro de diálogo. Esta segunda versión se inicia, como es habitual, escribiendo el nombre del comando precedido de un guión –ATREXT (–ATTEXT).

Comando: –ATREXT
Indique el tipo de extracción o active la selección de objetos
   [Cdf/Sdf/Dxf/Objetos] <C>:

Después de indicar el formato del archivo de salida, se solicita la designación del archivo de plantilla (para los formatos CDF y SDF) y, a continuación, el nombre y la ubicación del archivo de extracción. Curiosamente, ambas solicitaciones se hacen mediante sendos cuadros de diálogo en lugar de efectuarse en la línea de comando. Las siglas CDF, que aparecen como opción en esta versión, equivalen al formato CSV de la versión principal.

1 comentarios:

Unknown dijo...

Muy útil e interesante. Muchas gracias por vuestra generosidad!!!