adtzlr/trusspy

Plot supports based on boundary conditions

adtzlr opened this issue · 5 comments

Add an option to draw supports (roller, pinned) inside the model plot. As TrussPy is 3D-based this seems a quite complicated task: Which symbols should be used? The Classic symbols in each direction? Which plane should be used to draw the symbols? Is it possible that the 2D plots are still projections of the 3D scene or are special considerations based on 2D/3D needed?

srtgn commented

This link from Anastruct might be useful: https://anastruct.readthedocs.io/en/latest/supports.html

Thank you. Well, AnaStruct is a 2D analysis program for trusses and beams and therefore a fixed, a roller and a hinged support are well defined (the plane in which the supports are acting are clearly defined). TrussPy has only one type of boundary condition: fixed or free per nodal DOF. No specific supports for boundary conditions. Furthermore TrussPy only supports trusses, so a hinged and a fixed support are effectively the same as trusses do not carry moments. So there are two options: Implement new types of boundary conditions (roller_xy, roller_yz, roller_zx, fixed) and plot them accordingly at their acting planes. Or option 2: analyze the boundary conditions and place the correct support symbol in the plot. I would prefer the latter one and implement the symbols only for one plane (e.g. XZ-plane).

Then I could add a new keyword argument to the function plot_model(supports=True). Do you think this would be a good idea?

srtgn commented

Great idea!

Hey, I tried some things out but unfortunately I had no success in generating a stable code for drawing supports which works in 2D,3D, is efficient, easy to maintain...

I'm sorry but I have to delay this feature for another several weeks. Sorry, I meant several years ⌛