Menu Principal:
Está Vd en: Aplicaciones>> Aplicación Extraer Properties a Excel-Catálogo.
Fecha Inicio: 13-07-2015 |
INDICE
1. Motivo por el que se crea
2. Objetivo
2.1. Catálogo CATIA V5, de UDF's
2.2. Para uso de un seudo catálogo (Excel) de Piezas Maestras
3. Formas de conseguir el objetivo
4. Condiciones de arranque del Programa
4.1. Ficheros necesarios
5. Funcionamiento y Precaución.
5.1. Filtrar el contenido de una carpeta, mediante un Excel.
6. Definición de datos de entrada
6.1. Opciones para Generar/Modificar Excel’s.
6.1.1. Generar/Modificar Excel’s para imágenes
6.1.2. Generar/Modificar Excel, para Catalog.
6.2. Uso de DLNames o no.
6.3. Creación de DLNames en “árbol”.
7. Utilización del Excel, con imágenes.
8. Obtención del Catalog, a partir del Excel creado anteriormente.
9. Conservación de valores utilizados.
10. Preguntas:
11. Responsabilidad.
12. Créditos y Derechos de autor.
Está claro que, si tenemos una carpeta con muchas piezas, y ésta es un DLName, el simple hecho de “pasar (en CATIA) por esa DLName”, hace que se pierda mucho tiempo, sobre todo si tenemos puesto que CATIA nos enseñe “las imágenes” y el contenido completo. Estamos hablando de minutos, por ejemplo, en el caso de las ncu_solidos_MDM, que poseía 24647 CATPart’s.
He visto, en alguna ocasión, en empresas (que no quiero mencionar), que este problema lo quieren solucionar, colocando en un carpeta, a las que llaman por el mismo nombre (ncu_solidos_MDM) , un “mix” de normales tanto MDM, como las antiguas de la R16, junto con “normales empresa”, pero reduciéndolas a las que “van necesitando”. “Inteligente decisión”…jeje. Se nota que, el que lo ha hecho, “conoce CATIA”… jeje.
AIRBUS-Getafe/Utillaje, en su día, tenía un catálogo (estos han leído más sobre CATIA, que los anteriores) que recogía estas normales y además estaba separado por familias. Pero le resultaba muy costoso su mantenimiento (porque era manual) y lo eliminaron al no poder “incluirlas TODAS”.
El Objetivo FINAL, de este Programa es conseguir, con poco trabajo, un catálogo que tenga todas las normales MDM, por supuesto, separadas del resto. Y que su mantenimiento no sea costoso.
Los usuarios que venimos de CATIA V4, recordamos esos catálogos con mucha “Keywords”, que te facilitaban la búsqueda del objeto que deseaba.
Curiosamente, los catálogos de V5 “con los que me he cruzado hasta ahora”, no tienen ninguna “Keywords”, que no sea la del nombre. Por ejemplo, este:
Sin embargo, pueden hacerse mucho más completo, de forma que el usuario no tenga, para insertar una normal, que tener abierto el pdf con la “Norma” y seleccionar basándose en “las partes del nombre”.
Un ejemplo de lo que queremos es este:
Pero para conseguir este “Objetivo final”, se me ocurrió un “falso catálogo” como este:
Que era simplemente un Excel, con “imágenes pegadas”, y con un link al fichero. Pero esto:
► | Puede servirle al que no tenga CATIA, para saber datos. | ||
► | Al que tenga CATIA, puede: | ||
• | Si no tienes activo un Product: | ||
• | Si usa el fichero partida_imagen.xls, simplemente abrir dicho fichero, desde DLName o desde Folder. | ||
• | Si usa el fichero partida_imagen_FROM.xls, abrir dicho fichero en modo “New From”, desde DLName o desde Folder. Esto permite usarlo de Modelo de Partida. | ||
• | Si tienes activo un Product, puedes insertarlo en el Product “de forma directa” (que es lo que hace un .Catalog). | ||
• | En ambos casos, abrir el fichero Drawing que le corresponde (con el mismo FileName). |
Por desgracia, este programa lo que es capaz de hacer es crear catálogo de Piezas o Conjuntos (Templates), pero No de elementos internos de de esos Part’s, tales como Power Copy’s o User Define Features (UDFs).
Con el programa matriz, a la hora de crear un fichero Excel, se toma como Excel de Partida, el “partida_imagen_FROM.xls”, cuya “macro” en vez de abrir un fichero con “Open” lo abre con el comando “FileNew From..”, dado que se supone que es una “Pieza Master” (Template), que tendremos que modificar sus valores, tales como Part Number, File Name, Properties y algún parámetro interno.
Esto obliga a que no se pueda “insertar”, directamente, en un Product, pero tampoco es muy importante ese hecho. Lo podemos hacer simplemente con dos ventanas y arrastrando el Part sobre el Product abierto.
La cabecera de este fichero tiene esta forma:
Como era de esperar, al mismo tiempo que se abra el Part, se abrirá el Drawing que tenga el mismo nombre y esté en el mismo DLName.
Este es el “quid de la cuestión”. La idea de cómo conseguir esto. Después, los programas, condiciones y demás, es menos importante. Son meras “instrucciones encadenadas”. Nada que no resuelva un informático.
Veamos el escenario donde nos movemos:
• | Por un lado, tenemos 24647 CATPart metidos en una carpeta, que es un DLName. |
• | Estos CATPart, “pueden” tener información adicional incluida en sus “Properties”, que podrían ser “Keywords” de un posible catálogo. |
• | Sabemos que podemos convertir un Excel a un Catalog, con la ventaja que “el Excel” no tiene Release (las piezas incluidas en la carpeta, sí ). Esto quiere decir que si, por ejemplo, las piezas son de la R20, podemos conseguir catálogos de la R20 en adelante. De la R16, también….pero no se descargarían las piezas, ¡Claro! |
Luego, en resumen, la forma sería:
Piezas en carpeta => Pasar a Excel con toda la información posible => Manipular el Excel (podemos añadir fácilmente “propiedades”, que no están en el CATPart) => “Traducirlo” a un .Catalog.
El Programa necesita que CATIA V5, esté corriendo y que los ficheros CATPart, sean de la misma Release o inferior al CATIA V5 que tenemos abierto. Porque, en caso contrario, no se podrán abrir los ficheros para conocer sus “Properties”.
Si el programa intenta abrir un fichero de una Release superior, nos dará un mensaje advirtiéndonos que le ha sido imposible abrirlo.
Por supuesto, que el ordenador desde el que se corre, esté en la lista de “ordenadores autorizados” del programa; que el programa esté en una carpeta, con los otros ficheros necesarios, que se suministran.
Los texto, colocados en las “cabeceras” de los Excel’s (Fila 3, para Imágenes, o Fila 8 y 9, para Catálogo) no pueden manipularse ni estar duplicados.
Además del .exe de la Aplicación, debe haber:
partida_imagen.xls: | Fichero de partida para imágenes. |
partida_imagen_FROM.xls: | Fichero de partida Piezas de tipo “Template” (Master) para imágenes. |
partida_catalog.xls: | Fichero de partida para Catálogos. |
► Y otros necesarios para el programa. |
Como hemos dicho con este programa se puede conseguir dos objetivos:
► A) | Obtener un Excel, con imágenes, Properties, y link a los ficheros. |
► B) | Obtener un Excel para Catalogo, con Properties, que se convierten en “Keywords”, y link a los ficheros, como paso previo a Obtener el Catalog de CATIA V5. |
Una de las cosas que debemos tener en cuenta, es que cualquiera de los dos procedimientos (A o B), conlleva abrir TODOS los ficheros de una carpeta uno a uno para extraer sus datos. Si la carpeta contiene muchos elementos, es aconsejable hacer lo siguiente:
Supongamos que TODOS los ficheros están en: C:\ncu_solidos_MDM
1.- | Creamos una carpeta C:\ncu_solidos_MDM-Pendientes y otra C:\ncu_solidos_MDM-Pasados | |
2.- | Pasamos todos los ficheros, temporalmente, a la carpeta C:\ncu_solidos_MDM-Pendientes. | |
3.- | Vamos pasando una cantidad “adecuada” de ficheros a la carpeta “original” (C:\ncu_solidos_MDM) y corremos el programa, dando como Excel inicial, el que está en el directorio de la Aplicación, y que se llaman: | |
• | partida_imagen.xls, para la opción A). | |
• | partida_catalog.xls, para la opción B). | |
4.- | Guardamos convenientemente el Excel obtenido (para que el programa no lo borre). | |
5.- | Movemos los de la carpeta original a la carpeta “Pasados” y repetimos los pasos del 3 al 5, pero ahora seleccionando el último Excel, para que se lo añada. |
Al final tendremos que volver a dejar los ficheros en su carpeta “original”, ANTES de dar el segundo paso (caso de la obtención del Catalog).
Si esto no se hiciera así, el proceso podría durar mucho tiempo (en mi ordenador I7, con mucha memoria, me tardó 17 horas para las 24647 CATPart’s) o ser abortado. Para obtener el Excel, con imágenes (R16) tardo 5:36 horas.
Para “copiar ficheros de una carpeta a otra”, cree un programa: ExtraerDeExcel.exe
Que le daba la lista de ficheros y los copiaba de una carpeta a otra.
Pero me cansé de copiar y mejoré este programa metiendo un “filtrado del contenido”, procesándose sólo los que estén en esa lista.
Esto evita andar moviendo ficheros de un sitio a otro.
Para ello usaremos la parte inferior:
El programa, inicialmente, aparece con esta opción activada y este aspecto:
Los botones, tiene los siguientes cometidos:
► | Zona para seleccionar la carpeta donde están los ficheros CATPart’s: |
Forzar: Es para obligar a buscar un nuevo directorio.
Es para seleccionar la carpeta a procesar. Si el cuadro de texto contiene el nombre de una carpeta válida, y NO se activa la opción de “Forzar”, se toma ese valor como válido, pero es NECESARIO hacer clic en el botón, para que el programa acepte este valor como bueno. |
Release y Service Pack: son los datos del CATIA que está corriendo.
► | Zona para seleccionar la carpeta donde se guardará el fichero Excel: |
Funciona igual que la anterior. Hay que hacer clic en el botón de las carpetas, para validar el contenido del campo de texto de la derecha.
Llegados a este punto, podemos seleccionar una de las dos opciones:
► | O Generar y/o modificar un Excel existente, tanto para obtener imágenes o para Generar Catalogo. |
► | O Generar el Catálogo, si ya disponemos del Excel. |
Si seleccionamos la opción “Generar Excel’s”, el Panel se nos queda de esta forma:
Y, entonces podemos elegir si queremos un “Excel con Imágenes” o “Para Obtener Catalog”.
En ese caso, seleccionamos dicha opción y nos queda esto en el panel:
El cuadro de la derecha de la carpeta contiene, por defecto, el Excel de partida, que lleva incluido su propia programación en VBA. Este fichero se llama “partida_imagen.xls”, para piezas de Catálogos (Normales) o “partida_imagen_FROM.xls” para Piezas Máster (Templates), y se suministra con la Aplicación. Podemos seleccionar otro, que ya tenga incluidas otras piezas.
Ese fichero, debe tener las columnas A, B y C, con esos valores en la fila 3, dado que están asociadas a las Properties que se extraigan de los ficheros (“Fichero”; “Image” y “Part Number”).
Las “Properties”: “Revision”; “Definition”; “Nomenclature” y “Description”, las obtiene SI O SI, el programa. Si no están en el Excel de partida, las añadirá al final. Caso que no nos interese, una vez obtenido el Excel, podemos borrar esas columnas. Eso sí: sabiendo que, si volvemos a ejecutar el programa, volverán a aparecer. El motivo es que “puede” que algún Part, lleve información interesante en esas “Properties”.. quizás algún día. |
En el campo “Nomb. Excel a obtener”, debemos escribir el nombre (sin la extensión) que queremos dar al Excel. Este nombre posteriormente, como es natural, puede cambiarse.
En el cuadro “Usar DLName”, podemos/debemos seleccionar el DLName que deseemos, de la lista desplegables de los “válidos”, que el programa detecta. |
Una vez rellenos estos campos, podemos dar al botón [Ejecutar] y obtendríamos el fichero Excel con las imágenes.
En el Excel se incluirá información sobre la Release, el Service pack de CATIA, el DLName usado, el Path de Windows de la carpeta, el número de la última fila, y se hará un “Auto Filtro” para la fila de “cabecera”, facilitando, de esta forma, que el usuario pueda “filtrar” por los valores de cualquiera de las columnas.
Obtendremos esto:
Recordamos que, en Excel, no se puede insertar una imagen en una celda, por lo que hemos hecho es “pegarla encima y hacer que se ajuste al tamaño de la celda”, por lo que, si deformamos la celda, la imagen se deforma. Se obtiene también, todas las imágenes, de tipo .jpeg, en la misma carpeta donde le hemos dicho que coloque el Excel. Estas imágenes pueden borrarse sin problemas. |
Para esto tendremos que activar la opción , que nos presenta esta otra pantalla:
En esta opción, tendremos que rellenar los mismos campos de la opción anterior, más los siguientes:
Capítulo: Nombre que lleva el Capítulo del Catalog. En la imagen, Catálogo “ARANDELAS.catalog”, Capítulo “NORMALES” y Familia “ARANDELAS”. Familia: El nombre de la familia que contiene todos los ficheros. |
NOTA: | Las familias son susceptibles de ser copiadas y pegadas en otro fichero de tipo “.catalog”. |
NOTA 2: | Los .catalog, pueden insertarse, dentro de una familia, existente en otro catálogo, con link, por ejemplo, en uno que englobe a todas las “familias”. Esto hace que se utilice menos memoria y también permite abrir esos pequeños catálogos por separado. |
El formato del fichero Excel de “Partida”, tiene dos líneas que no deben modificarse “a mano”. Son “etiquetas” que utiliza el programa. Corresponden a nombre de “Properties” fijas de los Part’s y las dos primeras son inamovibles: “Keywords” y “Part Number” (Fila 8) y al “tipo” de “keywords” de esa columna (Fila 9: String; mm; etc.). El resto pueden ser “Properties” de usuario o columnas insertadas por el Administrador de CATIA, para facilitar la localización de la normal deseada. Cada una de esas columnas se convierte en una “Keywords” del .catalog.
Cuando se ejecuta el programa, del primer CATPart que se abre (se supone que todos los demás son iguales) se leen las Properties.
El Programa tiene una lista de Properties “conocidas”, de las que no necesitamos saber el “Type”. Estas son:
• | “ESP_DIAM” => | “mm” |
• | “ANCHO” => | “mm” |
• | “LARGO” => | “mm” |
• | “ALTO” => | “mm” |
• | “THICKNESS/DIAMETER” => | “mm” |
• | “WIDTH” => | “mm” |
• | “LENGTH” => | “mm” |
• | “MASS” => | “g” |
Pero si no son algunas de estas, nos pregunta el programa “de qué tipo son”, apareciendo un nuevo panel:
Al terminar, nos pregunta si queremos abrir el fichero y muestra este mensaje:
NOTA 3: | Si volvemos a utilizar un fichero, al que hemos metido columnas, siempre tendremos como última columna SIN rellenar, en esa columna, ni la fila 8 ni la fila 9, el “path” de los ficheros que se insertan en el .catalog. Esto “obliga” al programa, a que cuando añadimos nuevos ficheros, si hemos borrado las columnas: “Revision”; “Definition”; “Nomenclature” y/o “Description”, estas vuelvan a añadirse al final. Pero, obligando a lo que ya tenemos a “desplazar la columna última tantas columnas hacia la derecha, como nuevas “properties” tengamos que insertar”. |
El cuadro “Usar DLName” nos permite utilizar, como definición de “donde están nuestros ficheros” un DLName, definido de cualquiera de las formas posibles, pero “válido”.
Para lo cual, he adaptado el programa para que, “de paso”, nos diga si en nuestro CATSettings de Usuario tenemos definidos DLNames, que ya no son válidos. Estos parecen en la lista “DLNames mal definidos:”
Y, sin embargo, en el desplegable, nos permite seleccionar un DLName válido que, evidentemente, debe corresponder con la carpeta escrita en el primer cuadro de texto.
Una vez rellenos estos datos, podemos dar a [Ejecutar].
Recuerda lo dicho sobre la cantidad de ficheros. ¡El tiempo!
El resultado es un fichero con esta estructura:
Cuando entramos en [Configure..] para los DLNames, podemos crear un DLName y, debajo de él otro u otros. En este caso la única condición es que el “nombre de la carpeta”, coincida cien por cien, con el nombre de DLName “hijo”. Y después lo suyo, para que se vea ese “árbol” es poner esta opción: “Activate logical filetree for DLNames”. |
Para poder utilizar el Excel generado, debemos tener activado las opciones de “Habilitar Macros” o, al menos, habilitarlas al abrir dicho fichero.
En el Excel se han incluido:
► | Se pregunta si el documento activo es un Product. | ||
• | Y si es así, el Part seleccionado se “añade” al Product activo. | ||
• | Si no hay un Product activo, el fichero simplemente se abre. | ||
► | En todos los casos, si existe el DLName indicado en la celda “C2”, se abre desde ese DLName. Si no existe, se abre desde el Path de Windows, indicado en la ceda “D2”. |
Una vez activado el “check” que pone “Acceder al CATIA”, si tenemos CATIA iniciado, tendrá este aspecto (aparece “VERDADERO”): El campo “B2”, con el número de filas que en ese momento contiene el fichero, se actualiza. Esto se hace así porque puede que ese fichero se haya formado en “varias fases”, por cuestión de tiempo (muchos ficheros). |
Cuando teniendo activada la opción “Acceder al CATIA”, seleccionamos una celda de la columna “A”:
► | Esta se colorea de verde (“Ole mi Betis güeno”) durante unos segundos, mientras se carga el fichero en CATIA, volviendo luego a su color inicial. |
► | Se colorea de color “naranja”, si el fichero no se localiza, manteniéndose este color. |
Se ha añadido la opción de cargar Drawing:
• | Si existe un fichero que se llame igual al fichero .CATPart pero, evidentemente, cambiado la extensión de “.CATPart” por la de “.CATDrawing”, lo abre al mismo tiempo. |
Si el fichero Excel de partida, para Imágenes, es el de “New From”, la macro No busca Product.
• | Si existe un fichero que se llame igual al fichero .CATPart pero, evidentemente, cambiado la extensión de “.CATPart” por la de “.CATDrawing”, lo abre en modo “New From”, al mismo tiempo. |
Una vez creado el Excel, según se explica en el párrafo anterior, podemos editarlo y añadirle o quitarle columnas guardarlo, manteniendo la “estructura” que tiene. Esto significa que NO estamos limitados al contenido de las Properties de las normales/piezas, si no que estas pueden ser “rellenadas” aplicando las facilidades que, para ello, proporciona el propio Excel.
Estas columnas son, cada una de ellas una “Keywords”, que nos facilitan la búsqueda.
Para pasar a esta parte del programa, debemos activar la opción, que nos mostrará este panel:
En esta opción, sólo tenemos que escribir o seleccionar el fichero Excel, que lleva toda la información presionando el botón [Gen. Catalog].
Cuando lo hacemos podemos recibir información adecuada por si la “ubicación” que hemos dado en el Excel no contiene los ficheros. Esto sólo podría ocurrir si el Excel se ha creado con un determinado “Entorno” y se ejecuta esta última acción en otro “Entorno” (si son distintos ordenadores).
Si el resultado es “satisfactorio”, nos aparece este mensaje:
El programa “analiza” si el fichero “Report” que genera, contiene la frase:
“Batch successfully ended”, con lo cual ha terminado bien, o esta otra:
“Batch aborted”, lo cual significa que la estructura del fichero no es correcta.
Ninguna de las dos (es lo que proporciona CATIA de forma directa), garantiza que el catálogo tiene correctos los link’s a los ficheros.
El programa SÍ comprueba que los ficheros son encontrados y de no serlos, te lo advierte por si quiere seguir o no.
Una vez que utilicemos el programa, las últimas carpetas utilizadas, se guardan en el fichero: “c:\Users\Juan\AppCatia\ExtrPropBatch\Directorio.txt”
¿Qué pasa si no utilizo DLNames?
Pues que entonces el catálogo está sujeto a que el contenido y “orden” de las opciones de tus CATSettings, en el cuadro “Linked Document Location”, sea tal, que los ficheros sean localizados.
De no serlos, el catálogo es creado, pero con los link’s rotos, lo cual tiene mala solución.
¿Cuándo cargo un catálogo, se cargan los ficheros a los que se hacen link?
¡Cuidado con esta pregunta!: No es lo mismo “abrir el fichero .catalog que, estando en un Product, “Navegar” (Browser) por el Catálogo.
Si abres el Catálogo (el fichero .catalog), no se cargan en memoria, Pero si vas a FileDesk, comprobarás que “si los intenta localizar”.
Si utilizas el “Navegador”, ni se cargan, ni se buscan, porque lo que interesa es que “puedas acceder a elegir una pieza, de una carpeta con muchas piezas, sin que tarde tiempo en hacerlo”. |
Lo único que sí afecta es a cómo tengas definidas las opciones:
“ToolsOptionsInfrastructureCatalog Editor” si seleccionamos la opción “Minimize referenced document access”, la vista previa, de un componente de catálogo, no se almacenará en dicho catálogo, y por lo tanto no se mostrará esta vista previa (ya sea en el “Catalog Browser” o en la pestaña “Preview” del catalog). Por lo tanto, esto va a mejorar el rendimiento (menos tiempo en cargar el catalogo y menos recursos de memoria).
El propósito de esta opción es minimizar el acceso a los documentos externos y, como consecuencia, la vista previa de los objetos no se actualiza y no se puede ver. Al explorar un catálogo, usted sabe que esta opción está seleccionada debido a que el “Status Unknown” (estado desconocido) aparece en “Preview”:
Una vez que carguemos en memoria el elemento, ya sea por tener una instancia de este o por hacerlo desde FileDesk, la previsualización, de ese elemento se actualizará y desaparece la etiqueta (Status Unknown).
Al marcar esta opción, también significa que los ficheros a los que “apunta” el catálogo, no se cargarán y que no se comprobarán los enlaces a estos catálogos. Como consecuencia, no será consciente de enlaces rotos, si los hubiere.
Sin embargo, tenga en cuenta que todavía se puede ver la vista previa de un elemento, haciendo doble clic en él, en la lista. Esto lo carga en memoria e implica que, en ese caso, en función de qué tengamos en el cuadro “Linked Document Location”, “modifique” el Path de dicho fichero dentro del Catalog.
¿En qué noto, en el .catalog o en “Browser”, que los ficheros no han sido encontrados?
En el .catalog, no lo notas en nada, porque es “una simple agenda”. Sin embargo, en el “Browser” , si que lo notarás, porque pone “(Broken)”.
Este software se proporciona “tal cual”, sin garantía de ningún tipo, expresa o implícitamente.
En ningún caso, el autor o cualquiera de los titulares de derechos de autor, se consideran responsables de ninguna reclamación por daños, pérdida de datos, daños en el hardware o daños del soporte.
Tenga usted en cuenta, que, si usted decide usar este programa, lo hace bajo su propio riesgo.
Este programa es Aplicación de Propiedad Intelectual Privada, y por lo tanto, no es de ninguna empresa.
El Programa esta sujeto a los derechos descritos en Creative Common, según se especifica en About.. (Dando doble clic al icono que aparece en la esquina superior derecha).
Idea y desarrollo de Juan Ribas Lagares “El Juanri” en https://www.muchocatia.es/
Ver vídeos: ExtraerProp, para Excel y Extraer Prop, para catálogo
Dirija sus preguntas a: juanri@muchocatia.es | CATIA V5 R27 |