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

Problems with the Archicad Utilities Python Module?

JSN
Enthusiast
I have just tried some Scripts on a different computer and unfortunately those that rely on the Archicad Utilities Module won't work. Also the sample scripts are having problems, it always throws errors like

AttributeError: 'Utilities' object has no attribute 'GetPropertyValuesDictionary'

The scripts definitely work, and I have already freshly installed Python (3.8.8.) on this machine but I cannot get it to work now ... any ideas?
1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Tibor Lorantfy
Graphisoft Alumni
Graphisoft Alumni
Thank you guys for reporting this issue!
As Archicad 25 Beta Program was started, few days ago we updated the archicad python package at PyPI.
Unfortunately the update version 25.326 was incomplete, it had errors with Archicad 24 connection. We've already updated a new version (25.1000) which should work correctly (and we removed version 25.326 from PyPI).
Please update your archicad python package! You can do that from the Python Palette also (open the settings from the top right of the palette).

Note, version 25.1000 archicad python package works not only with Archicad 25, but with previous versions also.

View solution in original post

9 REPLIES 9
poco2013
Mentor
JSN wrote:
The scripts definitely work, and I have already freshly installed Python (3.8.8.) on this machine but I cannot get it to work now ... any ideas?
Assuming you installed the module archicad -- you probably should post your failing code?
Gerry

Windows 11 - Visual Studio 2022; ArchiCAD 27
JSN
Enthusiast
It is not code related, I guess it is more a Python Install issue but fyi this is from the Room Report Sample Script.

Edit: It happens within AC Python Compiler but also from e.g. VS Code. In AC thr Pthon info it says there is just one Python Version and that one is updated.
poco2013
Mentor
On 24, you should be using module b3022.
Gerry

Windows 11 - Visual Studio 2022; ArchiCAD 27
JSN
Enthusiast
Ok, I checked the versions and I noticed that on the computer where everything is working fine there is version 24.3004 installed, whilst on the other computer I got already the newer version 25.326.

So, I simply exchanged the version with issues (25.326) on the new computer with the working one from the old computer manually and now it works!

Actually I have installed this version of the module when launching the Python Palette in Archicad the first time so it is not that I had even the chance to install a wrong version - all was done automatically ... if I would not have known that there is nothing wrong with my script I would never have had the idea of exchanging modules I guess.

So probably there is something not working as it should since the last update or we are dealing with a terrible usability issue. Maybe GS should have a look on that too ...
Anyhow, if someone runs into this, the updae was just published a few days ago, here is the solution.
Solution
Tibor Lorantfy
Graphisoft Alumni
Graphisoft Alumni
Thank you guys for reporting this issue!
As Archicad 25 Beta Program was started, few days ago we updated the archicad python package at PyPI.
Unfortunately the update version 25.326 was incomplete, it had errors with Archicad 24 connection. We've already updated a new version (25.1000) which should work correctly (and we removed version 25.326 from PyPI).
Please update your archicad python package! You can do that from the Python Palette also (open the settings from the top right of the palette).

Note, version 25.1000 archicad python package works not only with Archicad 25, but with previous versions also.
JSN
Enthusiast
Thx for clarifying this!

Btw, could you already give us some information what commands are expected to be added in the near future?
In the JSON Interface documentation I have noticed that the AddOn commands have joined, is this the concept for the future to bridge the automation gap or can we expect that more and more functionalities are getting nativly accessible through JSON and the Python wrapper?
Anonymous
Not applicable
JSN wrote:
Thx for clarifying this!

Btw, could you already give us some information what commands are expected to be added in the near future?
In the JSON Interface documentation I have noticed that the AddOn commands have joined, is this the concept for the future to bridge the automation gap or can we expect that more and more functionalities are getting nativly accessible through JSON and the Python wrapper?
I'm playing with the python module with jupyter notebook... its very interesting but I think (like JSN) that its important to know how many functionalities will can we access with the python wrapper.
Thanks in advance!
Tibor Lorantfy
Graphisoft Alumni
Graphisoft Alumni
JSN wrote:
In the JSON Interface documentation I have noticed that the AddOn commands have joined, is this the concept for the future to bridge the automation gap or can we expect that more and more functionalities are getting nativly accessible through JSON and the Python wrapper?
Yes, absolutely. That is our long term plan to make all automation functionalities available via JSON/Python API. So more and more functionalities will come.
The Attribute Commands and the Component Commands are also new from AC25 alongside the AddOn Commands.
Using the Attribute Commands now almost all information of the attributes are available, but currently modifying is not allowed.
If you implement your own JSON Commands in your C++ AddOns, then you can access those via the AddOn Commands. It can be a temporary workaround to access more stuff via JSON/Python, you can extend it's functionality.

JSN wrote:
Btw, could you already give us some information what commands are expected to be added in the near future?
The goal of the Automation API (= JSON/Python API) is to support workflow automation. So the most important automation tasks are at the top of our backlog, just like Open/Save/Publish.
I have to highlight that it's still not a goal to provide Archicad-like Dialog Library for JSON/Python API. Still the C++ API (Add-On API) is recommended if somebody want to implement native-like Archicad functionalities, extend Archicad with a menu, dialog etc.
Anonymous
Not applicable
Will we can access to gdl parameters? Like grasshopper like connection.