Archicad Python API
About automating tasks in Archicad using the Python API.

A new generation of Python solutions

Anonymous
Not applicable
Hello everyone, I am beanjs, the author of the xbimer platform. I have been exploring the use of python in archicad for more than 3 years, and today I brought a new generation of python solutions to archicad.

xBIMer is a python sdk plugin designed for Archicad. It allows developers to use python to develop plugins for archicad. Since you need to install a huge IDE when using the official C++ sdk to develop plug-ins, it is not very friendly to developers. Secondly, the official only provides c++ sdk as the only choice for archicad, not as many choices as Revit. This indirectly makes it difficult for other developers to integrate into the development of archicad plugins.

xBIMer is a solution between the official C++SDK and the official Python API, and will support Archicad 22 or above. It allows developers to use python language to access the functions in Archicad's C++SDK (if allowed), such as menus, dialog and other C++ interfaces. In addition, you can also use the official python api module in xBIMer (Requires Archicad 24 or above).Using xBIMer you will not need to install visual studio (on windows system), Xcode (on macos system, mac system will be supported in the future) can develop plug-ins for Archicad. You can write the code once and run it in the Windows system and the macos system, without the need for adaptation between different systems. Not only that, the plug-ins you develop based on xBIMer can be easily extended to different versions of Archicad without the need for additional compilation and adaptation. At the same time, with the help of Python's perfect package management mechanism, you can also easily add third-party modules on the PyPi website to the Archicad plug-in.

Not only that, xBIMer has a great possibility to solve the official legacy problems, such as i18n, etc. Today I released the first release version. Although this version only provides a complete python language runtime for Archicad, it has not yet been ported to the official C++ API (this will be a future work). For me, the next job is that I must first focus on porting GUI-related APIs (DGLib, UDLIb), because I currently need this feature. If you like this project, you can check it out on github. https://github.com/xbimer. Soon I will publish some video tutorials related to xBIMer. You can subscribe to @xbimerOfficial on twitter to get the latest news. Thanks to Github, Youtube, IFTTT, and other service providers for their support of this platform.
23 REPLIES 23
ethanbodnar
Enthusiast
This sounds really exciting and sharing something that you're passionate about and working on is the best way to introduce yourself.

Thank you for sharing here, I'm not a developer but have friends who are, and from the little I understand this could be cool. I don't think we need to only share finished projects, I like hearing about the process and stories behind things, and perhaps other developers have insights, ideas or questions to share that would add to your project.
leceta
Expert
I'm seconding each word by Podolsky, this is highly interesnting topic, even if its not ready yet, maybe we can give some positive energy to Beanjs.

