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

Python potential

Anonymous
Not applicable
Hello

I am not much into coding but i saw some of the Python scripts other have already developed and i wonder what is the limit of this addon? I am especially looking at the possibility to interact with the architectural elements. Is it possible to create some parametric arrays similar to those in Revit where they can adjust automatically based on the distances ?
This is a feature that Archicad should bring to the dimensioning tool so they become bi-directional and move the objects on the screen as you adjust the distances, but maybe this is for another topic.
I am just curious if a similar thing can be achieved with the new Python API or this is just for automating certain workflows?
9 REPLIES 9
Ady84a
Booster
This can't be done by Python API. It can be used for documentation.
What you are looking for can be achieved by archicad PARAM-O or by using Grasshopper – Archicad Live Connection.
Anonymous
Not applicable
I know i can achieve it with Grasshopper but i was looking for a faster and hands on approach.
How about Param-O? Can a definition script interact with the existing architectural elements from a floorplan? not talking just about te GDL library objects only but also about the walls, windows, doors, etc
Viktor Kovacs
Graphisoft
Graphisoft
Archicad has several ways to extend its functionality or automate your workflow, so you have to choose the tool that best fits your needs.

I've tried to summarize the possibilities in this blog post:
http://archicadapi.graphisoft.com/archicad-extension-and-automation-technologies

Hope it make things more clear!
leceta
Expert
Thanks viktor.
Hope that graphisoft has planned integrating all this (quite disperse) APIs.
In my opinion Param-O is a good candidate to serve as the "place" where that integration happens (i'm thinking on Param-O with featured python/GDL/C++(?) scripting components, so it can become a common place for scripters and visual programmers to access to all the goodness of GDL/JSON api/ C++ methods and properties. Wouldn't it make sense?
Viktor Kovacs
Graphisoft
Graphisoft
I don't see a big problem with diversity. The different technologies target different users/developers with different level of programming knowledge. Under the hood they are already built on top of each other.

But you are right, it always worth thinking on making all the technologies easily accessible and more integrated.
leceta
Expert
I agree there is nothing wrong with diversity, i'm all in with diversity! My concern is more about dispersion, instead of concentration, all in favor of achieving a critical mass of 'develo-users', with very different range of technological expertise, but all living in the same space. A critical mass that hopefully will create synergy and stimulus to raise the bar of each one's capabilities. Instead, seems to me that currently Graphisoft is proposing separate niches.
I think it is natural that a neophyte will start with GDL in Param-O, but this same environment should also offer the possibility to seamlessly go ahead into written GDL (I mean GDL in full potential, not a poorly featured version of it). This neophyte should share space with veteran GDL coders, which work could be used, inspected, tinkered, adapted in that same working space. All JSON api should be at the same time accesible from that space, because a significant part of GDL scripting is also about information and not only geometry (labels, tables, tittles...). Veterated C++ programmers, should also be confortable inside param-O making valuable/meaningfull/stimulating work in Param-O, proposing new components that expands the possibilities, and serves as example and stimulus for others to introduce in to that area of knowledge, and so on... Again, the ideas of Concentration, Stimulus, Synergy.

Currently, the "scene" that Graphisoft is offering is keeping apart everyone. GDL coders think Param-O has not interested for them because it is limiting themself. Grasshopper is poorly connected to ArchiCAD, with just Reading and Creating capabilities, but unable to freely Edit/Delete into ArchiCAD document . C++ developers need samples and why not VS templates to start creating new components, as an alternative to developing Addons, in my opinion they are key to have healthy param-O...

Last but not least, it feels very good that this conversation is being among users and a senior engineer from Graphisoft inside an open place like architalk. keep on in that direction, lots of refreshing things are happening here, it seems to me.
JSN
Enthusiast
Your words in god's (or better graphisoft's) ear.

Have elaborated this enough elsewhere and you have summed it up quite good so won't add here much.
Anonymous
Not applicable
I would argue that the true power of software is its ability to allow user to perform same task in multiple ways. That will unleash creativity of user and provide flexible platform for project development. (look at revit with its idea that each task should have tool for that specific task, it killed creativity in my humble opinion).

That being said, I would like to have ability to do the same thing in grasshopper, via python, via c language

This is something which ArchiCAD already posses in some cases, for example you could use curtain wall tool to produce perfectly good suspended ceiling etc..
leceta
Expert
I would argue that the true power of software is its ability to allow user to perform same task in multiple ways. That will unleash creativity of user and provide flexible platform for project development. (look at revit with its idea that each task should have tool for that specific task, it killed creativity in my humble opinion).

That being said, I would like to have ability to do the same thing in grasshopper, via python, via c language

This is something which ArchiCAD already posses in some cases, for example you could use curtain wall tool to produce perfectly good suspended ceiling etc..
Agree with you. My point is that the , so to say, computational tools (including GDL) that archiCad is developing lately, need a integration, and I clearly see Param-O with all the potential to be the best candidate to integrate people of every-level of programming-proficiency in one place. It's not a genuine idea of mine. Years of Grasshopper has prooved that this idea works very well.