Prueba Velneo Gratis

Te ofrecemos todo el poder de Velneo durante 1 mes para desarrollar la aplicación que tu empresa necesita.

Saber más
Thank you! Check your email for confirmation.

Programación en Velneo: integración de un ERP con CAD

En este artículo sobre la integración de Velneo con otras herramientas, vamos a ver cómo podemos comunicar nuestra solución ERP de gestión empresarial desarrollada en Velneo, con aplicaciones de diseño CAD 3D para poder interactuar de forma bidireccional entre el ERP y el software CAD.

La integración se ha realizado de forma exitosa con dos de los softwares de diseño CAD 3D más extendidos, Autodesk Inventor y SolidWorks

Herramientas necesarias

Para la realización de este proyecto ha sido necesario apoyarse en herramientas externas a Velneo y a los propios programas CAD. Cada tecnología utilizada es necesaria para que las funcionalidades programadas en la dll funcionen.

  • Visual Studio. Es necesario para el desarrollo de las dll que son añadidas como Add-Ins dentro de cada software CAD, gracias al API podremos realizar nuestra integración. Es una de las partes más importantes ya que en ellas se deben programar todas las funcionalidades que necesitamos, las veremos en el apartado siguiente Funcionalidades.
  • PostgreSql. Es necesario disponer de una bbdd intermedia para poder guardar la información que generan los programas CAD y la información que enviamos desde el ERP. Para ello se crean y definen las tablas, campos y relaciones necesarias que intervienen. Desde un apartado de configuración en la aplicación de Velneo crearemos de forma dinámica las tablas y campos.
  • Servidor FTP. Es necesario para poder subir ficheros desde los programas CAD a un repositorio y después descargarlos desde el ERP cuando son requeridos por el usuario. Se emplean estos ficheros para visualizar imágenes de los modelos CAD 3D en el ERP tanto en formato .step como en .jpg
  • Velneo. Con Velneo desarrollamos nuestro ERP que se comunica con los programas CAD y que interactúa de forma bidireccional con nuestra dll y la bbdd PostreSql.

Funcionalidades

A continuación se muestran las funcionalidades que nos aporta esta integración ERP-CAD

  1. Maestro de artículos único. Desde el ERP se envían todos los artículos que queremos estén a disposición y visibles en el CAD para poder asignar las propiedades de dicho artículo al modelo en el programa de diseño.
  2. Importación de propiedades. En el modelo diseñado en CAD, podemos indicar a la geometría que tengamos diseñada, con qué artículo de la base de datos del ERP se corresponde, creándose de forma dinámica las propiedades personalizadas dentro del objeto CAD con la información leída del artículo seleccionado.
  3. Vinculación del ensamblaje CAD a un proyecto del ERP. Podemos indicar a un ensamblaje que estamos diseñando en CAD a qué proyecto de nuestro ERP se corresponde, quedando vinculados y conociendo todo el despiece que tenga el objeto que estamos diseñando. Desde el ERP se puede ver el despiece que tiene ese objeto CAD y comparar las listas de materiales. De este modo quedan sincronizadas las listas de materiales en el ERP y en el CAD. También se identifica en el ERP mediante un icono que dicho proyecto se ha iniciado en el diseño.
  4. Visualización de modelos CAD desde el ERP. Desde el CAD podremos exportar un fichero step del ensamblaje, además de crear un .jpg con la vista isométrica del modelo, de manera que desde el ERP se pueda ver la pieza con un visor de ficheros CAD, además de la miniatura creada en el propio formulario del proyecto. Con esto nos evitamos tener que instalar el programa CAD original para poder consultar o visualizar las piezas, y quedan accesibles a cualquier usuario del ERP autorizado.
  5. Exportación de la lista de materiales. Desde el CAD se puede exportar en cualquier momento la lista de materiales del ensamblaje al ERP, cada ítem del despiece contiene todas las propiedades e información para identificar dicho artículo en la base de datos del ERP de forma única, de manera que una vez dentro del ERP podremos gestionar las compras de todos estos artículo de forma ágil y sencilla.

Descripción técnica

Esquema de comunicación

Desarrollo DLL. Visual Studio

Para el desarrollo de las dll que se integrarán como un nuevo Add-in dentro de cada aplicación CAD hemos empleado Visual Studio.

Imagen del proyecto de aplicación para la dll desarrollada para SolidWorks

Muy importante especificar y añadir las dependencias que serán usadas en el proyecto, cada software CAD tiene un API propio que debemos conocer para saber qué referencias debemos añadir al proyecto y de este modo tener acceso a la biblioteca de clases del software CAD (en este caso el API de SolidWorks)

Imagen de las referencias usadas en el proyecto

Imagen del explorador de soluciones y el código asociado a un botón

En este entorno se crean todos los objetos y el código necesario para el desarrollo de todas las funcionalidades que queremos que tenga nuestra dll que será añadida como Add-in a nuestro software CAD.

La DLL una vez probada y compilada debe ser guardada en una ruta específica donde el programa CAD al iniciarse la leerá y la añadirá al menú de opciones de la aplicación (en nuestro caso SolidWorks). Vemos en la imagen resaltado en amarillo la nueva pestaña “BCPRO-LinkCAD” y la toolbar encima con las opciones correspondientes a las funcionalidades que antes explicamos.Desde el ERP desarrollado con Velneo hemos incluído como fichero adjunto la dll para que se instale en la ruta correspondiente sino existe, de este modo el usuario no tiene que hacer nada.

