Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Scripting in AC

Anonymous
Not applicable
Definition:

Scripting is not a macro language. Its just an interpreted language with the same (or almost the same) capabilities of the C++ api extention.

Why we need it.?

Because it is much easier to develop applications for AC.

Why its easier?

For the same reason VisualBasic is easier than VisualC. You have less control on certain things but you have much easier development cycle.

Why is not GDL enough?

GDL is nice to draw. But its not interactive.
You can not prompt the user give values at runtime. You cannot prompt the user to select entities and browse their geometric capabilities.

Will it be usefull?

Just look at the SketchUp community and its ruby scripting.
Almost ANYTHING you can think of has been done by users.

P.S To KARL.
If you think that architerra does not raise productivity 10 times, i will give you isolines with 100 points each to define a terrain and see if your time is not 10 times mine when creating the terrain. My god do you really believe what you say? I really like your arguments. They expose clearly your motivations. Just ask any SU guy what the program will look like without the Ruby extention api.
7 REPLIES 7
greysheep5
Contributor
i second that, scripting is essential!!!

look at all the general purpose 3d software packages like maya, 3dsmax and also rhino. every architect could benefit from a litte script here and there...

greetings,

christoph koehler
christoph koehler I cy architecturevisualization.
www.cy-architecture.com
www.facebook.com/cyarchitecturevisualization
stefan
Advisor
As a software languages, GDL is pretty close to a scripting language. But it is locked to be used inside isolated objects, unaware of their surroundings.

I prefer C++ over VB, but I can understand why you use the comparison.

Current popular scripting languages in other applications are Python, Javascript and Ruby.
--- stefan boeykens --- bim-expert-architect-engineer-musician ---
Archicad28/Revit2024/Rhino8/Solibri/Zoom
MBP2023:14"M2MAX/Sequoia+Win11
Archicad-user since 1998
my Archicad Book
m_ziolo_86
Newcomer
I can't agree more. Python would be perfect choice for scripting language since it is used in other programs used in our industry, such as Rhinoceros 3D and Blender. Would be great to have to learn only one scripting language and use it in more than one working environments.
Archicad 16, Win 8.1
stefan
Advisor
Despite the revival of this very old thread, there still is no scripting inside ArchiCAD 16.

One language to rule them all? More like learning a lot of them: AutoLisp (AutoCAD), GDL (ArchiCAD), C++ (AutoCAD, ArchiCAD, most API), C# (Revit, AutoCAD, Unity), VBA (Excel, AutoCAD, Word, Rhino VBScript), VB.NET (Revit), Java (Standalone, Processing), Python (Rhino, Blender, Cinema4D), Ruby (SketchUp), php (web), Javascript (web).

Don't think you can manage with just one language.

Regardless which of them would be provided inside ArchiCAD, better to have one than none. Python would work (although I don't really like the language).
--- stefan boeykens --- bim-expert-architect-engineer-musician ---
Archicad28/Revit2024/Rhino8/Solibri/Zoom
MBP2023:14"M2MAX/Sequoia+Win11
Archicad-user since 1998
my Archicad Book
m_ziolo_86
Newcomer
stefan wrote:
Despite the revival of this very old thread, there still is no scripting inside ArchiCAD 16.

One language to rule them all? More like learning a lot of them: AutoLisp (AutoCAD), GDL (ArchiCAD), C++ (AutoCAD, ArchiCAD, most API), C# (Revit, AutoCAD, Unity), VBA (Excel, AutoCAD, Word, Rhino VBScript), VB.NET (Revit), Java (Standalone, Processing), Python (Rhino, Blender, Cinema4D), Ruby (SketchUp), php (web), Javascript (web).

Don't think you can manage with just one language.

Regardless which of them would be provided inside ArchiCAD, better to have one than none. Python would work (although I don't really like the language).
You seem to know much more about the topic. Do You think that it is possible to substitute GDL with some more common language, for example Python ?
Archicad 16, Win 8.1
stefan
Advisor
Do You think that it is possible to substitute GDL with some more common language, for example Python ?
GDL is at the core of ArchiCAD. So this would require a full rewrite.

It might be feasible if you'd use a GDL object generator written in e.g. Python, which is (probably) independent from ArchiCAD, but which can export your model into GDL (maybe in the XML-version, to be converted into regular GDL).

But that would also mean that you'd have to replicate the ArchiCAD environment in this system.

And this would not solve the initial request for scripting, beyond what is already possible on an object-level (isolated from the rest of the ArchiCAD project).

Another approach is writing an add-on which provides a scripting input window, to be parsed into regular C++ commands executed in ArchiCAD. This will be limited to what is exposed by the DevKit.
That would require a full interpreter class that translates the script in regular ArchiCAD commands.

I wouldn't know how to even get started on such an endeavour.
--- stefan boeykens --- bim-expert-architect-engineer-musician ---
Archicad28/Revit2024/Rhino8/Solibri/Zoom
MBP2023:14"M2MAX/Sequoia+Win11
Archicad-user since 1998
my Archicad Book
poco2013
Mentor
As a novice user I would also like to see some some scripting added to Archicad. But scripts alone without practical application is worthless.

First thought should be as to its application- example Sketchup and Ruby.

Archicad delivers excellent access to its data via SQL but there is little one can do with the data other than external usage. Any script would need an additional range of included tools ,such as custom spreadsheets, format control of text boxes (HTML), data access by component and global searches. Read/write ability. etc.,etc.

These are all required for generating well structured Construction documents

By far, I think a script language is the easiest to understand, but it's the most limited in practical use. Ruby offers the advantage in that it is readily understandable by the novice but offers the additional advantages of any programming language. The disadvantage is that it is SLOW.

Hopefully scripting will be revisited in ver 18 but with consideration as to use?
Gerry

Windows 11 - Visual Studio 2022; ArchiCAD 27