Wishes
Post your wishes about Graphisoft products: Archicad, BIMx, BIMcloud, and DDScad.

Add 2 GDL commands for requesting Points AND a selection set

Anonymous
Not applicable
GDL will be much more powerfull if we could proccess a selection set , ask the user to give a number of points or proccess keybord strokes.

This feature is present in autocad (autolisp and vba ) since the beggining.

I dont think is too hard and it will give a tremendous number of applications.
3 REPLIES 3
Karl Ottenstein
Moderator
oreopoulos wrote:
GDL will be much more powerfull if we could proccess a selection set , ask the user to give a number of points or proccess keybord strokes.

This feature is present in autocad (autolisp and vba ) since the beggining.

I dont think is too hard and it will give a tremendous number of applications.
Since you have mentioned elsewhere that you are a programmer - you can observe quite well that there is a vast difference between autolisp and vba and GDL. GDL is not a scripting language ... it is a language and interpretter for generating 3D geometry: Geometric Description Language. Yes, it has some file I/O capabilities as well and has aspects that interact with the database and calculate menu (properties, components, descriptors). But, it has no features at all that interact with the ArchiCAD environment itself. In contrast, autolisp and VBA are scripting language that have an interface to the complete AutoCAD API for automation of any aspect of AutoCAD, including geometric automation.

There have been other wishes for scripting in ArchiCAD, which I think are valid. But, I disagree that adding features such as you suggest are an easy or even an appropriate extension to the GDL environment.

At present, C++ programming and the API is how to accomplish these and any other customization and automation goals.

As much as I would like a more VBA-like interface for the API so that everyone can script things (and share their scripts), I see so many other things that are IMHO higher priorities for the AC development team. They have to spend their resources on what will keep the most people happy and sell the most copies.

So, I'm voting 'not important', but this poll is of course to see what everyone thinks! 😉

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
Autolisp and vba are interpeter based too.
Sorry but i dont see the difference that makes gdl non scripting.
The only think that differenciates is that is is bound to the creation of a particular object.
You can view autolisp that way, with the main difference that it is not so cleverly bound to the creation of a paremetric geometry.

If you go through the commands (at least for the autolisp i once new.. back at autocad12) the only missing command basicaly are the proccess of a selection set and getting user input.

API is for gennerally if you ask for more power. For example i suspect sublclassing a wall entity and make a new type of wall that is integral to the environmet.

But that is another story.

It is not logical to go to api just for those to simple things.
It would be of course very nice to have an vba like power in gdl
Karl Ottenstein
Moderator
oreopoulos wrote:
Autolisp and vba are interpeter based too.
Sorry but i dont see the difference that makes gdl non scripting.
Being interpreter based is not the issue. The GDL language and interpreter are not designed to do these kinds of things. Autolisp and VBA have language (and interpreter, code, COM/OLE interfaces, and more) features that permit references to external procedures and interfaces...particularly the API for AutoCAD. For GDL to do such things, it would be more than a simple (as you suggested) addition ... it would be a major overhaul of both GDL as a language, the interpreter, and even AC itself to expose the necessary functionality in a way that could be used by such an interpreter. (Don't forget: GDL does not now even have the ability to call a user function or subroutine with parameters ... so there is no notion of variable scope, reference/value parameters, runtime parameter stack, type checking, etc., much less external linkage.)

The challenge is much greater with AC being a cross platform (Mac and Windows) program, because the low level coding is different for each platform, requiring even more work by GS. Windows-only apps have an easier time of such things, since VBA is easily licensed and the methods for inserting interface 'hooks' are well understood (if not tedious). Presumably, Mac-only programs have a similarly easier time via appropriate tools there.

Karl
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB