Archicad C++ API
About Archicad add-on development using the C++ API.

ODBC alternative for AC22 onward?

Anonymous
Not applicable
Since ODBC support was discontinued a few AC versions back, what is the current approach to organizing external read/write access to Archicad project/database (located on BIMcloud server)?

To clarify, I am looking for the curently suggested official approach to access project's SQL database from external application, however, I can't find any information on the matter.

I have background, interest, substantial resources and budgets to develop a number of PM applications for BIM environment, but lack of clear information on database connectivity within AC development sphere does steer my interest away from this BIM authoring environment.

Would any GS staff reading this forum be kind to clarify this matter?

I would really appreciate any pointers.

Thank you.
11 REPLIES 11
Karl Ottenstein
Moderator
Anton wrote:
I am looking for the curently suggested official approach to access project's SQL database from external application, however, I can't find any information on the matter.
Pending any response, as you requested, from Graphisoft staff...

There is no SQL database for a project. The ODBC driver's purpose was to provide an abstraction layer to the internal project data which allowed things to appear as if you were accessing a SQL database. Furthermore, the old ODBC driver provided only read-access to project information. I thought the ODBC driver was a great thing, but don't believe very many people were using it, and imagine that Graphisoft's resources had to be directed towards the core product / larger audience.

Developers (programmers/coders) have read/write access to project data, but via programming in C/C++ and the ARCHICAD API.
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Anonymous
Not applicable
Thank you for your help, Karl.

I do understand budgeting priorities GS is facing, but, I think, with today's incline toward OPENBIM and integration, budgeting priorities might need to be reevaluated.

Plus, I don't think I am asking to develop anything new. Essentially, any Archicad project is an SQL database (albeit, a diriviative of it) and I'd like to develop a few applications to integrate with it myself, but I am asking regarding what is the current roadmap to allow read/right access to that project database from external web application not housed on the same server as the project in question is housed at. I assume, it is through an API, and I have access to it, but I can't find any case studies or explanations... thus I am asking for help.
Anonymous
Not applicable
Form unknown reason they got rid of SQL queries form AC20. You right that it's bad decision. It blocks developent of more effective workflows for bigger projects. However I suppose it is possible to write add-on that manges connection with SQL db.
Anonymous
Not applicable
Karl wrote:
Developers (programmers/coders) have read/write access to project data, but via programming in C/C++ and the ARCHICAD API.
This is true, Karl, and I am aware of API's capabilities. However, API (at least its documented side) only offers access to project database from inside of ARCHICAD's authoring environment. I am inquiring about a roadmap for a controlled, authenticated, rule-based access to ARCHICAD project database from an outside application.
Karl Ottenstein
Moderator
Anton wrote:
Karl wrote:
Developers (programmers/coders) have read/write access to project data, but via programming in C/C++ and the ARCHICAD API.
This is true, Karl, and I am aware of API's capabilities. However, API (at least its documented side) only offers access to project database from inside of ARCHICAD's authoring environment. I am inquiring about a roadmap for a controlled, authenticated, rule-based access to ARCHICAD project database from an outside application.
You're right - stand-alone access to PLN data was a key feature of ODBC and the API only provides for add-ons that run within the process space of a running ARCHICAD instance. I am not aware of any plans to offer access to project data outside of the application.
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Anonymous
Not applicable
Karl wrote:
I am not aware of any plans to offer access to project data outside of the application.
Thank you for the info, Karl.

Unfortunately, this seems like a "no" to my original question.

I think I understand the logic behind precluding read/write access from outside sources directly to a project database (with ARCHICAD project being proprietary IP for GS), I do not support it (like I did not support "dongle vs. activation key" route back in the '90s), but I understand where this is coming from.

I, personally, think this can be reevaluated, as locking ARCHICAD from outside developments will be hurting ARCHICAD distribution in a long run. I, for one, have been recently asked to pick BIM authoring environement for a global financial industry in need of contemporary overhaul, and inability to link ARCHICAD project database with other database sources already existing within the industry will not allow me to point 5bn industry, currently open for suggestions, in the direction of AC.

I hope this will be addressed in the future.

I got my answer. Thank you, Karl.
Karl Ottenstein
Moderator
You're welcome, Anton - but I don't work for Graphisoft, so only shared what I am aware of. You originally asked for a Graphisoft official response, and I hope you still get one.

I understand the project you're describing. I knew of someone several years ago who was linking models of huge facilities spread all over the country to the organization's various databases and ODBC was critical for that project. I have no idea what they are doing now.

Out of curiosity - do any of the other BIM products provide the data access that you're seeking?

Cheers,
Karl
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Anonymous
Not applicable
Karl wrote:
Out of curiosity - do any of the other BIM products provide the data access that you're seeking?
Sure. Not to promote the other side, but I can do that for my Revit projects, for instance, through “Revit DB Link” function. Back in 2012 it was one directional too (export only), however for the past five years or so it is going both ways (import and export). The functionality can be further enhanced through Revit API to allow smooth database connectivity.
Ralph Wessel
Mentor
Anton wrote:
I don't think I am asking to develop anything new. Essentially, any Archicad project is an SQL database (albeit, a diriviative of it) and I'd like to develop a few applications to integrate with it myself, but I am asking regarding what is the current roadmap to allow read/right access to that project database from external web application not housed on the same server as the project in question is housed at. I assume, it is through an API, and I have access to it, but I can't find any case studies or explanations... thus I am asking for help.
Can you clarify what you mean by "any Archicad project is an SQL database"? SQL is a language for querying or managing data in a (typically) relational database. There are many different models for the underlying database structure, but an ARCHICAD project file (and the API for accessing it) doesn't resemble any of them. The situation might be completely different with the data stored in BIMCloud, but that's purely speculation (there's no public information that I'm aware of).

Previous SQL access to an ARCHICAD project was provided through an add-on. I suspect that developing and maintaining that add-on was quite expensive. I can understand why GS would retire it if the uptake was low.

It is perfectly possible to provide external access to the project model through the API – after all, this is what GS was doing with the previous SQL add-on. I've developed several projects that provided external read/write access, as have others.
Ralph Wessel BArch

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!