GDL
About building parametric objects with GDL.

How to place a MESH object in a specific position in Archicad?

Partha02
Contributor

I am creating a Road Junction where there are two GDL objects are used. The first one is a PRISM object, to create the free shape of the junction. Another is a MESH object to create a transition between the road and the junction.

Partha02_7-1663319836119.png

 

As you can see, four transition objects are needed to place in the four junction heads.

Fig: The junction after the transition object is placed

 

Partha02_8-1663319836126.png

 

 

 

In this above-mentioned shape, to place the transition objects I have to use ADDX, ADDY, and ROTZ commands.

 

 

 

 

For example, if to place the bottom transition object the commands are –

Partha02_9-1663319836127.png

 

Similarly right –

Partha02_10-1663319836128.png

 

For top –

Partha02_11-1663319836130.png

 

And lastly for the left –

Partha02_12-1663319836132.png

 

 

Here, as you can see for the Top transition we need to perform ADD command first then ROTZ command and in the Left transition, we need to perform ROTZ first and ADD command last. But if we perform ROTZ first in Top transition it won’t work and similarly with Left transition. And also sometimes we need to ADD (+ve) values(Right transition) and sometimes (-ve) values (Left transition).

Fig: If the ROTZ command is after the ADD command in Left Transition

 

Partha02_13-1663319836151.png

 

 

 

My questions are –

  1. Why do different positions of ROTZ values have different results? I want a general position so that I can put some type of logic in it to perform every other transition.
  2. As I’ve already mentioned I am using the MESH object to create the transitions. Is there any way that I can place the MESH object to a specific position in this case the beginning position of a specific line?

 

 

 

 

1 REPLY 1
Peter Baksa
Graphisoft
Graphisoft

Hi,

 

Here is some help on how transformations work in GDL. Generally movement and rotation can be exchanged, but the actual values have be different to arrive in the same place. A specific point can be reached in infinite ways, it is up to you to find a suitable common framework in your script.

 

Péter Baksa
Software Engineer, Library
Graphisoft SE, Budapest