diff options
Diffstat (limited to 'Connections/Shear/Finplate/plate.py')
-rw-r--r-- | Connections/Shear/Finplate/plate.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Connections/Shear/Finplate/plate.py b/Connections/Shear/Finplate/plate.py new file mode 100644 index 0000000..e4b9e53 --- /dev/null +++ b/Connections/Shear/Finplate/plate.py @@ -0,0 +1,44 @@ +''' +Created on 29-Nov-2014 + +@author: deepa +''' +import numpy +from ModelUtils import * + +class Plate(object): + # + def __init__(self,L, W, T): + self.L = L + self.W = W + self.T = T + self.secOrigin = numpy.array([0, 0, 0]) + self.uDir = numpy.array([1.0, 0, 0]) + self.wDir = numpy.array([0.0, 0, 1.0]) + self.computeParams() + + def place(self, secOrigin, uDir, wDir): + self.secOrigin = secOrigin + self.uDir = uDir + self.wDir = wDir + self.computeParams() + + def computeParams(self): + self.vDir = numpy.cross(self.wDir, self.uDir) + self.a1 = self.secOrigin + (self.T/2.0) * self.uDir + (self.L/2.0) * self.vDir + self.a2 = self.secOrigin + (-self.T/2.0) * self.uDir + (self.L/2.0) * self.vDir + self.a3 = self.secOrigin + (-self.T/2.0) * self.uDir + (-self.L/2.0) * self.vDir + self.a4 = self.secOrigin + (self.T/2.0) * self.uDir + (-self.L/2.0) * self.vDir + self.points = [self.a1, self.a2, self.a3, self.a4] + + + def createModel(self): + edges = makeEdgesFromPoints(self.points) + wire = makeWireFromEdges(edges) + aFace = makeFaceFromWire(wire) + extrudeDir = self.W * self.wDir # extrudeDir is a numpy array + prism = makePrismFromFace(aFace, extrudeDir) + + return prism + +
\ No newline at end of file |