Skip to content
Snippets Groups Projects
Commit 2ff8c96c authored by Yusuke Tanaka's avatar Yusuke Tanaka
Browse files

Whitespace fix

parent 5fadd680
No related merge requests found
from rocolib.api.components import FoldedComponent
from rocolib.api.composables.graph.Face import RegularNGon2
from rocolib.api.composables.graph.Face import Rectangle
import numpy as np
class FoldedTire(FoldedComponent):
def define(self):
self.addParameter("n", 9, valueType="int")
self.addParameter("radius", 25, paramType="length")
self.addParameter("twidth", 10, paramType="length")
self.addParameter("slength", optional=True, paramType="length")
#calculation for slength: float(2 * r * np.cos(np.deg2rad(70)))
#Slength is the side of the rectangle that will attach to the edge of the nonagon
self.addFaceInterface("face", "w1")
self.addFaceInterface("face2", "w2")
#Hardcoded 9 edge interfaces
for i in range(9):
try:
self.setEdgeInterface("e%d" % i, "e%d" % i, "radius")
except KeyError:
self.addEdgeInterface("e%d" % i, "e%d" % i, "radius")
def modifyParameters(self):
r = self.getParameter("radius")
self.setParameter("slength", float(2 * r * np.cos(np.deg2rad(70))))
def assemble(self):
n = self.getParameter("n")
r = self.getParameter("radius")
tw = self.getParameter("twidth")
self.setParameter("slength", float(2 * r * np.cos(np.deg2rad(70))))
sl = self.getParameter("slength")
wheel1 = RegularNGon2("", n, r)
wheel2 = RegularNGon2("", n, r)
support = []
for i in range(9):
support.append(Rectangle("", tw, sl))
fromEdge = None
for i in range(9):
self.attachEdge(fromEdge, support[i], "e2", prefix="r%d" % i, angle=-40, root=(i == 1))
fromEdge = 'r%d.e0' % i
self.attachEdge("r0.e1", wheel1, "e0", prefix="w1", angle=-90)
self.attachEdge("r4.e3", wheel2, "e0", prefix="w2", angle=-90)
self.addTab("r8.e1", "w1.e8", angle=-90, width=11)
self.addTab("r0.e3", "w2.e4", angle=-90, width=11)
self.addTab("r4.e1", "w1.e4", angle=-90, width=11)
self.addTab("r2.e1", "w1.e2", angle=-90, width=11)
self.addTab("r2.e3", "w2.e2", angle=-90, width=11)
self.addTab("r7.e1", "w1.e7", angle=-90, width=11)
self.addTab("r7.e3", "w2.e6", angle=-90, width=11)
if __name__ == "__main__":
FoldedTire.test()
......@@ -13,26 +13,8 @@ class Tire(FoldedComponent):
paramType=radius: to set radius"""
def define(self):
self.addParameter("tire_thickness", 0, paramType="length")
#self.addInterface("face", "tire_shape")
self.addParameter("n", 40, valueType="int")
self.addParameter("radius", 25, paramType="length")
self.addParameter("slength", optional=True, paramType="length")
self.addFaceInterface("face", "w1")
self.addFaceInterface("face2", "w2")
def modifyParameters(self):
thickness = self.getParameter("tire_thickness")
if thickness == 0:
#tickness is 0 or not specified
self.setParameter("n", 40)
else:
#if thickness is not zero
self.setParameter("n", 9)
def assemble(self):
thickness = self.getParameter("tire_thickness")
......@@ -41,41 +23,32 @@ class Tire(FoldedComponent):
self.regularNgonTireAssembly()
else:
#if thickness is not zero
r = self.getParameter("radius")
n = self.getParameter("n")
self.setParameter("slength", float(2 * r * np.cos(np.deg2rad(90-180/n))))
self.foldedTireAssembly()
def regularNgonTireAssembly(self):
n = self.getParameter("n")
# number of polygon sides
n = 40
l = self.getParameter("radius")
self.addFace(RegularNGon2("w1", n, l))
def foldedTireAssembly(self):
n = self.getParameter("n")
# number of polygon sides
n = 9
r = self.getParameter("radius")
tw = self.getParameter("tire_thickness")
sl = self.getParameter("slength")
# length of
sl = float(2 * r * np.cos(np.deg2rad(90-180/n)))
wheel1 = RegularNGon2("", n, r)
wheel2 = RegularNGon2("", n, r)
#Hardcoded 9 edge interfaces for folded tire
for i in range(9):
try:
self.setEdgeInterface("e%d" % i, "e%d" % i, "radius")
except KeyError:
self.addEdgeInterface("e%d" % i, "e%d" % i, "radius")
support = []
for i in range(9):
for i in range(n):
support.append(Rectangle("", tw, sl))
fromEdge = None
for i in range(9):
for i in range(n):
self.attachEdge(fromEdge, support[i], "e2", prefix="r%d" % i, angle=-40, root=(i == 1))
fromEdge = 'r%d.e0' % i
......@@ -93,7 +66,5 @@ class Tire(FoldedComponent):
self.addTab("r7.e3", "w2.e6", angle=-90, width=11)
if __name__ == "__main__":
Tire.test()
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment