Floor Boundaries and "Cantilevers: Concrete" parameter issue - Finding Real Boundary Line Directions

Hi, I’m trying to use “Cantilevers: Concrete” parameter to control the floor boundaries but there is a big problem with the way the floors are sketched. Sometimes when I set the parameter value to a positive number, the floor edge gets an offset outwards, but sometimes the floor gets smaller and gets this offset inwards.

Now, I know that if floor boundaries are drawn by creating the lines in a counterclockwise manner, the positive value for “Cantilevers: Concrete” parameter would always move the boundary outwards.

Does anyone have an idea how to check whether floor boundary sketch is consistent (drawn in a counterclockwise manner), and How to check if those boundary sketch ModelLines/SketchCurves need to be reversed? :smiley:

1 Like

Hello and welcome @marinculjak …can you share your files, then its easier to get help…

Hello @sovitek , Thank you, this is my first post!

So, I have prepared a Rvt file where you can check how positive and negative “cantilever: Concrete” arameters AND “The way the boundary lines were sketched” affect the position of the final floor edge

What I would like to achieve is create a script that would check orientation of each sketch line, and how it was sketched (priority) and then eventually just recreate them in a correct way (not priority, because the first part can be used to determine weather the value shall be positive or negative, therefore switching the orientation). As you can see in the RVT file, the lines should have a “Sketch drawn counterclockwise for ALL LINES”

If you use this dynamo file to select any of the floors (fit to geometry preview), you will see that the indicator lines show the direction of the line normal in the wrong way. (I expected them to be towards outside in some cases). So I am trying to find another way to determine this deeply hidden property.
FloorsEdgesCheck_MarinCuljak.dyn (30.6 KB)

Please let me know if I haven´t explained something well enough, and I´ll do my best to clarify.

DYNFOR_FloorBoundaries_MarinCuljak.rvt (1.6 MB)

1 Like

Hello…yes i think i understand, but not 100.:wink: do you mean something here

1 Like

I thought that recreating the floor might be a tricky approach, and have been skeptical about floor data gettins lost (i.e. CONnr.1 - the new floor will not be joined with the elements the original floor was joined, and other instance parameters that now have to be transferred to the new instance).

The newly generated floor still behaves in a way that applying positive value for the “Cantilever:Concrete” parameter offsets the element edge towards the floor center (inwards)
Something else I have tried some time ago was inversing the curves but that didn´t work as I was trying to modify the existing floor boundary line within the existing floor.
Taking into consideration your valuable input, combining both of these factors (primarily creation of the new instance and curve reversing that defines setting of offset direction), I managed to achieve the main goal: making the boundary line sketch consistent. (However, I did have to remove the "Element Inner Centroid and use another one to fetch model curves at the same time.)

Here is an image: :partying_face: :+1:

Here is the script:
FloorBoundaries_SovitekOgMarinCuljak.dyn (52.5 KB)

GIF (Check out how the upper floor has a more consistent shape):

If you have a suggestion on how to transfer all instance parameters and relations to other elements before the original floor instance is deleted, let me know. Here I´m referring to “CONnr.1” mentioned above.

Also, it would be even greater if there was a way to find out (for each model line) whether it is clockwise or counterclockwise. Such as some Python Code (I´m not really sure how to fetch that through the API). In that case, I would not even have to create the new instance, but only dynamically change the positivity and negativity of the value to compensate for when the user creates a floor with “wrongly sketched lines”.

Thank you so much! :smiley:

1 Like


I am not a struc guy there normally work with Cantilevers ;), i know how you control your edge offsets from perimetercurves…probably some of their hardcore struc guys in here could help ;)…here is an example how control your offsets from perimetercurves