Imagen de SolidWorks con el Add-in BCPRO-LinkCAD cargado

Almacenamiento de datos compartidos ERP-CAD. PostgreSQL

Hemos elegido PostgreSQL como base de datos para el almacenamiento de los datos compartidos entre el ERP y el CAD, tal y como veíamos en el esquema de comunicación. Por supuesto se puede utilizar la que a cada uno le guste más y se sienta más cómodo.

Para realizar la comunicación entre Velneo y PostgreSQL es necesario instalar el driver ODBC de 32 bits y para realizar la comunicación entre Solidworks y PostgreSQL es necesario instalar el driver ODBC para 64 bits. Con los drivers instalados ya podemos proceder a la creación de la DSN en cada máquina cliente que queramos.

Imagen de configuración de la DSN

En el ERP se ha habilitado una configuración para definir los parámetros de comunicación entre Velneo y PostgreSQL, dichos parámetros serán los que se utilicen en todos los procesos de comunicación con la bbdd.

Imagen de configuración de parámetros

En el ERP hemos habilitado una configuración específica para crear de forma dinámica los campos que tendrá la tabla de artículos, cada campo se corresponderá con una de las propiedades de la pieza en el CAD, de este modo las piezas del CAD tendrán las mismas propiedades que los artículos del ERP.

Imagen de configuración de parámetros o atributos del artículo

Al pulsar sobre el botón se ejecuta el proceso que crea la estructura de tablas en postgresql

En Velneo está guardado como fichero adjunto un archivo con el backup de la estructura de la bbdd vacía

Como se ve en el proceso lo que hacemos es crear fichero.bat con una línea para crear y otra para restaurar la estructura de la bbdd que teníamos en el backup y lo ejecutamos.

El resultado es la creación de las tablas y los campos que hemos configurado, así lo podemos ver en el panel de administración PGADMIN

Imagen pgAdmin III de las tablas creadas

Una vez tenemos la bbdd montada y la conexión odbc funcionando el primer paso es alimentar la bbdd de PostgreSQL con los artículos del ERP de Velneo, cada artículo creado será marcado en Velneo como sincronizado para no volver a enviarlo mientras no sea modificado.

Imagen de los artículos creados

Ahora desde el CAD ya podremos acceder a todos los artículos para poder vincular nuestro modelo a un artículo real de nuestro ERP. En la imagen podemos apreciar cómo al buscar el artículo redondo el sistema nos muestra los redondos que podemos seleccionar para vincularlo al modelo y crear de este modo las propiedades en la pieza que vemos en la parte derecha, y que son las propiedades del artículo del ERP que habíamos configurado al principio.

Imagen de SolidWorks con la opción de importar artículo

Las demás opciones disponibles en la DLL realizan otra serie de acciones para el envío e intercambio de datos con el ERP, no nos vamos a detener en explicar los detalles técnico de cada opción para no alargar demasiado este post, en el inicio del documento en el apartado Funcionalidades ya se explica en qué consiste cada opción.

Servidor FTP

Necesitamos montar un servidor FTP para poder subir a un repositorio los ficheros CAD convertidos a formato .STEP y .JPG. Desde nuestra aplicación ERP tendremos la opción de descargar dichos ficheros para su visualización sin necesidad de tener que instalar el software correspondiente. Para ello podemos emplear Filezilla Server o cualquier otro que nos guste más. Podemos ver en la imagen cómo configuramos los parámetros de acceso al servidor en nuestra aplicación Velneo.

Imagen de la configuración FTP en Velneo

La subida del fichero al FTP se realiza desde la aplicación CAD gracias a una de las funcionalidades desarrolladas en la dll pulsando sobre el botón que genera los ficheros .STP y .JPG para que estén accesibles cuando la aplicación Velneo lo requiera.

Imagen SolidWorks de la opción Guardar

En el servidor FTP se crean las carpetas del proyecto correspondientes donde se suben los ficheros, para dar nombre a la carpeta se usa el identificador del elemento en el ERP, que previamente hemos leído en la opción de este modo nos aseguramos que cada fichero es único como vemos en la imagen.

Imagen del explorador de archivos FTP con los ficheros

Imagen del fichero en un formulario Velneo dentro del ERP

Velneo

Con Velneo hemos desarrollado el ERP que es la aplicación encargada de gestionar todos los datos que queramos intercambiar con los programas CAD. Se encarga por un lado, de alimentar la base de datos PostgreSQL enviando la información necesaria para que el programa CAD pueda leer esa información y por otro de solicitar los datos que el programa CAD a enviado a PostgreSQL. Una vez leídos y recibidos los datos del CAD el programa Velneo ya puede realizar las diferentes funcionalidades que se hayan desarrollado, por ejemplo la importación de todos los artículos del ensamblaje en CAD para poder compararlos con la lista de artículos que tenemos en el ERP y enviarla a una solicitud de compra de manera automática.

Imagen del formulario de comparación de la lista de materiales del CAD y del ERP

Vemos en la siguiente imagen un ejemplo del proceso que utiliza los comandos de conexión con BBDD externas a través del odbc de Velneo.

Imagen del proceso que lee los datos de PostgreSQL y los crea en Velneo

Las aplicaciones y funcionalidades una vez realizada la integración son infinitas, solamente depende de nuestra imaginación y de las necesidades que tengamos o nos demanden nuestros clientes.

Agradecemos a Innovadb la cesión de las imágenes de su ERP

Hugo Barros
29/3/2020
Regístrate ahora y nuestro equipo se pondrá en contacto muy pronto