Offset and Thicken Object Direction

So the basis for the question is;

I’ve been working on a definition to create a building mass based on a few inputs. Height, Location of Elevator Core, Number of Units, typical room dimensions, stair tower location, and driven by a single datum line from revit. It works great with one ongoing issue. Direction of offset or thickening of a surface. It appears to be driven by two items(kind of the same) The direction the line is drawn in revit, and the convex or concave shape of a curve.

In test cases I have been able to function by added varies ‘-1*x’ to flip direction and ‘reverse curve’ node. However I feel like there is a better solution to controlling offset / thickness directions, mostly because when i test a line in the opposite direction i must track down which items to flip - If possible i would insert a simple toggle to flip everything…

My question is what setups have been used successfully to control the offset or curves / direction of geometry creation more consistently and globally?

 

These earlier discussions might help…

http://dynamobim.org/forums/topic/setting-rotation-along-a-path/#post-34050

http://dynamobim.org/forums/topic/rebuild-list-from-boolean-value/#post-29016

One workaround for this that I’ve done is to offset to both sides and then return only the one you want based on a distance to the centroid of the mass. So for example if you were working with curves and you wanted to offset to the outside of an enclosed area, you would offset in both directions, take an approximate midpoint of both offsets, measure the distance from these points to the centroid of the area, and return only the curves that are further away.

There may very well be a better way to do this, but this is my current workaround.

Also, note that this approach may not work with masses that are L-shaped or other shapes that don’t have a clear center.

These are great answers - thank you for your help