Get chamfers from existing Tekla plate

Hi everyone, this is my first post in this forum so thank you for having me and thank you for all the help you’ve provided with your useful threads.
I’ve got a problem regarding the use of grasshopper to get the boundary of some plates modeled in Tekla. Some of the corners of these plates have chamfers of various types (rounding and point arc mainly), which are ignored when I try to get the plate boundary through the DePlate component, which leaves me with an incorrect boundary.


Grasshopper Vertices

The only workaround I’ve been able to think of is converting the Tekla object to a BREP (which gets me the correct plate with the roundings) and then using DeBREP component; I get a double order of points because of the plate thickness, but filtering them out is not obvious because they don’t seem to be ordered always in the same way (for example, points on one side are not always odd or always even).
BREP

BREP numbers

I’ve read a previous thread regarding Tekla and chamfers:
https://discourse.mcneel.com/t/plate-chamfers/150452
but it dealt with the opposite problem: creating plates and applying chamfer in tekla, not reading chamfer from existing Tekla plates.

Any help pointing in the right direction would be greatly appreciated.

Saverio

Hi @Saverio_Catena ,

There’s several ways to do what you want, one way would be to do exactly what you describe and grab the brep from Tekla and then instead of grabbing the vertices straight away you could grab faces, sort by are and then grab the largest size, which will be the side in your case. Then you can grab the vertices from the face.


Thank you very much, @Oskar_Scherdin , that solves my problem!
If I may ask you, since you said there are several ways to approach the problem: would it be feasible to get the actual curves from the chamfers, instead of the discretization operated by the BREP conversion?
The next step in my grasshopper project will see a tri/quadrangular meshing of the resulting contour, to export it to a FEM software, and it would be nice not to have all the discontinuities I now have, but some smooth curve between the real discontinuities, that I can divide based on a distance parameter.

If this question requires that I open a new thread with a different subject, I ask forgiveness in advance to the moderators.

Hi @Saverio_Catena ,

The shape of the of the BREP/MESH in Tekla is determined by an accuracy setting in Tekla. When you add a chamfer or radius it is actually not a smooth curve, instead it’s segmented since Tekla is not a nurbs modelling eigne. It is optimized for large models with hundreds of thousands of pieces in each model so this approach makes sense.

But you can off course Tekla the segmented curve from Tekla and re-make it in Rhino with Grasshopper if you’d like or increase the above setting in Tekla to achieve a “smoother” outcome.

1 Like

Thank you again, @Oskar_Scherdin , I will try this approach.
You are right, using the Convert to BREP approach gets me a series of segmented faces, so the only way to get smooth curves would be to get the construct the chamfer starting from its definition (arc circles with radius and so on…), and I think that could be only done with some C# programming.

1 Like

You’re welcome.

I don’t think you need to use any programming, should be able to do it with the built in Grasshopper functions that already exist. But any way that gets you there works :grinning:

Determined which vertices should be “sharp” and which shouldn’t then you can create the curve from there.

image
image

That’s exactly the point, I can’t seem to be able to determine with Grasshopper which vertices are to be sharp and which are to be smooth; in other words, I can’t read Tekla’s chamfer property for each handle of the contour plate.