I am trying to create a Tekla Grasshopper Component that takes a line input and a numeric input for placement level (Plushöjd UK in the first image below) and creates a beam at the specified height. This works fine when using the Live Link directly (lower beam in image). However, when i run the script as a Grasshopper Component, the model context is lost and it seems as if the coordinate system is placed at the selected line.
Is there any way to get the global position of the selected line or will I need to specify relative dimensions?
Yes Tekla plugins have an internal coordinate system which is determined by the first input point or object when gathering the input. This is being propagated to the GH definition by the plugin, hence any absolute coordinates will also be relative to this internal system. (In practice your input line has already been translated to (0,0) by the Tekla plugin before Grasshopper sees it, and when the geometry later is created by the Beam component it gets translated back to global coords).
One solution could be to ask the user to pick an additional input point on ground level. This point will also be automatically translated according to the line’s coord system and thus gives you a mapping from the line to the global ground level. You can then add the Z-value like this:
Not ideal, but the best thing I could come up with.
Your solution is a lot better than having to calculate and specify relative dimensions. I’ll take it