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

GDL
About building parametric objects with GDL.

How Do You enable Rotation in Custom Objects?

Jeff Galbraith
Advocate
It seems that simple custom objects such as morphs saved as objects can only be rotated in plan view...around the Y axis. When they were morphs they could be rotated around any axis, but once they're objects. library parts you lose the functionality. Is there a chunk of GDL script that can be pasted into an object to allow it to be rotated around its' other 2 axis?
Jeff G

Archicad 27 USA (full), Macbook Pro (16-inch 2023, M3 MAX, 128 GB RAM)
3 REPLIES 3
Podolsky
Ace
It's and easy and not easy same time.

Rotation in GDL happens by command ROTX ... ROTY ... ROTZ ... where dots - it's an angle. You can set variable instead of write number in script (don't forget to set the variable in parameters list - it can be any word, for example rotationX, and set type of variable as angle) - then you can control rotation while using object in ArchiCAD, by changing this parameter.
You also can use command ROT rotationX, rotationY, rotationZ where you can rotate all three axis in one command

Then. Usually when you save your morph (or anything) as GDL object, ArchiCAD saves 2D script, that shows this object from top. But it static drawing that is not going to update if you rotate X or Y axis. To fix it you need to open 2D script, delete everything you see there. And write instead PROJECT2 3, 270, 2
That means your plan view symbol will be generated from 3D model.

As the first GDL lesson I think that is enough for you. If you would like to move there further - take a look to GDL reference. It's PDF and accessible from Help menu in ArchiCAD.

Cheers.
Anonymous
Not applicable
@ Jeff Galbraith
I am pretty sure that PARAM-O can easily do this.
Have you tried it?
Jeff Galbraith
Advocate
Thank you both for the suggestions. I'll try them out.
Jeff G

Archicad 27 USA (full), Macbook Pro (16-inch 2023, M3 MAX, 128 GB RAM)