Hello,
I am trying to get the isoline of a surface but this surface has a center cutout. The reason I want to do it that way is that sometimes will have close surfaces with an intermediate cutout in the middle and sometimes just regular surfaces where get isoline works fine.
I know that one option could be to get the contour polycurves (exterior and interior) of the surface and then select one and offset it to the center but I try to make the tool smarter to work automatically without manually manipulating the offsets and so. In my case, every time a surfaces that has a cutout will always be like a contour red solid that is in the picture. But sometimes will be some faces of the center. For example in this case red solids were generated wrapping all vertical faces of a beam but in some cases like walls, I will be wrapping one or 2 faces of a Wall. For the second one getting the isoline is not a problem but for the first one, I do not know to do it.
I can only upload a pic at once because I am a new user. So here is another pic.
So when the surface has a hole in it, what would you expect to receive? A quick hand sketch showing a plan view of the surface and the expected isoline in another color should suffice to convey the goal.
Something like the picture. I have solids that were created by the extrusion of a rectangle along a path. Some of them will be simple open paths like the right picture and others closed paths like the left side picture. Hope this image helps clarify my intent.
That isn’t an isoline, but an offset of the perimeter. Will the curve loops always be concentric? If so you can get the midpoint of a line on the outer loop, and the closest point on the inner loop, get the distance between the two, and offset the inner loop by 1/2 of that value.
1 Like
Thanks jacob. Yes I guess that is the best approach. Thanks.
hi, i tried following your protocol, thanks for the feedback
Cordially
christian.stan
I think you could get the distance from the outter perimeter curves to the inner perimeter curves and offset the inner by a parameter of that length (multiply the length by a value between 0 and 1) to get the same results. Really good use of the ampersand package though.
1 Like