Plate chamfers

@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.

image

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.

Great, it’s just another one of the gotchas when working with interoperability :sweat_smile: There’s a lot to learn from this thread indeed!

1 Like

Hi, a Modify() directly after Insert() should force the points to reset to what was actually provided, like this:

    plate.Insert();
    plate.Modify();  // cancel the auto-orientation
    new Model().CommitChanges();
5 Likes

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?

1 Like

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.

ContourPoint(Point, Chamfer)

So no need to access the points by index afterwards.

If you’ve inserted the plate using the Plate component then yes you need to modify the chamfers afterwards using indexes or similar.

Cheers,

-b

2 Likes

Thank you @sebastian.lindholm ,
What about creating a plate via UI directly in Tekla?
The chamfers need to be applied, after creation of rectangular 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.

2 Likes

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?

Hi, could you share the definition with your version of the script to see if we can replicate?

-b



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 Andrey, I mean the actual .gh file - can’t know what’s inside those C# components :slightly_smiling_face:

Sorry. There it is.
Test_chamfer.gh (13.6 KB)

Hi again, I got this reproduced. But unfortunately didn’t find a solution :disappointed: 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.

Cheers,

-b

1 Like

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?

Anyway, thanks for the amazing work!

Hi again, in the latest release (1.19 available on Warehouse) there are new components for inserting corner chamfers on plates or polybeams:

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();

Cheers,

Sebastian

5 Likes

Hi, did I understand correctly, that Chamfer Corner doesn’t work with a bent plate yet?

Hi Yahor, that’s an oversight. Try this update:

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.

Cheers,

Sebastian

2 Likes

Thanks for answer, it works now

1 Like