We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

Archicad C++ API
About Archicad add-on development using the C++ API.
SOLVED!

Being a Graphisoft Developer .... Need Guidance

Nader Belal
Mentor

Hi everyone,

 

Right now, I'm weighing the idea of being a Graphisoft Developer, but there are few issues that aren't clear for me which are:

  1. What does the Developer License gives you as a programmer and as a practitioner ?
  2. I have two Windows machines. So would the licence be tied to a specific machine, or can I have a floating one, or a hardware key?
  3. Let's say that I have ordered the Developer License ? Would I be able to create GDL/Plugins for any Archicad version, or would GDL/Plugins would be tied to a specific version ?
  4. Would I be able to tie GDL libraryparts/C++ plugins to let's say a client licence ?
  5. I´m interested in developing plugins in C++, but unfortunately I´m not able to find a suitable resource to learn C++ similar to The GDL Cookbook was for GDL, would the Support Service help me with that ??
  6. I´m also interested in Archicad's connection with Grasshopper, so is there any type or references for programming that takes the advantage of that ?
  7. I work on a Windows machine, and Archicad is provided for Windows & Apple machines, and in short time Graphisoft will provide a version of Archicad that is specifically made for Apple's homebrewed processors ... with such landscape, how this type of work is handled ?

Thank you in advance

A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
1 ACCEPTED SOLUTION

Accepted Solutions
Solution

Hi Nader,

 

1. I looked at the License agreement, and it seems there's no restriction on that, so you can use that for modeling purposes as well, you just cannot transfer that license to anyone else (e.g., if you have a coworker who is doing the modeling, s/he'll have to buy a full license).

Also, if you cease to develop for Archicad, then please buy a full license.

And of course, if you make enough money out of development, please also buy a full license 😉

 

2. Yes.

 

3. Yes, you just have to ask tech support for that previous version, they'll be able to provide the application. But then you'll have to start to develop the GDL object in that earlier version, to be safe on the compatibility side.

 

4. Well, it's better to ask the fellow developers...
My basic idea would be to tie the protection to the serial number of the AC license in some way, e.g., generate a serial number from it and verify its validity.ű

 

5-6-7. You are welcome 🙂

6++ -- we'll keep that in mind.

 

Best, Akos

View solution in original post

8 REPLIES 8
Podolsky
Ace

I'm not sure that exists any 'Developer Licence'. You just register yourself as a Developer and getting access to Developer section of Graphisoft web-site with C++ documentation and sets to download of C++ libraries for compiler. I haven't found any specific information on that resource regarding GDL. Same GDL. What you have to have is Archicad licence (otherwise you cannot develop on demo, student, temporary or pirate version - if talk about C++). So if you want to develop GDL - you can do it without registration. Version - depending on which Archicad you are writing your code. You can even download Archicad 10 for free and write your GDL there - then it will work for sure with any Archicad version. With Add-Ons everything is more complicated. You must know C++ (or start learning it). C is different language level then GDL - so, if you never coded on C (or languages that have similar syntax - for example JAVA or  JavaScript) - expect that you will not understand it at all. Get some C++ for dummies book at the beginning. Then. Add-On needs to be compiled separately for Windows and Mac. And for each new Archicad version too. If you want to produce commercial Add-Ons and sell them - you must get approval from Graphisoft first - that functionality of your Add-On is acceptable (they do this sort of quality control, that third-part Add-ons would not compromise Archicad itself).

Regarding licences for client - you can connect your GDL objects to client Archicad licence. Check my libraries  shared in this forum - I've done such a protection there. On C++ you also can request Archicad licence number and connect to it, or, because C++ gives you endless possibilities - you also can create there your own licence system.

One more note: I was thinking about start making C++ Add-Ons too. But finally came to different idea - instead of C++ I have decided to develop GDL on very detailed level. Don't forget - maybe half of Archicad functionality is based on GDL - even if you start making your own C++ Add-On - most likely you would face to the fact, that you need GDL too in this Add-On. Currently I'm developing Automaton as Open-Source project on GDL - as I want to introduce more simplified, alternative to standard Add-Ons workflow of making your own apps for Archicad.

@Podolsky I'm really grateful about your insight.

 

Actually, I was pointing this message to Graphisoft, because I need to know if those cevates to plan ahead

A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.

The answer to your question is simple - if you want to develop something – just do it. There is nothing stoping people to develop apart of themselves. Programming languages are very flexible and give unlimited possibilities of doing anything - one of another way. Finally the most important is to have an idea - what kind of tool you want to produce and what initial structure and algorithms of this tool must be. In programming exist pseudo-codes and logical graphical schemes - that later can be translated to any system or language. Without having this logical scheme - drawn or even in person imagination there is no point to start coding something. Otherwise it's like start construction without having architectural and structural project. Unfortunately this is very common mistake of all beginners.

