1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
# structmech package
# Matthew Bertucci 12/22/2021 for v1.1
#include:ifthen
#include:kvoptions
#include:tikz
# loads calc, decorations.pathreplacing, and positioning tikzlibraries
#include:xkeyval
#include:xparse
#include:xstring
\setstructmech{options%keyvals}
#keyvals:\usepackage/structmech#c,\setstructmech
fill=#%color
line=#%color
node=#%color
axis=#%color
rotation=#%color
convention=#*ign,direction
showvalue=#on,off
absvalue=#on,off
opacity=%<factor%>
linewidth=##L
#endkeyvals
\NodalForce{x,y}
\NodalForce[color]{x,y}
\NodalForce[color]{x,y}[Hlabel][Vlabel][Rlabel]
\NodalForce[color]{x,y}[Hlabel][Vlabel][Rlabel]{rotation}[scale]
\BasicForce{x1,y1}{x2,y2}{label}
\BasicForce[number%keyvals]{x1,y1}{x2,y2}{label}
\BasicForce[number%keyvals]{x1,y1}{x2,y2}{label}{TikZ keys}
\BasicForce[number%keyvals]{x1,y1}{x2,y2}{label}{TikZ keys}[label1][label2][label3]
#keyvals:\BasicForce
1
2L
2H
2
3
#endkeyvals
\UDL{x1,y1}{x2,y2}
\UDL[F]{%<x1,y1%>}{%<x2,y2%>}
\UDL[F]{x1,y1}{x2,y2}[label]
\UDL[F]{x1,y1}{x2,y2}[label]{scale}
\HingeSupport{x,y}
\HingeSupport[rotation]{x,y}
\HingeSupport[rotation]{x,y}{scale}
\FixedSupport{x,y}
\FixedSupport[rotation]{x,y}
\FixedSupport[rotation]{x,y}{scale}
\RollerSupport{x,y}
\RollerSupport[rotation]{x,y}
\RollerSupport[rotation]{x,y}{scale}
\SliderSupport{x,y}
\SliderSupport[rotation]{x,y}
\SliderSupport[rotation]{x,y}{scale}
\SleeveSupport{x,y}
\SleeveSupport[rotation]{x,y}
\SleeveSupport[rotation]{x,y}[gap%l]
\SleeveSupport[rotation]{x,y}[gap%l]{scale}
\Rigid{x,y}
\Rigid[rotation]{x,y}
\Rigid[rotation]{x,y}{scale}
\CoorOrigin{x,y}
\CoorOrigin[rotation]{x,y}
\CoorOrigin[rotation]{x,y}[xlabel][ylabel]
\CoorOrigin[rotation]{x,y}[xlabel][ylabel]{scale}
\IForceA{x1,y1}{x2,y2}{force-lower}{force-higher}
\IForceA[color]{x1,y1}{x2,y2}{force-lower}{force-higher}
\IForceA[color]{x1,y1}{x2,y2}{force-lower}{force-higher}{scale}
\IForceB{x1,y1}{x2,y2}{moment-lower}{moment-higher}{increment}
\IForceB[color]{x1,y1}{x2,y2}{moment-lower}{moment-higher}{increment}
\IForceB[color]{x1,y1}{x2,y2}{moment-lower}{moment-higher}{increment}{scale}
\BeamDeformP{x1,y1}{x2,y2}{disp-lower}{disp-higher}
\BeamDeformP[color]{x1,y1}{x2,y2}{disp-lower}{disp-higher}
\BeamDeformP[color]{x1,y1}{x2,y2}{disp-lower}[rot-lower]{disp-higher}[rot-higher]
\BeamDeformP[color]{x1,y1}{x2,y2}{disp-lower}[rot-lower]{disp-higher}[rot-higher]{scale}
\BeamDeformR{x1,y1}{x2,y2}
\BeamDeformR[color]{x1,y1}{x2,y2}
\BeamDeformR[color]{x1,y1}{x2,y2}[rot-lower][rot-higher]
\BeamDeformR[color]{x1,y1}{x2,y2}[rot-lower][rot-higher]{scale}
\Angle#*
\AngleB#*
\FAC#*
\Length#*
\LengthB#*
\absvalue#*
\axisColor#*
\convention#*
\fillColor#*
\fillOpacity#*
\lineColor#*
\lineWidth#*
\nodeColor#*
\rotationColor#*
\showvalue#*
|