Documentos de Auto CAD2004(2007) sobre la aplicación
Resumen Este artículo describe el método de uso de la tecnología de interfaz ASI interna para el diseño de programas en el sistema CAD hidráulico para implementar el intercambio de datos con Visual Foxpro 3.0 en el entorno de desarrollo secundario de AutoCAD R13 para Windows.
Palabras clave: intercambio de datos de la interfaz de desarrollo secundario de AutoCAD
1 Introducción
El intercambio de datos es la tecnología central de CAD. Se puede decir que sin un intercambio efectivo de datos. , no habrá un intercambio efectivo de datos. No se podrán aprovechar plenamente las ventajas del CAD. Al realizar el desarrollo secundario de software CAD en el entorno de AutoCAD, se analiza cómo lograr un intercambio efectivo de datos entre módulos, cómo resolver problemas de interfaz entre varios tipos de software diferentes y cómo realizar la conexión entre entidades gráficas y datos de entidades no gráficas. clave para el desarrollo secundario de CAD cuestiones clave resueltas por el sistema.
Este artículo se centra en el método de programación ASI (AutoCAD SQL Interface) para el intercambio de datos entre AutoCAD R13 C4 para entorno Windows y Visual Foxpro 3.0, y se aplica específicamente al software CAD de sistemas hidráulicos.
2 Desarrollo de AutoCAD y acceso a bases de datos
Al igual que otro software popular, Autodesk proporciona un mecanismo para interconectarse con bases de datos externas dentro de AutoCAD R13. AutoCAD en sí contiene partes del controlador ASI (AutoCAD SQL Interface), ASE (AutoCAD SQL Extension) y DBMS (Database Manager System). En la figura se muestra el diagrama esquemático del intercambio de datos entre AutoCAD y los archivos de la base de datos.
Diagrama esquemático del intercambio de datos entre AutoCAD y archivos de bases de datos
ASI sigue el estándar ANSI/ISOSQL y es un conjunto de funciones utilizadas para acceder a bases de datos externas desde AutoCAD. Las aplicaciones creadas con ASI se pueden conectar al sistema AutoCAD a través del sistema de aplicaciones de desarrollo AutoCAD desarrollado en lenguaje C, ARX desarrollado en Visual C 4.0 o su propio lenguaje AutoLISP, y pueden ser manejadas por diferentes bases de datos. Acceder e intercambiar datos desde diferentes bases de datos. con el apoyo del programa.
ASE es un conjunto de comandos que conectan SQL al sistema AtuoCAD. Su esencia es la aplicación ADS/ARX creada usando ASI. Con ASE, puede consultar y modificar los registros y campos de archivos de datos en bases de datos externas dentro de AutoCAD. Puede asociar datos a entidades gráficas y entidades no gráficas (como reemplazo de parámetros de dimensión y tablas detalladas en dibujos tontos, etc.). Realiza consultas bidireccionales entre gráficos y datos, y puede rastrear y mostrar datos dinámicamente en gráficos.
AutoCAD en sí contiene un conjunto de controladores de bases de datos, cada uno de los cuales admite un DBMS externo al que está conectado. Entre ellas, las aplicaciones creadas con ADS/ARX o AutoLISP no necesitan considerar aplicaciones de código específicas de DBMS, ya sea que estén programadas con comandos ASI o ASE. Su esencia es seguir el estándar SQL universal.
Los lenguajes de desarrollo compatibles con AutoCAD incluyen Turbo C, Visual Basic 5.0, Visual C/C 4.0 y el lenguaje interno AutoLISP. Entre ellos, C y VB generan funciones ADS mediante la creación de funciones, y VC genera. Funciones ARX, asociadas a la información de AutoCAD.
ASE es un conjunto de comandos dentro de AutoCAD que se pueden ejecutar mediante programación.
Como núcleo del acceso a la base de datos de AutoCAD, ASE tiene la capacidad de acceder a la base de datos de manera más directa, lo que permite que las aplicaciones accedan a datos de múltiples DBMS, múltiples bases de datos dentro del DBMS y múltiples tablas dentro de la biblioteca. ASE y ASI se pueden utilizar individualmente o simultáneamente según sea necesario. El método ASE es fácil de implementar en términos de visualización de atributos, edición, cuadros de lista, funciones basadas en consultas, etc., pero para aplicaciones complejas, se debe utilizar la programación ASI para implementar funciones.
3 Uso de métodos ASI
3.1 Archivos de soporte ASI y entorno de desarrollo
Los archivos de programación ASI soportados por AutoCAD R13 para Windows se almacenan de forma predeterminada en el Directorio \ACAD\WIN\ASE. Hay bibliotecas de destino ASI (el sufijo del archivo es .LIB), como asiatm80.lib; archivos de encabezado ASI (asi.h contiene la definición general de ASI), (asierr.h contiene el significado de devolver valores de código de error), ( asiappl.h contiene el archivo de encabezado principal del lenguaje de consulta estructurado SQL de AutoCAD) (asisdata.h contiene la definición de la interfaz de usuario C).
Para aplicaciones compiladas con ASI, los compiladores disponibles son: Borland C/C 4.0, Microsoft C/C 7.0, Microsoft Visual C 4.0 o superior, etc.
3.2 Pasos del proceso de implementación del uso de ASI para interactuar con la base de datos
Conecte la base de datos: inicialice el controlador DBMS especificado por ASI a través de asi-initsql, ads-initdrv y asi-connect. respectivamente, inicie sesión en la base de datos especificada.
Abrir un identificador de comunicación: esto se puede lograr llamando a la función asi-compile. En un programa ASI, cada declaración SQL se procesa a través de un identificador de comunicación.
Compilar sentencias SQL: Esto se logra llamando a la función asi-compile.
Ejecutar sentencias SQL: Utilice la función asi-iexecute para ejecutar sentencias SQL.
Consultar y procesar datos: consulta los resultados fila por fila, selecciona la fila actual y realiza el procesamiento de datos. Las funciones requeridas son: asi-fetch para obtener la fila actual donde se encuentra el cursor; asi-coldsc para obtener la descripción de una columna; asi-delete para eliminar la fila actual, asi-update para reemplazar la fila actual y otras; funciones.
Cerrar el identificador de comunicación: utilice la función asi-chandle para cerrar el identificador de procesamiento de declaraciones y liberar el identificador.
Desconectarse de la base de datos: llame a la función asi-disconnect para desconectar la base de datos iniciada; llame a la función asi-temdrv para finalizar el controlador; llame a la función asi-temrsql para finalizar la interfaz del programa.
Cada uno de los procesos anteriores puede utilizar la función de procesamiento de códigos de error de ASI para procesar información de error. Utilice asi-err para obtener un código de error y utilice la función asi-errmsg para obtener un mensaje de error.
4 Descripción del ejemplo
Este ejemplo proporciona un archivo de base de datos de válvulas de secuencia SXFLIB.DBF en el diseño del paquete de software del sistema hidráulico establecido en el entorno Visual Foxpro3.0. Se muestran sus datos. en la siguiente tabla.
Nombre Tipo Diámetro Presión Flujo Escala
Válvula de secuencia X-F*10D3-P-* 10.0 20.0 40.0 0.5
Válvula de secuencia 2X-F*10D3-AB/ BA-* 10,0 20,0 40,0 1,0
Válvula de secuencia unidireccional XA-F*10D3-B-* 10,0 20,0 40,0 0,7
Válvula de secuencia unidireccional XA-F*10D3- B( A)-* 10.0 20.0 40.0 0.5
Compile la aplicación ASI para lograr las funciones requeridas:
(1) Compile el comando ins-rowvalue para realizar los datos y nombres en los gráficos de AutoCAD Haga una marca e insértela en el registro de la base de datos.
(2) Prepare el comando get-rowvalue para leer datos de filas seleccionadas en la base de datos, mostrarlos en el cuadro de diálogo del software y dibujar gráficos de acuerdo con la proporción proporcionada por los datos.
(3) Compile el comando fetch-dallue para leer todos los registros de la base de datos y mostrarlos en el cuadro de lista del cuadro de diálogo para que los usuarios puedan llamarlos e insertarlos en gráficos.
Dado que AutoCAD puede acceder a bases de datos a través de ASI/ASE y DBMS, amplía enormemente las ideas de diseño de muchos proyectos de aplicaciones, ahorra tiempo de trabajo a los diseñadores, mejora la eficiencia del trabajo, reduce los costos de inversión y es propicio para la implementación. de sistemas integrados.