@sebastian.lindholm YES it works ! I just noticed this Orient option in the TEKLA link component I have installed but not in the one posted in script of this thread (probably belonging to a older version). I’m new to Tekla and I absolutely did not spot it.
The workaround was found anyway but this lightens up the canvas and obviously speed up the process.
Thank you indeed to all of those participating to the thread.
This is very useful information, thanks. I never noticed this either.
Just for the sake of completion, is there a way to deactivate this auto-flip when inserting a Plate from C# ? From my experience this happened during the plate.Insert() method without any interaction possible.
Hi @sebastian.lindholm ,
So via API we have to create a ContourPlate with the use of ContourPoints. Afterwards we can chamfer the desired ContourPoint index?
Hi, if you’re using the API to create the plate itself, then you should be able to set the chamfer for the contour points directly already when defining points for the contour of the plate.
Correct, the same as if you’d used the Plate component to create the plate. Just reference in the plate to Grasshopper and connect to your chamfer script.
Hi everyone. I have a problem when using “Grasshopper Component” (green icon in Tekla Structures). The chamfers are not created when I modify the plate, for example I change the thickness or width of the plate, the chamfers are reset to default = 0. But the first time I insert the plugin (Grasshopper Component) into a tekla model the chamfers are present, they disappear when I change the object. Could you help me?
Yes, of course. There it is. My script very simple. If I change something in Grasshoper, my part will be changed, but if I change it in Tekla, I will get a bad result.
Hi again, I got this reproduced. But unfortunately didn’t find a solution it seems like a bug in how TS handles plugin modifications.
Here’s what’s happening in case someone’s curious: whenever any Tekla plugin is modified, the plugin will not actually call Modify() to update the child objects, but rather call Insert() to insert a new instance of each object and then replace whatever is already in the Tekla model. Kind of. It seems like this replacement operation is what somehow resets the chamfers for contour plates, in case the chamfers have been added after the plate insertion like in this case (the insertion happens in the Plate component).
I’ll add a ticket for this to the tracking system.
As for workarounds I assume it wouldn’t make sense to add the chamfers by modifying the input curve in GH? Maybe as Fillets. It would result in a lot of control points for the plate of course.
Or then you would need to write your own Insert Plate component that builds a contour with chamfers and then uses it to define a Tekla plate before inserting the plate. In this case plugin modifications should work ok.
Would it be possible to modify the native PLATE component to one which takes into account that chamfer modification from the beginning (make add an extra input which takes into account that)? Would it take to much time to do so?
I opted to not having direct inputs for chamfers in the Plate or Beam components for several reasons, but this might of course be revise in the future.
For reference, this chamfer component initially had the same problem as the scripts in this thread i.e. that chamfers disappeard when modified through the GH component. The solution ended up being to Delete() and re-Insert() the plate after adding chamfers - just need to set the label in between to keep the guid from changing every time.
So if someone plays with the scripts, after editing the chamfers of a plate, instead of
plate.Modify();
do
plate.Delete();
plate.SetLabel("uniqueLabel"); // keeps the GUID constant when run from the GH component
plate.Insert();
Note that not all bent plates have corners that can be chamfered, It’ll depend on the way they have been created. The ones that are created with Grasshopper seem to work.