Moment Interaction Diagram Usability Enhancements
robbievanleeuwen opened this issue · 2 comments
- More helpful exception messages when number of
labels
,control_points
orn_points
do not match - Automatic sorting of
control_points
, rather than raising an exception if not sorted
Originally posted by @Agent6-6-6 in #32 (reply in thread)
@robbievanleeuwen, having played around with the control points and trying to consistently create relatively smooth curves, I have a few thoughts on a potentially better approach to defining the axial load control points/analysis points for the M/N curve:-
- Take the entire range from max tension to max compression as the bounds on axial load control points
- Either have a user supplied variable to break this range up evenly by a certain number of evenly spaced control points (like
n_points = 48
), or a user specify max axial load interval (liken_spacing = 200
), and divide the entire range by this to create an evenly spaced axial load range - work out corresponding neutral axis depths for these loads based on whatever rotation is required
- add in the user defined points as extra points, working out neutral axis depths as required depending on how they were specified
- sort combined list (as all based on neutral axis depths)
- calculate capacities at those points for the analysis
Otherwise I've found it's actually quite hard to make nicer curves that look nicely curved, especially if you're looking at different neutral axis rotations as the vertical spacing of control points jumps all over the place in terms of axial load. It might look nice at one rotation, but then at another rotation it gets a bit piecemeal like with obvious straight lines being joined in another between wider spaced control points.
Based on what you have already I don't think that would be too much of a change. Potentially it can be another option beside the current implementation that gives users another option to tweak plotting resolution?
One more comment to add on this in its current implementation that I've noted:-
- when utilising the
max_comp
variable if you specify a custom control point that turns out to be above the maximum axial load cutoff for the section you are analysing. Currently, these are not filtered out resulting in the error being raised whereby the control points must be ordered...