Karl, I can hardly understand why are you being so rude with Beanjs and its very interesting initiative. At first you complained on Beanjs not using its personal name or its credentials (this doesn't bother me at all btw, this doesn't turn on my spam alarms by no means... in fact, he is sharing source code, and has publicly shared his python work in relation to archicad already two years ago.

Now you want to archive the thread because it is not developed enough. Excuse me? Did you consider if Beanjs is just searching for feedback, looking for other people to join the project, or maybe just self promoting... I really don´t care, this can´t be anything but positive for Archicad and its community, so why are you so determined to delete it?

Please, as a member of this community and as a Graphisoft customer, I ask you to leave this thread as it is, because it is of great interest to me as an Archicad user. Let me say that I think you are making a poor job as a moderator here. You should encourage the creation of a wealthy Archicad user community, instead of being a problem for this to happen.

This is incredible...
Karl Ottenstein
Moderator
OK guys, I'll leave the thread. My point as a moderator is that this does absolutely nothing yet for ARCHICAD, so is premature to even be discussed here (because it does not even offer what it will eventually provide) - and it was also posted several times in other Python threads as if it was a WORKING substitute for any other Python system within ARCHICAD, which it is not.

The point of using a real name etc is that this is an add-on that a user, rather than a developer, might download - source code or not. Anyone posting add-ons - which present a risk to the user by their very nature - should at least announce their real name and affiliation. This is the first case of an anonymous developer presenting something here and I'm not comfortable with the idea.

So, again, I will leave this here (the admin may have different feelings), and hope to be proven wrong by someone doing something useful with this. 🙂
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
leceta
Expert
Thanks Karl!
Podolsky
Ace
Guys.
I want to say, that apart of personal opinions of anyone - developers, users, moderators or even company - exist simple fact - we NEED working Python in ArchiCAD.
Currently exist two solutions - one that started almost 3 years ago in China by third part developer and another that appeared in ArchiCAD 24 developed by Graphisoft.
Unfortunately both are promising more than doing. When I did hear first about Python in ArchiCAD - I was super exited, as I have very big need in developing Add-Ons, but cannot handle C++. When I look at C++ documentation I understand I need few years of study programming and after will be able to write my first Add-On. I had very big hope, that Python will help me with that - just because it's a script, that can be executed without compiling. I also have seen how many cool stuff is written in Python in another programs - like Blender, or GIMP.
But today, when I look to Python - I see that very little possibilities there. It can change ID's, some properties and create or delete layouts.

Why Graphisoft cannot collaborate with Beanjs and develop together useful tool? Does exist Graphisoft China? Invite Beanjs to the office, review his development, make him an offer, if this development has potential. There are so many ways to communicate! The worst that we can do - is communicate that in famous British show: "Computer says NO".

WE NEED WORKING PYTHON.
Anonymous
Not applicable
Podolsky wrote:
Guys.
I want to say, that apart of personal opinions of anyone - developers, users, moderators or even company - exist simple fact - we NEED working Python in ArchiCAD.
Currently exist two solutions - one that started almost 3 years ago in China by third part developer and another that appeared in ArchiCAD 24 developed by Graphisoft.
Unfortunately both are promising more than doing. When I did hear first about Python in ArchiCAD - I was super exited, as I have very big need in developing Add-Ons, but cannot handle C++. When I look at C++ documentation I understand I need few years of study programming and after will be able to write my first Add-On. I had very big hope, that Python will help me with that - just because it's a script, that can be executed without compiling. I also have seen how many cool stuff is written in Python in another programs - like Blender, or GIMP.
But today, when I look to Python - I see that very little possibilities there. It can change ID's, some properties and create or delete layouts.

Why Graphisoft cannot collaborate with Beanjs and develop together useful tool? Does exist Graphisoft China? Invite Beanjs to the office, review his development, make him an offer, if this development has potential. There are so many ways to communicate! The worst that we can do - is communicate that in famous British show: "Computer says NO".

WE NEED WORKING PYTHON.
Hello Podolsky, nice to meet you. I am the author who first introduced python to archiacd 3 years ago. It was first used in Archicad 20 at that time. At that time, due to reasons such as ability and money, the project could not continue. And now I have overcome these hardships, so I decided to build this technology and release it. I like archicad, even though I am not an architect. I just hope that archicad's secondary development work can become simple, because I don't like to complicate simple problems.
Anonymous
Not applicable
ethanbodnar wrote:
This sounds really exciting and sharing something that you're passionate about and working on is the best way to introduce yourself.

Thank you for sharing here, I'm not a developer but have friends who are, and from the little I understand this could be cool. I don't think we need to only share finished projects, I like hearing about the process and stories behind things, and perhaps other developers have insights, ideas or questions to share that would add to your project.
Thank you very much, I don't care about Karl's point of view. Because I know that many people want this technology in Archciad. I will continue to do it so that everyone who uses archicad can get convenience from it.
Anonymous
Not applicable
leceta wrote:
I'm seconding each word by Podolsky, this is highly interesnting topic, even if its not ready yet, maybe we can give some positive energy to Beanjs.

Karl, I can hardly understand why are you being so rude with Beanjs and its very interesting initiative. At first you complained on Beanjs not using its personal name or its credentials (this doesn't bother me at all btw, this doesn't turn on my spam alarms by no means... in fact, he is sharing source code, and has publicly shared his python work in relation to archicad already two years ago.

Now you want to archive the thread because it is not developed enough. Excuse me? Did you consider if Beanjs is just searching for feedback, looking for other people to join the project, or maybe just self promoting... I really don´t care, this can´t be anything but positive for Archicad and its community, so why are you so determined to delete it?

Please, as a member of this community and as a Graphisoft customer, I ask you to leave this thread as it is, because it is of great interest to me as an Archicad user. Let me say that I think you are making a poor job as a moderator here. You should encourage the creation of a wealthy Archicad user community, instead of being a problem for this to happen.

This is incredible...
Thank you, I will continue to plump the xBIMer project. At the same time I hope you can help me. I believe this technology can greatly improve the difficulty of archicad's secondary development and make more people willing to join the archicad family.
Podolsky
Ace
Hi Beanjs,

Have you tried to contact Graphisoft China or Singapore (I see on the web-site there is someone in Hong Kong)? Maybe they can give you more local support? For example to help solving legal issues with that, if such issues would appear?

As I understand, Graphisoft would like to control quality of third part Add-Ons developers, that someone wouldn't develop extensions, that potentially start crashing the program and compromise the whole system. I don't think it would be nice, if situation potentially would turn the way, when Graphisoft start ban your project, just because you are completely independent and did not coordinate this development with them.
Anonymous
Not applicable
Podolsky wrote:
Hi Beanjs,

Have you tried to contact Graphisoft China or Singapore (I see on the web-site there is someone in Hong Kong)? Maybe they can give you more local support? For example to help solving legal issues with that, if such issues would appear?

As I understand, Graphisoft would like to control quality of third part Add-Ons developers, that someone wouldn't develop extensions, that potentially start crashing the program and compromise the whole system. I don't think it would be nice, if situation potentially would turn the way, when Graphisoft start ban your project, just because you are completely independent and did not coordinate this development with them.
Thanks for your reminder, I will insert a disclaimer in the project. In addition, since the current xBIMer project is not enough to attract their attention, I will not take the initiative to contact the official. In the future, xBIMer will release the "App Store", whose purpose is also to control the quality of add-ons, which does not conflict with the official. I also want to use the "App Store" to allow Archicad users to install the plug-ins they want in Archicad, just like installing apps on their phones.

If the officials do not let me continue the project, I can close the project completely. Because my xBIMer project is a completely free project, I don't want to make this very complicated. If the official is interested in my project, I am willing to cooperate with them to develop xBIMer technology as a part of archicad.