@Podolsky 

 

Thank you, and really grateful. But I still need Graphisoft’s team to respond

A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Akos Somorjai
Graphisoft
Graphisoft

 

Hi Nader,

 

Good to hear from you! Let me try to answer most of your questions:

1. Developer Archicad License: this gives you an easy access path to a full Archicad, at a lower (well, actually quite cheap) price. We aim to support those developers who otherwise don't have access to Archicad, and would like to learn and experiment.

As a practitioner, this is a full license, with no limitations, except that it is not an SSA license, so you won't be able to use features which are available only to SSA customers.

2. It depends on you. You can ask for a hardware key, and plug it into any of your computers, or for a soft license, which you have to transfer with License Manager between the machines (but there's a limit on that if I remember well). Or, alternatively, you can buy two licenses 😉

3. The created add-ons/GDL objects will work in any version, unless you yourself tie them to your actual license.

4. This is a hot topic 🙂 The short answer depends on how sophisticated you want to be with your protection, because the "client license" can take many forms, from a single hardware dongle to a mix of single and net licenses. Some of these can be covered, but some of them are quite hard. At the moment we don't have a full scale solution you can easily build in, so as an alternative you can try to find a different protection scheme.

5. Learning C++:

- if you'd like to learn the basics of C++, then I'd refer you to courses that can be found on the internet (e.g., Udemy, Coursera, or LinkedIn Learning)

- if you'd like to learn the C++ API for Archicad, please look into the examples in the development kit, and we also have a Maze Generator sample in the blog section of the developer site.

6. I don't know much about that, but I think there's a landing page on graphisoft.com where you can start, and I think we also have a course on that as part of Graphisoft Learn.

7. Windows/Mac Intel/Mac ARM platforms

- GDL is fully cross platform, so any object you create on Windows should work on any other platform. Also, any GDL object created in previous versions of Archicad should work with the latest version of Archicad.

- the C++ API is source compatible as long as you use the frameworks from the development kit, and standard C/C++ (like STL). This means that you can transfer the source between the platforms, but you'll have to compile and link your code for each platform separately (well, we haven't fully decided on the Mac Intel/ARM version, maybe one binary will be enough). This means that you'll have a separate MyFancyAddOn.apx for Windows, and a MyFancyAddOn.bundle for macOS.
Also, you'll have to recompile and re-link the C++ add-ons for each major version of Archicad, even though the source may be the same. We provide API development kits shortly before the release of the major Archicad version to developers, so that they could prepare their add-ons.

 

Best, Akos

Nader Belal
Mentor

Hi @Akos Somorjai 

 

  1. About the Developer Licence, I was asking because I do get modelling and design jobs, so legally speaking, can I use that licence also for BIM modelling ??
  2. About the hardware key, if I to choose that, is it included in the price ?
  3. I think I didn't express my idea correctly. Let's say I was tasked to deliver a GDL library part or a plugin a specific previous version to Archicad, could I simply install that version and start developing, even when I have already other versions of the programs installed ?
    (I do understand that I may not have two instances or more of two different versions of Archicad working simultaneously).
  4. About tying GDL/C++ plugins to client licences ... what is the most common cost effective method I can use ? (in general terms)
  5. Thank you ... 
  6. Thank you ... I´m still a noob with C++ anyway, but it would be nice if there was a noobs tutorial for linking Archicad's API with that of Rhino+Grasshopper directly ... the potential it offers for Archicad is difficult to ignore.
  7. Thank you ...

Best regards,

Nader Belal

 

 

A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Solution

Hi Nader,

 

1. I looked at the License agreement, and it seems there's no restriction on that, so you can use that for modeling purposes as well, you just cannot transfer that license to anyone else (e.g., if you have a coworker who is doing the modeling, s/he'll have to buy a full license).

Also, if you cease to develop for Archicad, then please buy a full license.

And of course, if you make enough money out of development, please also buy a full license 😉

 

2. Yes.

 

3. Yes, you just have to ask tech support for that previous version, they'll be able to provide the application. But then you'll have to start to develop the GDL object in that earlier version, to be safe on the compatibility side.

 

4. Well, it's better to ask the fellow developers...
My basic idea would be to tie the protection to the serial number of the AC license in some way, e.g., generate a serial number from it and verify its validity.ű

 

5-6-7. You are welcome 🙂

6++ -- we'll keep that in mind.

 

Best, Akos

Hi, just passing by to say that i (and im sure many others) will happilly buy anything you two guys can put together.