PDA

Ver la Versión Completa : Firebird, delphi y autocad?


juziel
27-04-2005, 01:37:48
Hola a todos.

Necesito hacer un programa, en delphi 6, que pueda leer los atributos de los bloques de autocad, pero los atributos deben estar relacionados, con una base de datos, para ello he pensado en firebird, pero no se como conectar firebird con autocad para que pueda insertar los atributos de un block en autocad, y luego poder leer estos atributos desde delphi.

Espero que puedan ayudarme. Gracias de todas formas.

fly
27-04-2005, 02:23:40
No entiendo realmente lo que necesitas hacer, pero el primer paso supongo que es conocer la estructura de los ficheros de autocad. Los ficheros .dwg, a diferencia de los .dxf, no son ficheros ASCII "fáciles" de interpretar.

Despues si que podrías hacer una base de datos, teniendo en una tabla la lista de atributos posibles y en otras el resto de datos del fichero de cad que necesites (nombre, capa, tipo de objeto...)

Si los atributos que necesitas se exportan en los ficheros DXF, te sujiero que empieces por ahí, pues parecen más fáciles de entender.

Saludos.

juziel
27-04-2005, 17:43:47
hola

Disculpa si no me he explicado bien. Lo que trato de hacer es un programa en delphi, para contar material que este en un dibujo de autocad por medio de bloques, los bloques deben tener los atributos "codigo" y "cantidad" y luego relacionar por decir el codigo del material con la base de datos de firebird. y que el mismo programa en delphi, pueda dibujar o insertar los bloques con los codigos de los materiales en el dibujo de autocad y al final que el programa en delphi pueda contar el material del dibujo.

gracias por responder

fly
28-04-2005, 01:34:33
y que el mismo programa en delphi, pueda dibujar o insertar los bloques con los codigos de los materiales en el dibujo de autocad Pero ¿a que te refieres? a que dibuje en el visor del autocad o a que modifique el fichero DWG.

Sigo sin entender si lo que necesitas es hacer un pluging para autocad o una aplicación stand-alone que gestione/modifique los ficheros.

Por favor, explícate como si yo no supiera de lo que estas hablando ;) te juro que por muy larga que sea la explicación la leeré entera.

Explica primero que es lo que necesitas (no sea que autocad ya tenga una función para hacerlo).


Saludos.

rencom
28-04-2005, 11:11:03
Hola, yo no me calentaria tanto la cabeza y lo programaria en AUTOLISP, lenguaje nativo de autocad, en el que dispones de esa y multitud mas de opciones para trabajar con bloques.
un saludo

juziel
28-04-2005, 18:38:00
hola, gracias por responder.

...a que dibuje en el visor del autocad ...
lo que quiero hacer es tener la ventana de autocad abierta y que el programa delphi pueda insertar bloques con atributos o dibujar los bloques, por decir un bloque llamado material debe tener atributos como "CLAVE", "CANTIDAD", asi la base de datos tendria campos como "CLAVE", "DESCRIPCION", "UNIDAD", ETC. El programa delphi lo que haria es cuando quiera insertar el bloque en autocad, me pidiera la clave del material y la cantidad. o que me apareciera un dialogo con todos o algunos de los campos de la base de datos para poder seleccionar el material asi el usuario no tendria que saber todas las claves de todos los materiales, en el mismo dialogo el usuario podria introducir la cantidad, asi el block tendria la clave y la cantidad.
Al terminar el dibujo en la ventana de autocad poder hacer el recuento de los materiales, por medio de las claves y las cantidades, esto seria algo como todas con todas las claves iguales sumar las cantidades, esto es con autocad abierto, asi contaria todos los bloques de todos los tipos y luego generar un reporte en delphi mostrando las claves, descripcion, unidad, cantidad, etc, en donde las unidades y las descripciones estan en la base de datos de firebird.

Espero haberme explicado bien, y gracias por tu ayuda.

En cuanto autolisp, no se como llamar la base de datos de firebird. y luego mostrar una tabla con los campos en un dialogo.

Gracias por su ayuda.

fly
29-04-2005, 02:42:18
Uff... pues poco más te puedo ayudar, como te dice rencom creo que seria mejor hacerlo en Autolisp, seguramente no podrás usar firebird, pero lo que tu quieres hacer es demasiado concreto y tendrás que ajustarte a las herramientas que te ofrezca autocad.

Búscate un manual de Autolisp y si ves que con el no se puede hacer lo que necesitas, se pueden barajar alternativas.

Buscando por google he encontrado esto :


6.2 ¿AutoCAD 2004 soporta interfaces COM?
AutoCAD 2004 tiene uno de los conjuntos más completos y robustos de interfaces COM que cualquier sistema de diseño disponible hoy. Debido a que AutoCAD tiene un kernel completo, limpio, abierto y orientado a objetos ObjectARX publicados , es fácil ofrecer interfaces COM al mismo sistema de objetos a través del modelo de objetos AutoCAD ActiveX. Debido a esta arquitectura, AutoCAD puede ser personalizado fácilmente usando cualquier lenguaje de programación de clientes COM o ActiveX (como Visual Basic, Delphi de Borldand, o J++ Java de Microsoft). Además, Visual LISP tiene acceso completo a estas mismas interfaces COM.
esto viene de http://www.arquitectura.com.ar/publicidad/autodesk/autocad_2004.htm

y en la página de Autodesk http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=770237

más enlaces de google:
http://autocad.designerz.com/autocad-development-autolisp.php

Saludos y suerte.

juziel
29-04-2005, 03:09:48
Gracias por tu ayuda. Seguire buscando y voy a considerar a autolisp.


Gracias nuevamente, hasta luego.

juziel
04-05-2005, 17:42:03
Hola de nuevo.

Serian tan amables de decirme como puedo conectar una base de datos desde autolisp, ya sea dbase o paradox.

gracias de antemano.

Al González
04-05-2005, 20:44:22
¡Buen día a todos!

Juziel:

Considerando la nota expuesta por Fly («...Debido a esta arquitectura, AutoCAD puede ser personalizado fácilmente usando cualquier lenguaje de programación de clientes COM o ActiveX (como Visual Basic, Delphi...»), te sugeriría que lo intentaras directamente con Delphi, utilizando las interfaces COM o ActiveX que ofrece AutoCad (si es que tu versión de AutoCad ofrece esas interfaces).

Me parece sumamente interesante todo lo planteado. Tomando en cuenta el enorme mercado de AutoCad, creo que podrían desarrollare algunas aplicaciones Delphi complementarias muy útiles.

Seguimos en contacto.

Al González. :)