I am thinking how to find the boundary line of a flat object that includes splines, semicircle and lines.
It could be easy in case of a polygonal object by selecting grips but for curves I have no idea.
I can also evaluate the curves and simplify it by some points on the curve and then connect it but there might other way.
This is a python script, but you could translate the principles to a RhinoCommon plugin if needs. Let me know if you need help modifying it to fit your use case.