diff --git a/README.md b/README.md index 3a22c79..a07c965 100644 --- a/README.md +++ b/README.md @@ -33,4 +33,9 @@ There has been no methodical V&V on this converter; use at your own risk! There are several known and many unknown limitations of this tool. It is in a preliminary state and subject to considerable redesign, including the addition -of a backend for other CAD engines. \ No newline at end of file +of a backend for other CAD engines. + +Specific Limitations: + + - general Cones are not handled + - Torii are required to have a single minor radius, OpenMC allows for different minor radii orthogonal to the toroidal axis \ No newline at end of file diff --git a/src/openmc_cad_adapter/cubit_util.py b/src/openmc_cad_adapter/cubit_util.py new file mode 100644 index 0000000..81be7a0 --- /dev/null +++ b/src/openmc_cad_adapter/cubit_util.py @@ -0,0 +1,28 @@ +_CUBIT_ID = 1 + + +def reset_cubit_ids(): + global _CUBIT_ID + _CUBIT_ID = 1 + + +def lastid(): + global _CUBIT_ID + id_out = _CUBIT_ID + _CUBIT_ID += 1 + return id_out + + +def new_variable(): + idn = lastid() + return f"id{idn}" + + +def emit_get_last_id(type="body", cmds=None): + idn = lastid() + ids = f"id{idn}" + if cmds is not None: + cmds.append(f'#{{ {ids} = Id("{type}") }}') + else: + print('Warning: cmds is None') + return ids diff --git a/src/openmc_cad_adapter/geom_util.py b/src/openmc_cad_adapter/geom_util.py new file mode 100644 index 0000000..d54785a --- /dev/null +++ b/src/openmc_cad_adapter/geom_util.py @@ -0,0 +1,42 @@ +import math +import numpy as np + +def vector_to_euler_xyz(v): + v = np.asarray(v) + v /= np.linalg.norm(v) + + x, y, z = v + + xy_norm = math.sqrt(x**2 + y**2) + + theta = np.arctan2(z, xy_norm) + # if z component is zero, vector is in the xy plane + if z == 0: + theta = np.pi / 2 + phi = np.arctan2(y, x) + + # Ensure angles are within [0, 2*pi] range + phi %= (2 * math.pi) + theta %= (2 * math.pi) + + oe = 180 / math.pi + return phi * oe, theta * oe, 0.0 + + +def rotate(id, x, y, z, cmds): + if nonzero(x, y, z): + phi, theta, psi = vector_to_euler_xyz((x, y, z)) + cmds.append(f"body {{ {id} }} rotate {theta} about Y") + cmds.append(f"body {{ {id} }} rotate {phi} about Z") + # cmds.append(f"body {{ {id} }} rotate {phi} about Z") + # cmds.append(f"body {{ {id} }} rotate {theta} about Y") + # cmds.append(f"body {{ {id} }} rotate {psi} about X") + + +def nonzero(*args): + return any(arg != 0 for arg in args) + + +def move( id, x, y, z, cmds): + if nonzero( x, y, z ): + cmds.append(f"body {{ {id} }} move {x} {y} {z}") \ No newline at end of file diff --git a/src/openmc_cad_adapter/gqs.py b/src/openmc_cad_adapter/gqs.py new file mode 100644 index 0000000..585489c --- /dev/null +++ b/src/openmc_cad_adapter/gqs.py @@ -0,0 +1,136 @@ +import numpy as np + + +ELLIPSOID = 1 +ONE_SHEET_HYPERBOLOID = 2 +TWO_SHEET_HYPERBOLOID = 3 +ELLIPTIC_CONE = 4 +ELLIPTIC_PARABOLOID = 5 +HYPERBOLIC_PARABOLOID = 6 +ELLIPTIC_CYLINDER = 7 +HYPERBOLIC_CYLINDER = 8 +PARABOLIC_CYLINDER = 9 + + +def characterize_general_quadratic( surface ): #s surface + gq_tol = 1e-6 + equivalence_tol = 1e-8 + a = surface.coefficients['a'] + b = surface.coefficients['b'] + c = surface.coefficients['c'] + d = surface.coefficients['d'] + e = surface.coefficients['e'] + f = surface.coefficients['f'] + g = surface.coefficients['g'] + h = surface.coefficients['h'] + j = surface.coefficients['j'] + k = surface.coefficients['k'] + #coefficient matrix + Aa = np.matrix([ + [a, d/2, f/2], + [d/2, b, e/2], + [f/2, e/2, c]]) + #hessian matrix + Ac = np.matrix([ + [a, d/2, f/2, g/2], + [d/2, b, e/2, h/2], + [f/2, e/2, c, j/2], + [g/2, h/2, j/2, k]]) + rank_Aa = matrix_rank( Aa ) + rank_Ac = matrix_rank( Ac ) + + det_Ac = np.linalg.det(Ac) + if np.abs( det_Ac ) < gq_tol: + delta = 0 + else: + delta = -1 if det_Ac < 0 else -1 + eigen_results = np.linalg.eig(Aa); + signs = np.array([ 0, 0, 0 ]) + for i in range( 0, 3 ): + if eigen_results.eigenvalues[ i ] > -1 * gq_tol: + signs[i] = 1 + else: + signs[i] = -1 + + S = 1 if np.abs( signs.sum() ) == 3 else -1 + + B = np.array([[ -g/2], [-h/2], [-j/2 ]]) + + Aai = np.linalg.pinv( Aa ) + + C = Aai * B + + dx = C[0] + dy = C[1] + dz = C[2] + + #Update the constant using the resulting translation + K_ = k + g/2*dx + h/2*dy + j/2*dz + + if rank_Aa == 2 and rank_Ac == 3 and S == 1: + delta = -1 if K_ * signs[0] else 1 + + D = -1 if K_ * signs[0] else 1 + + + def find_type( rAa, rAc, delta, S, D ): + if 3 == rAa and 4 == rAc and -1 == delta and 1 == S: + return ELLIPSOID + elif 3 == rAa and 4 == rAc and 1 == delta and -1 == S: + return ONE_SHEET_HYPERBOLOID + elif 3 == rAa and 4 == rAc and -1 == delta and -1 == S: + return TWO_SHEET_HYPERBOLOID + elif 3 == rAa and 3 == rAc and 0 == delta and -1 == S: + return ELLIPTIC_CONE + elif 2 == rAa and 4 == rAc and -1 == delta and 1 == S: + return ELLIPTIC_PARABOLOID + elif 2 == rAa and 4 == rAc and 1 == delta and -1 == S: + return HYPERBOLIC_PARABOLOID + elif 2 == rAa and 3 == rAc and -1 == delta and 1 == S: + return ELLIPTIC_CYLINDER + elif 2 == rAa and 3 == rAc and 0 == delta and -1 == S: + return HYPERBOLIC_CYLINDER + elif 2 == rAa and 3 == rAc and 0 == delta and 1 == S: + return PARABOLIC_CYLINDER + elif 2 == rAa and 3 == rAc and 1 == S and D != 0 : + return find_type( rAa, rAc, D, S, 0 ) + else: + raise "UNKNOWN QUADRATIC" + + gq_type = find_type( rank_Aa, rank_Ac, delta, S, D ) + + #set the translation + translation = C + + rotation_matrix = eigen_results.eigenvectors + eigenvalues = eigen_results.eigenvalues + + for i in range( 0, 3 ): + if abs(eigenvalues[i]) < gq_tol: + eigenvalues[i] = 0 + + A_ = eigenvalues[0] + B_ = eigenvalues[1] + C_ = eigenvalues[2]; + D_ = 0; E_ = 0; F_ = 0; + G_ = 0; H_ = 0; J_ = 0; + if gq_type == ONE_SHEET_HYPERBOLOID: + if abs( K_) < equivalence_tol: + K_ = 0 + return ELLIPTIC_CONE + if gq_type == TWO_SHEET_HYPERBOLOID: + if abs( K_) < equivalence_tol: + K_ = 0 + return ELLIPTIC_CONE + if gq_type == ELLIPSOID: + if abs( A_) < equivalence_tol: + A_ = 0 + return ELLIPTIC_CYLINDER + elif abs( B_) < equivalence_tol: + B_ = 0 + return ELLIPTIC_CYLINDER + elif abs( C_) < equivalence_tol: + C_ = 0 + return ELLIPTIC_CYLINDER + else: + return (gq_type, A_, B_, C_, K_, translation, rotation_matrix) \ No newline at end of file diff --git a/src/openmc_cad_adapter/surfaces.py b/src/openmc_cad_adapter/surfaces.py new file mode 100644 index 0000000..71c3d27 --- /dev/null +++ b/src/openmc_cad_adapter/surfaces.py @@ -0,0 +1,436 @@ +from abc import ABC, abstractmethod +import sys +import math +import warnings + +import numpy as np +import openmc + +from .cubit_util import emit_get_last_id, lastid +from .geom_util import move, rotate + +def indent(indent_size): + return ' ' * (2*indent_size) + + +class CADSurface(ABC): + + def to_cubit_surface(self, ent_type, node, extents, inner_world=None, hex=False): + ids, cmds = self.to_cubit_surface_inner(ent_type, node, extents, inner_world, hex) + # TODO: Add boundary condition to the correct surface(s) + # cmds += self.boundary_condition(ids) + return ids, cmds + + @abstractmethod + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + raise NotImplementedError + + def boundary_condition(self, cad_surface_ids): + if self.boundary_type == 'transmission': + return [] + cmds = [] + cmds.append(f'group \"boundary:{self.boundary_type}\" add surface {cad_surface_ids[2:]}') + return cmds + + @classmethod + def from_openmc_surface(cls, surface): + with warnings.catch_warnings() as w: + warnings.simplefilter("ignore") + return cls.from_openmc_surface_inner(surface) + + @classmethod + @abstractmethod + def from_openmc_surface_inner(cls, surface): + raise NotImplementedError + + +class CADPlane(CADSurface, openmc.Plane): + + @staticmethod + def lreverse(node): + return "" if node.side == '-' else "reverse" + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cmds = [] + + n = np.array([self.coefficients[k] for k in ('a', 'b', 'c')]) + cd = self.coefficients['d'] + maxv = sys.float_info.min + for i, v in enumerate(n): + if abs(v) > maxv: + maxv = v + + ns = cd * n + + cmds.append( f"create surface rectangle width { 2*extents[0] } zplane") + sur, cmd = emit_get_last_id( "surface" ) + cmds.append(cmd) + surf, cmd = emit_get_last_id( "body" ) + + n = n/np.linalg.norm(n) + ns = cd * n + zn = np.array([ 0, 0, 1 ]) + n3 = np.cross(n, zn) + dot = np.dot(n, zn) + cmds.append(f"# n3 {n3[0]} {n3[1]} {n3[2]}") + degs = math.degrees(math.acos(np.dot(n, zn))) + y = np.linalg.norm(n3) + x = dot + angle = - math.degrees(math.atan2( y, x )) + if n3[0] != 0 or n3[1] != 0 or n3[2] != 0: + cmds.append(f"Rotate body {{ {surf} }} about 0 0 0 direction {n3[0]} {n3[1]} {n3[2]} Angle {angle}") + cmds.append(f"body {{ { surf } }} move {ns[0]} {ns[1]} {ns[2]}") + cmds.append(f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + ids = emit_get_last_id( ent_type ) + cmds.append(f"section body {{ {ids} }} with surface {{ {sur} }} {self.lreverse(node)}") + cmds.append(f"del surface {{ {sur} }}") + + cmds += self.boundary_condition(ids) + return ids, cmds + + @classmethod + def from_openmc_surface_inner(cls, plane): + return cls(plane.a, plane.b, plane.c, plane.d, plane.boundary_type, plane.albedo, plane.name, plane.id) + + +class CADXPlane(CADSurface, openmc.XPlane): + + @staticmethod + def reverse(node): + return "reverse" if node.side == '-' else "" + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + cad_cmds.append(f"brick x {extents[0]} y {extents[1]} z {extents[2]}") + ids = emit_get_last_id( ent_type, cad_cmds) + cad_cmds.append(f"section body {{ {ids} }} with xplane offset {self.coefficients['x0']} {self.reverse(node)}") + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, plane): + return cls(x0=plane.x0, boundary_type=plane.boundary_type, albedo=plane.albedo, name=plane.name, surface_id=plane.id) + + +class CADYPlane(CADSurface, openmc.YPlane): + + @staticmethod + def reverse(node): + return "reverse" if node.side == '-' else "" + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + cad_cmds.append(f"brick x {extents[0]} y {extents[1]} z {extents[2]}") + ids = emit_get_last_id( ent_type, cad_cmds) + cad_cmds.append(f"section body {{ {ids} }} with yplane offset {self.coefficients['y0']} {self.reverse(node)}") + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, plane): + return cls(y0=plane.y0, boundary_type=plane.boundary_type, albedo=plane.albedo, name=plane.name, surface_id=plane.id) + + +class CADZPlane(CADSurface, openmc.ZPlane): + + @staticmethod + def reverse(node): + return "reverse" if node.side == '-' else "" + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + cad_cmds.append(f"brick x {extents[0]} y {extents[1]} z {extents[2]}") + ids = emit_get_last_id( ent_type, cad_cmds) + cad_cmds.append(f"section body {{ {ids} }} with zplane offset {self.coefficients['z0']} {self.reverse(node)}") + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, plane): + return cls(z0=plane.z0, boundary_type=plane.boundary_type, albedo=plane.albedo, name=plane.name, surface_id=plane.id) + +class CADCylinder(CADSurface, openmc.Cylinder): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + print('XCADCylinder to cubit surface') + cad_cmds = [] + h = inner_world[2] if inner_world else extents[2] + cad_cmds.append(f"cylinder height {h} radius {self.r}") + ids = emit_get_last_id(cmds=cad_cmds) + if node.side != '-': + wid = 0 + if inner_world: + if hex: + cad_cmds.append(f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2 ) }") + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"rotate body {{ {wid} }} about z angle 30") + else: + cad_cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") + wid = emit_get_last_id(ent_type, cad_cmds) + else: + cad_cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append( f"subtract body {{ { ids } }} from body {{ { wid } }}" ) + rotate( wid, self.dx, self.dy, self.dz, cad_cmds) + move( wid, self.x0, self.y0, self.z0, cad_cmds) + return wid, cad_cmds + rotate( ids, self.dx, self.dy, self.dz, cad_cmds) + move( ids, self.x0, self.y0, self.z0, cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, cyl): + return cls(r=cyl.r, x0=cyl.x0, y0=cyl.y0, z0=cyl.z0, dx=cyl.dx, dy=cyl.dy, dz=cyl.dz, + boundary_type=cyl.boundary_type, albedo=cyl.albedo, name=cyl.name, surface_id=cyl.id) + +class CADXCylinder(CADSurface, openmc.XCylinder): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + h = inner_world[0] if inner_world else extents[0] + cad_cmds.append( f"cylinder height {h} radius {self.r}") + ids = emit_get_last_id( ent_type , cad_cmds) + cad_cmds.append(f"rotate body {{ {ids} }} about y angle 90") + if node.side != '-': + wid = 0 + if inner_world: + if hex: + cad_cmds.append(f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2 ) }") + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"rotate body {{ {wid} }} about z angle 30") + cad_cmds.append(f"rotate body {{ {wid} }} about y angle 90") + else: + cad_cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") + wid = emit_get_last_id(ent_type, cad_cmds) + else: + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id( ent_type , cad_cmds) + cad_cmds.append(f"subtract body {{ { ids } }} from body {{ { wid } }}") + move(wid, 0, self.y0, self.z0, cad_cmds) + return wid, cad_cmds + move(ids, 0, self.y0, self.z0, cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, cyl): + return cls(r=cyl.r, y0=cyl.y0, z0=cyl.z0, boundary_type=cyl.boundary_type, albedo=cyl.albedo, name=cyl.name, surface_id=cyl.id) + + +class CADYCylinder(CADSurface, openmc.YCylinder): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + h = inner_world[1] if inner_world else extents[1] + cad_cmds.append( f"cylinder height {h} radius {self.r}") + ids = emit_get_last_id( ent_type , cad_cmds) + cad_cmds.append(f"rotate body {{ {ids} }} about x angle 90") + if node.side != '-': + wid = 0 + if inner_world: + if hex: + cad_cmds.append(f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2 ) }") + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"rotate body {{ {wid} }} about z angle 30") + cad_cmds.append(f"rotate body {{ {wid} }} about x angle 90") + else: + cad_cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") + wid = emit_get_last_id(ent_type, cad_cmds) + else: + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id( ent_type , cad_cmds) + cad_cmds.append(f"subtract body {{ { ids } }} from body {{ { wid } }}") + move(wid, self.x0, 0, self.z0, cad_cmds) + return wid, cad_cmds + move(ids, self.x0, 0, self.z0, cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, cyl): + return cls(r=cyl.r, x0=cyl.x0, z0=cyl.z0, boundary_type=cyl.boundary_type, albedo=cyl.albedo, name=cyl.name, surface_id=cyl.id) + + +class CADZCylinder(CADSurface, openmc.ZCylinder): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + h = inner_world[2] if inner_world else extents[2] + cad_cmds.append( f"cylinder height {h} radius {self.r}") + ids = emit_get_last_id( ent_type , cad_cmds) + if node.side != '-': + wid = 0 + if inner_world: + if hex: + cad_cmds.append(f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2 ) }") + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"rotate body {{ {wid} }} about z angle 30") + else: + cad_cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") + wid = emit_get_last_id(ent_type, cad_cmds) + else: + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id( ent_type , cad_cmds) + cad_cmds.append(f"subtract body {{ { ids } }} from body {{ { wid } }}") + move(wid, self.x0, self.y0, 0, cad_cmds) + return wid, cad_cmds + move(ids, self.x0, self.y0, 0, cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, cyl): + return cls(r=cyl.r, x0=cyl.x0, y0=cyl.y0, boundary_type=cyl.boundary_type, albedo=cyl.albedo, name=cyl.name, surface_id=cyl.id) + + +class CADSphere(CADSurface, openmc.Sphere): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + cad_cmds.append( f"sphere redius {self.r}") + ids = emit_get_last_id(ent_type, cad_cmds) + move(ids, self.x0, self.y0, self.z0, cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, sphere): + return cls(r=sphere.r, x0=sphere.x0, y0=sphere.y0, z0=sphere.z0, boundary_type=sphere.boundary_type, albedo=sphere.albedo, name=sphere.name, surface_id=sphere.id) + +class CADCone(CADSurface): + + def to_cubit_surface(self, ent_type, node, extents, inner_world=None, hex=False): + raise NotImplementedError('General Cones are not yet supported') + + @classmethod + def from_openmc_surface(cls, surface): + raise NotImplementedError('General Cones are not yet supported') + +class CADXCone(CADSurface, openmc.XCone): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + cad_cmds.append( f"create frustum height {extents[0]} radius {math.sqrt(self.coefficients['r2']*extents[0])} top 0") + ids = emit_get_last_id( ent_type , cad_cmds) + cad_cmds.append( f"rotate body {{ {ids} }} about y angle 90") + if node.side != '-': + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id( ent_type , cad_cmds) + cad_cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") + move(wid, self.coefficients['x0'], self.coefficients['y0'], self.coefficients['z0'], cad_cmds) + ids = wid + else: + move(ids, self.coefficients['x0'], self.coefficients['y0'], self.coefficients['z0'], cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, surface): + return cls(x0=surface.x0, y0=surface.y0, z0=surface.z0, r2=surface.r2, boundary_type=surface.boundary_type, albedo=surface.albedo, name=surface.name, surface_id=surface.id) + + +class CADYCone(CADSurface, openmc.YCone): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + cad_cmds.append( f"create frustum height {extents[1]} radius {math.sqrt(self.coefficients['r2']*extents[1])} top 0") + ids = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append( f"rotate body {{ {ids} }} about x angle 90") + if node.side != '-': + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") + move(wid, self.coefficients['x0'], self.coefficients['y0'], self.coefficients['z0'], cad_cmds) + ids = wid + else: + move(ids, self.coefficients['x0'], self.coefficients['y0'], self.coefficients['z0'], cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, surface): + return cls(x0=surface.x0, y0=surface.y0, z0=surface.z0, r2=surface.r2, boundary_type=surface.boundary_type, albedo=surface.albedo, name=surface.name, surface_id=surface.id) + + +class CADZCone(CADSurface, openmc.ZCone): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + cad_cmds = [] + cad_cmds.append( f"create frustum height {extents[2]} radius {math.sqrt(self.coefficients['r2']*extents[2])} top 0") + ids = emit_get_last_id(ent_type, cad_cmds) + if node.side != '-': + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id(ent_type , cad_cmds) + cad_cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") + move(wid, self.coefficients['x0'], self.coefficients['y0'], self.coefficients['z0'], cad_cmds) + ids = wid + else: + move(ids, self.coefficients['x0'], self.coefficients['y0'], self.coefficients['z0'], cad_cmds) + return ids, cad_cmds + + @classmethod + def from_openmc_surface_inner(cls, surface): + return cls(x0=surface.x0, y0=surface.y0, z0=surface.z0, r2=surface.r2, boundary_type=surface.boundary_type, albedo=surface.albedo, name=surface.name, surface_id=surface.id) + + +class CADTorus(CADSurface): + + def check_coeffs(self): + if self.b != self.c: + raise ValueError("Only torri with constant minor radii are supported") + + @classmethod + def from_openmc_surface_inner(cls, surface): + return cls(x0=surface.x0, y0=surface.y0, z0=surface.z0, a=surface.a, b=surface.b, c=surface.c, boundary_type=surface.boundary_type, albedo=surface.albedo, name=surface.name, surface_id=surface.id) + +class CADXTorus(CADTorus, openmc.XTorus): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + self.check_coeffs() + cad_cmds = [] + cad_cmds.append( f"torus major radius {self.a} minor radius {self.b}" ) + ids = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append( f"rotate body {{ {ids} }} about y angle 90") + if node.side != '-': + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") + move(wid, self.x0, self.y0, self.z0, cad_cmds) + ids = wid + else: + move(ids, self.x0, self.y0, self.z0, cad_cmds) + return ids, cad_cmds + + + +class CADYTorus(CADTorus, openmc.YTorus): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + self.check_coeffs() + cad_cmds = [] + cad_cmds.append( f"torus major radius {self.a} minor radius {self.b}" ) + ids = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append( f"rotate body {{ {ids} }} about x angle 90") + if node.side != '-': + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") + move(wid, self.x0, self.y0, self.z0, cad_cmds) + ids = wid + else: + move(ids, self.x0, self.y0, self.z0, cad_cmds) + return ids, cad_cmds + + +class CADZTorus(CADTorus, openmc.ZTorus): + + def to_cubit_surface_inner(self, ent_type, node, extents, inner_world=None, hex=False): + self.check_coeffs() + cad_cmds = [] + cad_cmds.append( f"torus major radius {self.a} minor radius {self.b}" ) + ids = emit_get_last_id(ent_type, cad_cmds) + if node.side != '-': + cad_cmds.append( f"brick x {extents[0]} y {extents[1]} z {extents[2]}" ) + wid = emit_get_last_id(ent_type, cad_cmds) + cad_cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") + move(wid, self.x0, self.y0, self.z0, cad_cmds) + ids = wid + else: + move(ids, self.x0, self.y0, self.z0, cad_cmds) + return ids, cad_cmds + + +_CAD_SURFACES = [CADPlane, CADXPlane, CADYPlane, CADZPlane, CADCylinder, CADXCylinder, CADYCylinder, CADZCylinder, CADSphere, CADXCone, CADYCone, CADZCone, CADXTorus, CADYTorus, CADZTorus] + +_CAD_SURFACE_DICTIONARY = {s._type: s for s in _CAD_SURFACES} \ No newline at end of file diff --git a/src/openmc_cad_adapter/to_cubit_journal.py b/src/openmc_cad_adapter/to_cubit_journal.py index cf92ae6..83cec4e 100644 --- a/src/openmc_cad_adapter/to_cubit_journal.py +++ b/src/openmc_cad_adapter/to_cubit_journal.py @@ -4,6 +4,7 @@ from numbers import Real from pathlib import Path import sys +import warnings from numpy.linalg import matrix_rank import numpy as np @@ -17,140 +18,11 @@ from openmc.surface import Halfspace, Quadric from openmc.lattice import Lattice, HexLattice +from .gqs import characterize_general_quadratic +from .cubit_util import emit_get_last_id, reset_cubit_ids, new_variable +from .geom_util import rotate, move -ELLIPSOID = 1 -ONE_SHEET_HYPERBOLOID = 2 -TWO_SHEET_HYPERBOLOID = 3 -ELLIPTIC_CONE = 4 -ELLIPTIC_PARABOLOID = 5 -HYPERBOLIC_PARABOLOID = 6 -ELLIPTIC_CYLINDER = 7 -HYPERBOLIC_CYLINDER = 8 -PARABOLIC_CYLINDER = 9 - -def characterize_general_quadratic( surface ): #s surface - gq_tol = 1e-6 - equivalence_tol = 1e-8 - a = surface.coefficients['a'] - b = surface.coefficients['b'] - c = surface.coefficients['c'] - d = surface.coefficients['d'] - e = surface.coefficients['e'] - f = surface.coefficients['f'] - g = surface.coefficients['g'] - h = surface.coefficients['h'] - j = surface.coefficients['j'] - k = surface.coefficients['k'] - #coefficient matrix - Aa = np.matrix([ - [a, d/2, f/2], - [d/2, b, e/2], - [f/2, e/2, c]]) - #hessian matrix - Ac = np.matrix([ - [a, d/2, f/2, g/2], - [d/2, b, e/2, h/2], - [f/2, e/2, c, j/2], - [g/2, h/2, j/2, k]]) - rank_Aa = matrix_rank( Aa ) - rank_Ac = matrix_rank( Ac ) - - det_Ac = np.linalg.det(Ac) - if np.abs( det_Ac ) < gq_tol: - delta = 0 - else: - delta = -1 if det_Ac < 0 else -1 - eigen_results = np.linalg.eig(Aa); - signs = np.array([ 0, 0, 0 ]) - for i in range( 0, 3 ): - if eigen_results.eigenvalues[ i ] > -1 * gq_tol: - signs[i] = 1 - else: - signs[i] = -1 - - S = 1 if np.abs( signs.sum() ) == 3 else -1 - - B = np.array([[ -g/2], [-h/2], [-j/2 ]]) - - Aai = np.linalg.pinv( Aa ) - - C = Aai * B - - dx = C[0] - dy = C[1] - dz = C[2] - - #Update the constant using the resulting translation - K_ = k + g/2*dx + h/2*dy + j/2*dz - - if rank_Aa == 2 and rank_Ac == 3 and S == 1: - delta = -1 if K_ * signs[0] else 1 - - D = -1 if K_ * signs[0] else 1 - - - def find_type( rAa, rAc, delta, S, D ): - if 3 == rAa and 4 == rAc and -1 == delta and 1 == S: - return ELLIPSOID - elif 3 == rAa and 4 == rAc and 1 == delta and -1 == S: - return ONE_SHEET_HYPERBOLOID - elif 3 == rAa and 4 == rAc and -1 == delta and -1 == S: - return TWO_SHEET_HYPERBOLOID - elif 3 == rAa and 3 == rAc and 0 == delta and -1 == S: - return ELLIPTIC_CONE - elif 2 == rAa and 4 == rAc and -1 == delta and 1 == S: - return ELLIPTIC_PARABOLOID - elif 2 == rAa and 4 == rAc and 1 == delta and -1 == S: - return HYPERBOLIC_PARABOLOID - elif 2 == rAa and 3 == rAc and -1 == delta and 1 == S: - return ELLIPTIC_CYLINDER - elif 2 == rAa and 3 == rAc and 0 == delta and -1 == S: - return HYPERBOLIC_CYLINDER - elif 2 == rAa and 3 == rAc and 0 == delta and 1 == S: - return PARABOLIC_CYLINDER - elif 2 == rAa and 3 == rAc and 1 == S and D != 0 : - return find_type( rAa, rAc, D, S, 0 ) - else: - raise "UNKNOWN QUADRATIC" - - gq_type = find_type( rank_Aa, rank_Ac, delta, S, D ) - - #set the translation - translation = C - - rotation_matrix = eigen_results.eigenvectors - eigenvalues = eigen_results.eigenvalues - - for i in range( 0, 3 ): - if abs(eigenvalues[i]) < gq_tol: - eigenvalues[i] = 0 - - A_ = eigenvalues[0] - B_ = eigenvalues[1] - C_ = eigenvalues[2]; - D_ = 0; E_ = 0; F_ = 0; - G_ = 0; H_ = 0; J_ = 0; - if gq_type == ONE_SHEET_HYPERBOLOID: - if abs( K_) < equivalence_tol: - K_ = 0 - return ELLIPTIC_CONE - if gq_type == TWO_SHEET_HYPERBOLOID: - if abs( K_) < equivalence_tol: - K_ = 0 - return ELLIPTIC_CONE - if gq_type == ELLIPSOID: - if abs( A_) < equivalence_tol: - A_ = 0 - return ELLIPTIC_CYLINDER - elif abs( B_) < equivalence_tol: - B_ = 0 - return ELLIPTIC_CYLINDER - elif abs( C_) < equivalence_tol: - C_ = 0 - return ELLIPTIC_CYLINDER - else: - return ( gq_type, A_, B_, C_, K_, translation, rotation_matrix ) - +from .surfaces import _CAD_SURFACE_DICTIONARY def flatten(S): if S == []: @@ -160,21 +32,6 @@ def flatten(S): return S[:1] + flatten(S[1:]) -def vector_to_euler_xyz(v): - x, y, z = v - phi = math.atan2(z, x) - theta = math.acos(x / math.sqrt(x**2 + y**2)) - psi = math.atan2(y * math.cos(theta), x) - - # Ensure angles are within [0, 2*pi] range - phi %= (2 * math.pi) - theta %= (2 * math.pi) - psi %= (2 * math.pi) - - oe = 180 / math.pi - return phi * oe, theta * oe, psi * oe - - def to_cubit_journal(geometry : openmc.Geometry, world : Iterable[Real] = None, cells: Iterable[int, openmc.Cell] = None, filename: str = "openmc.jou", @@ -200,6 +57,7 @@ def to_cubit_journal(geometry : openmc.Geometry, world : Iterable[Real] = None, Internal parameter. """ + reset_cubit_ids() if not filename.endswith('.jou'): filename += '.jou' @@ -222,7 +80,7 @@ def to_cubit_journal(geometry : openmc.Geometry, world : Iterable[Real] = None, bbox = geometry.bounding_box if not all(np.isfinite(bbox[0])) or not all(np.isfinite(bbox[1])): raise RuntimeError('Model bounds were not provided and the bounding box determined by OpenMC is not finite.' - 'Please provide a world size argument to proceed') + ' Please provide a world size argument to proceed') # to ensure that the box box_max = np.max(np.abs(bbox[0], bbox[1]).T) world_size = (2 * box_max, 2 * box_max, 2 * box_max) @@ -231,12 +89,7 @@ def to_cubit_journal(geometry : openmc.Geometry, world : Iterable[Real] = None, raise RuntimeError("Model extents could not be determined automatically and must be provided manually") w = world - cid = 1 - def lastid(): - nonlocal cid - id = cid - cid = cid + 1 - return id + cmds = [] cmds.extend( [ "set graphics off", @@ -246,301 +99,26 @@ def lastid(): #"set info off", #"set warning off", ]) - def python_cmd(s): - cmds.append(s) def cubit_cmd(s): cmds.append(s) - def new_variable(): - idn = lastid() - return f"id{idn}" - - def emit_get_last_id(type="body"): - idn = lastid() - ids = f"id{idn}" - python_cmd(f'#{{ {ids} = Id("{type}") }}') - return ids - - def rotate(id, x, y, z): - if nonzero(x, y, z): - phi, theta, psi = vector_to_euler_xyz((x, y, z)) - cubit_cmd(f"body {{ {id} }} rotate {phi} about Z") - cubit_cmd(f"body {{ {id} }} rotate {theta} about Y") - cubit_cmd(f"body {{ {id} }} rotate {psi} about X") - def nonzero(*args): - return any(arg!= 0 for arg in args) - - def move( id, x, y, z ): - if nonzero( x, y, z ): - cubit_cmd( f"body {{ {id} }} move {x} {y} {z}" ) - - def make_world_brick(): - pass - - def surface_to_cubit_journal(node, w, indent = 0, inner_world = None, hex = False, ent_type = "body" ): + def surface_to_cubit_journal(node, w, indent = 0, inner_world = None, hex = False, ent_type = "body", materials='group'): def ind(): return ' ' * (2*indent) if isinstance(node, Halfspace): seen.add( node.surface ) surface = node.surface + nonlocal cmds + def reverse(): return "reverse" if node.side == '-' else "" - if surface._type == "plane": - ca = surface.coefficients['a'] - cb = surface.coefficients['b'] - cc = surface.coefficients['c'] - cd = surface.coefficients['d'] - n = np.array([ca, cb, cc ]) - maxi = 0 - maxv = sys.float_info.min - for i in range( 0, 3 ): - if n[i] > maxv: - maxi = i - maxv = n[i] - - ns = cd * n - - if False: - n2 = np.copy( n ) - n2[ maxi ] = - n2[maxi] - n3 = np.cross(n, n2) - n4 = np.cross(n, n3) - print( n2, n3, n4 ) - n3 = n3/np.linalg.norm(n3) - n4 = n4/np.linalg.norm(n4) - n3 = np.add(ns, n3) - n4 = np.add(ns, n4) - cmds.append( f"create vertex {ns[0]} {ns[1]} {ns[2]}") - v1 = emit_get_last_id( "vertex" ) - cmds.append( f"create vertex {n3[0]} {n3[1]} {n3[2]}") - v2 = emit_get_last_id( "vertex" ) - cmds.append( f"create vertex {n4[0]} {n4[1]} {n4[2]}") - v3 = emit_get_last_id( "vertex" ) - cmds.append( f"create planar surface with plane vertex {{ {v1} }} vertex {{ {v2} }} vertex {{ {v3} }} Extended Absolute {w[0]}") - surf = emit_get_last_id( "surface" ) - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - ids = emit_get_last_id( ent_type ) - cmds.append( f"section body {{ {ids} }} with surface {{ {surf} }} {reverse()}") - cmds.append( f"del surface {{ {surf} }}") - cmds.append( f"del vertex {{ {v1} }} {{ {v2} }} {{ {v3} }}") - else: - #for some reason cubit sectioning with a surface is backwards from cubit sectioning with an axis aligned plane - def lreverse(): - if node.side == '-': - return "" - else: - return "reverse" - cmds.append( f"create surface rectangle width { 2*w[0] } zplane") - sur = emit_get_last_id( "surface" ) - surf = emit_get_last_id( "body" ) - cmds.append( f"# dir {node.side}" ) - cmds.append( f"# c_ {ca} {cb} {cc} {cd}" ) - n = n/np.linalg.norm(n) - ns = cd * n - zn = np.array([ 0, 0, 1 ]) - n3 = np.cross(n, zn) - dot = np.dot(n, zn) - cmds.append(f"# n3 {n3[0]} {n3[1]} {n3[2]}") - degs = math.degrees(math.acos(np.dot(n, zn))) - y = np.linalg.norm(n3) - x = dot - angle = - math.degrees(math.atan2( y, x )) - if n3[0] != 0 or n3[1] != 0 or n3[2] != 0: - cmds.append(f"Rotate body {{ {surf} }} about 0 0 0 direction {n3[0]} {n3[1]} {n3[2]} Angle {angle}") - cmds.append(f"body {{ { surf } }} move {ns[0]} {ns[1]} {ns[2]}") - cmds.append(f"brick x {w[0]} y {w[1]} z {w[2]}" ) - ids = emit_get_last_id( ent_type ) - cmds.append(f"section body {{ {ids} }} with surface {{ {sur} }} {lreverse()}") - cmds.append(f"del surface {{ {sur} }}") - return ids - elif surface._type == "x-plane": - cmds.append(f"brick x {w[0]} y {w[1]} z {w[2]}") - ids = emit_get_last_id( ent_type) - cmds.append(f"section body {{ {ids} }} with xplane offset {surface.coefficients['x0']} {reverse()}") - return ids - elif surface._type == "y-plane": - cmds.append(f"brick x {w[0]} y {w[1]} z {w[2]}") - ids = emit_get_last_id(ent_type) - cmds.append(f"section body {{ {ids} }} with yplane offset {surface.coefficients['y0']} {reverse()}") - return ids - elif surface._type == "z-plane": - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}") - ids = emit_get_last_id( ent_type ) - cmds.append( f"section body {{ {ids} }} with zplane offset {surface.coefficients['z0']} {reverse()}") - return ids - elif surface._type == "cylinder": - h = inner_world[2] if inner_world else w[2] - cmds.append(f"cylinder height {h} radius {surface.coefficients['r']}") - ids = emit_get_last_id() - if node.side != '-': - wid = 0 - if inner_world: - if hex: - cmds.append(f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2 ) }") - wid = emit_get_last_id(ent_type) - cmds.append(f"rotate body {{ {wid} }} about z angle 30") - else: - cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") - wid = emit_get_last_id(ent_type) - else: - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id(ent_type) - cmds.append( f"subtract body {{ { ids } }} from body {{ { wid } }}" ) - rotate( wid, surface.coefficients['dx'], surface.coefficients['dy'], surface.coefficients['dz'] ) - move( wid, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return wid - rotate( ids, surface.coefficients['dx'], surface.coefficients['dy'], surface.coefficients['dz'] ) - move( ids, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return ids - elif surface._type == "x-cylinder": - h = inner_world[0] if inner_world else w[0] - cmds.append(f"cylinder height {h} radius {surface.coefficients['r']}") - ids = emit_get_last_id( ent_type ) - cmds.append( f"rotate body {{ { ids } }} about y angle 90") - if node.side != '-': - wid = 0 - if inner_world: - if hex: - cmds.append(f"create prism height {inner_world[2]} sides 6 radius { inner_world[0] / 2 } ") - wid = emit_get_last_id( ent_type ) - cmds.append(f"rotate body {{ {wid} }} about z angle 30") - cmds.append(f"rotate body {{ {wid} }} about y angle 90") - else: - cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") - wid = emit_get_last_id(ent_type) - else: - cmds.append(f"brick x {w[0]} y {w[1]} z {w[2]}") - wid = emit_get_last_id(ent_type) - cmds.append(f"subtract body {{ { ids } }} from body {{ { wid } }}") - move(wid, 0, surface.coefficients['y0'], surface.coefficients['z0']) - return wid - move(ids, 0, surface.coefficients['y0'], surface.coefficients['z0']) - return ids - elif surface._type == "y-cylinder": - h = inner_world[1] if inner_world else w[1] - cmds.append(f"cylinder height {h} radius {surface.coefficients['r']}") - ids = emit_get_last_id( ent_type ) - cmds.append(f"rotate body {{ {ids} }} about x angle 90") - if node.side != '-': - wid = 0 - if inner_world: - if hex: - cmds.append(f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2) }") - wid = emit_get_last_id( ent_type ) - cmds.append(f"rotate body {{ {wid} }} about z angle 30") - cmds.append(f"rotate body {{ {wid} }} about x angle 90") - else: - cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") - wid = emit_get_last_id(ent_type) - else: - cmds.append(f"brick x {w[0]} y {w[1]} z {w[2]}") - wid = emit_get_last_id(ent_type) - cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") - move(wid, surface.coefficients['x0'], 0, surface.coefficients['z0']) - return wid - move(ids, surface.coefficients['x0'], 0, surface.coefficients['z0']) - return ids - elif surface._type == "z-cylinder": - h = inner_world[2] if inner_world else w[2] - cmds.append( f"cylinder height {h} radius {surface.coefficients['r']}") - ids = emit_get_last_id( ent_type ) - if node.side != '-': - wid = 0 - if inner_world: - if hex: - cmds.append(f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2 ) }") - wid = emit_get_last_id(ent_type) - cmds.append(f"rotate body {{ {wid} }} about z angle 30") - else: - cmds.append(f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}") - wid = emit_get_last_id(ent_type) - else: - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) - cmds.append(f"subtract body {{ { ids } }} from body {{ { wid } }}") - move(wid, surface.coefficients['x0'], surface.coefficients['y0'], 0) - return wid - move(ids, surface.coefficients['x0'], surface.coefficients['y0'], 0) - return ids - elif surface._type == "sphere": - cmds.append( f"sphere redius {surface.coefficients['r']}") - ids = emit_get_last_id(ent_type) - move(ids, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0']) - pass - elif surface._type == "cone": - raise NotImplementedError("cone not implemented") - pass - elif surface._type == "x-cone": - cmds.append( f"create frustum height {w[0]} radius {math.sqrt(surface.coefficients['r2']*w[0])} top 0") - ids = emit_get_last_id( ent_type ) - cmds.append( f"rotate body {{ {ids} }} about y angle 90") - if node.side != '-': - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) - cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") - move(wid, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0']) - return wid - move(ids, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0']) - return ids - elif surface._type == "y-cone": - cmds.append( f"create frustum height {w[1]} radius {math.sqrt(surface.coefficients['r2']*w[1])} top 0") - ids = emit_get_last_id( ent_type ) - cmds.append( f"rotate body {{ {ids} }} about x angle 90") - if node.side != '-': - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) - cmds.append( f"subtract body {{ {ids} }} from body {{ {wid} }}" ) - move( wid, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return wid - move( ids, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return ids - elif surface._type == "z-cone": - cmds.append( f"create frustum height {w[2]} radius {math.sqrt(surface.coefficients['r2']*w[2])} top 0") - ids = emit_get_last_id( ent_type ) - if node.side != '-': - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) - cmds.append( f"subtract body {{ {ids} }} from body {{ {wid} }}" ) - move( wid, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return wid - move( ids, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return ids - elif surface._type == "x-torus": - cmds.append( f"torus major radius {surface.coefficients['a']} minor radius {surface.coefficients['b']}") - ids = emit_get_last_id( ent_type ) - cmds.append( f"rotate body {{ {ids} }} about y angle 90") - if node.side != '-': - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) - cmds.append( f"subtract body {{ {ids} }} from body {{ {wid} }}" ) - move( wid, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return wid - move( ids, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return ids - elif surface._type == "y-torus": - cmds.append( f"torus major radius {surface.coefficients['a']} minor radius {surface.coefficients['b']}") - ids = emit_get_last_id( ent_type ) - cmds.append( f"rotate body {{ {ids} }} about x angle 90") - if node.side != '-': - cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) - cmds.append( f"subtract body {{ {id} }} from body {{ {wid} }}" ) - move( wid, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0'] ) - return wid - return ids - elif surface._type == "z-torus": - cmds.append( f"torus major radius {surface.coefficients['a']} minor radius {surface.coefficients['b']}") - ids = emit_get_last_id( ent_type ) - if node.side != '-': - cmds.append(f"brick x {w[0]} y {w[1]} z {w[2]}") - wid = emit_get_last_id(ent_type) - cmds.append(f"subtract body {{ {ids} }} from body {{ {wid} }}") - move(wid, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0']) - return wid - move(ids, surface.coefficients['x0'], surface.coefficients['y0'], surface.coefficients['z0']) + if cad_surface := _CAD_SURFACE_DICTIONARY.get(surface._type): + cad_surface = cad_surface.from_openmc_surface(surface) + ids, cad_cmds = cad_surface.to_cubit_surface(ent_type, node, w, inner_world, hex) + cmds += cad_cmds return ids elif surface._type == "quadric": (gq_type, A_, B_, C_, K_, translation, rotation_matrix) = characterize_general_quadratic(surface) @@ -581,9 +159,9 @@ def rotation_to_axis_angle( mat ): r2 = math.sqrt( abs( -K_/B_ ) ) r3 = math.sqrt( abs( -K_/C_ ) ) cmds.append( f"sphere redius 1") - ids = emit_get_last_id( ent_type ) + ids = emit_get_last_id( ent_type , cmds) cmds.append( f"body {{ { ids } }} scale x { r1 } y { r2 } z { r3 }") - move( ids, translation[0,0], translation[1,0], translation[2,0] ) + move( ids, translation[0,0], translation[1,0], translation[2,0], cmds) elif gq_type == ELLIPTIC_CYLINDER : #7 if A_ == 0: print( "X", gq_type, A_, B_, C_, K_, r_axis, r_degs ) @@ -591,28 +169,28 @@ def rotation_to_axis_angle( mat ): r1 = math.sqrt( abs( K_/C_ ) ) r2 = math.sqrt( abs( K_/B_ ) ) cmds.append( f"cylinder height {h} Major Radius {r1} Minor Radius {r2}") - ids = emit_get_last_id( ent_type ) + ids = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ { ids } }} about y angle 90") if node.side != '-': wid = 0 if inner_world: if hex: cmds.append( f"create prism height {inner_world[2]} sides 6 radius { inner_world[0] / 2 } " ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ {wid} }} about z angle 30" ) cmds.append( f"rotate body {{ {wid} }} about y angle 90") else: cmds.append( f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) else: cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"subtract body {{ { ids } }} from body {{ { wid } }}" ) cmds.append( f"Rotate body {{ {wid } }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( wid, translation[0,0], translation[1,0], translation[2,0] ) + move( wid, translation[0,0], translation[1,0], translation[2,0], cmds) return wid cmds.append( f"Rotate body {{ {ids} }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( ids, translation[0,0], translation[1,0], translation[2,0] ) + move( ids, translation[0,0], translation[1,0], translation[2,0], cmds) return ids if B_ == 0: print( "Y", gq_type, A_, B_, C_, K_ ) @@ -620,28 +198,28 @@ def rotation_to_axis_angle( mat ): r1 = math.sqrt( abs( K_/A_ ) ) r2 = math.sqrt( abs( K_/C_ ) ) cmds.append( f"cylinder height {h} Major Radius {r1} Minor Radius {r2}") - ids = emit_get_last_id( ent_type ) + ids = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ { ids } }} about x angle 90") if node.side != '-': wid = 0 if inner_world: if hex: cmds.append( f"create prism height {inner_world[2]} sides 6 radius { inner_world[0] / 2 } " ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ {wid} }} about z angle 30" ) cmds.append( f"rotate body {{ {wid} }} about y angle 90") else: cmds.append( f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) else: cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"subtract body {{ { ids } }} from body {{ { wid } }}" ) cmds.append( f"Rotate body {{ {wid } }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( wid, translation[0,0], translation[1,0], translation[2,0] ) + move( wid, translation[0,0], translation[1,0], translation[2,0], cmds) return wid cmds.append( f"Rotate body {{ {ids} }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( ids, translation[0,0], translation[1,0], translation[2,0] ) + move( ids, translation[0,0], translation[1,0], translation[2,0], cmds) return ids if C_ == 0: print( "Z", gq_type, A_, B_, C_, K_ ) @@ -649,27 +227,27 @@ def rotation_to_axis_angle( mat ): r1 = math.sqrt( abs( K_/A_ ) ) r2 = math.sqrt( abs( K_/B_ ) ) cmds.append( f"cylinder height {h} Major Radius {r1} Minor Radius {r2}") - ids = emit_get_last_id( ent_type ) + ids = emit_get_last_id( ent_type , cmds) if node.side != '-': wid = 0 if inner_world: if hex: cmds.append( f"create prism height {inner_world[2]} sides 6 radius { inner_world[0] / 2 } " ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ {wid} }} about z angle 30" ) cmds.append( f"rotate body {{ {wid} }} about y angle 90") else: cmds.append( f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) else: cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"subtract body {{ { ids } }} from body {{ { wid } }}" ) cmds.append( f"Rotate body {{ {wid } }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( wid, translation[0,0], translation[1,0], translation[2,0] ) + move( wid, translation[0,0], translation[1,0], translation[2,0], cmds) return wid cmds.append( f"Rotate body {{ {ids} }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( ids, translation[0,0], translation[1,0], translation[2,0] ) + move( ids, translation[0,0], translation[1,0], translation[2,0], cmds) return ids elif gq_type == ELLIPTIC_CONE : #3 if A_ == 0: @@ -679,14 +257,14 @@ def rotation_to_axis_angle( mat ): rot_angle = - 90 rot_axis = 1 cmds.append( f"create frustum height {h} Major Radius {major} Minor Radius {minor} top 0") - ids = emit_get_last_id( ent_type ) + ids = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ { ids } }} about y angle -90") cmds.append( f"copy body {{ { ids } }}") - mirror = emit_get_last_id( ent_type ) + mirror = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ { mirror } }} about 0 0 0 angle 180") cmds.append( f"unit body {{ { ids } }} {{ { mirror } }}") cmds.append( f"Rotate body {{ {ids} }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( ids, translation[0,0], translation[1,0], translation[2,0] ) + move( ids, translation[0,0], translation[1,0], translation[2,0], cmds) return ids if B_ == 0: h = inner_world[1] if inner_world else w[1] @@ -695,14 +273,14 @@ def rotation_to_axis_angle( mat ): rot_angle = 90 rot_axis = 0 cmds.append( f"create frustum height {h} Major Radius {major} Minor Radius {minor} top 0") - ids = emit_get_last_id( ent_type ) + ids = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ { ids } }} about x angle 90") cmds.append( f"copy body {{ { ids } }}") - mirror = emit_get_last_id( ent_type ) + mirror = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ { mirror } }} about 0 0 0 angle 180") cmds.append( f"unit body {{ { ids } }} {{ { mirror } }}") cmds.append( f"Rotate body {{ {ids} }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( ids, translation[0,0], translation[1,0], translation[2,0] ) + move( ids, translation[0,0], translation[1,0], translation[2,0], cmds) return ids if C_ == 0: h = inner_world[2] if inner_world else w[2] @@ -711,13 +289,13 @@ def rotation_to_axis_angle( mat ): rot_angle = 180 rot_axis = 0 cmds.append( f"create frustum height {h} Major Radius {major} Minor Radius {minor} top 0") - ids = emit_get_last_id( ent_type ) + ids = emit_get_last_id( ent_type , cmds) cmds.append( f"copy body {{ { ids } }}") - mirror = emit_get_last_id( ent_type ) + mirror = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ { mirror } }} about 0 0 0 angle 180") cmds.append( f"unit body {{ { ids } }} {{ { mirror } }}") cmds.append( f"Rotate body {{ {ids} }} about 0 0 0 direction {r_axis[0]} {r_axis[1]} {r_axis[2]} Angle {r_degs}") - move( ids, translation[0,0], translation[1,0], translation[2,0] ) + move( ids, translation[0,0], translation[1,0], translation[2,0], cmds) return ids else: raise NotImplementedError(f"{surface.type} not implemented") @@ -727,25 +305,25 @@ def rotation_to_axis_angle( mat ): print( "Complement:" ) id = surface_to_cubit_journal(node.node, w, indent + 1, inner_world, ent_type = ent_type ) cmds.append( f"brick x {w[0]} y {w[1]} z {w[2]}" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"subtract body {{ {id} }} from body {{ {wid} }}" ) - return emit_get_last_id( ent_type ) + return emit_get_last_id( ent_type , cmds) elif isinstance(node, Intersection): last = 0 if len( node ) > 0: last = surface_to_cubit_journal( node[0], w, indent + 1, inner_world, ent_type = ent_type ,) for subnode in node[1:]: s = surface_to_cubit_journal( subnode, w, indent + 1, inner_world, ent_type = ent_type ,) - before = emit_get_last_id() + before = emit_get_last_id(cmds=cmds) cmds.append( f"intersect {ent_type} {{ {last} }} {{ {s} }}" ) - after = emit_get_last_id() - last = new_variable(); + after = emit_get_last_id(cmds=cmds) + last = new_variable() cmds.append( f"#{{{last} = ( {before} == {after} ) ? {s} : {after}}}" ) if inner_world: cmds.append( f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}" ) - iwid = emit_get_last_id( ent_type ) + iwid = emit_get_last_id( ent_type , cmds) cmds.append( f"intersect {ent_type} {{ {last} }} {{ {iwid} }}" ) - return emit_get_last_id( ent_type ) + return emit_get_last_id( ent_type , cmds) return last elif isinstance(node, Union): if len( node ) > 0: @@ -756,7 +334,7 @@ def rotation_to_axis_angle( mat ): cmds.append( f"unite {local_ent_type} {{ {first} }} {{ {s} }}" ) if inner_world: cmds.append( f"brick x {inner_world[0]} y {inner_world[1]} z {inner_world[2]}" ) - iwid = emit_get_last_id( local_ent_type ) + iwid = emit_get_last_id( local_ent_type , cmds) cmds.append( f"intersect {ent_type} {{ {last} }} {{ {iwid} }}" ) return first return first @@ -776,7 +354,7 @@ def ind(): results.append( id ) elif hex: cmds.append( f"create prism height {inner_world[2]} sides 6 radius { ( inner_world[0] / 2) }" ) - wid = emit_get_last_id( ent_type ) + wid = emit_get_last_id( ent_type , cmds) cmds.append( f"rotate body {{ {wid} }} about z angle 30" ) results.append( wid ) @@ -942,8 +520,17 @@ def do_cell(cell, cell_ids: Iterable[int] = None): before = len( cmds ) cmds.append( f"#CELL {cell.id}" ) vol_or_body = process_node_or_fill( cell, w ) - if cell.fill_type == "material": - cmds.append( f'group \"Material_{cell.fill.id}\" add body {{ { vol_or_body[0] } }} ' ) + if cell.fill is None: + cmds.append(f'group "mat:void" add body {{ { vol_or_body[0] } }} ') + elif cell.fill_type == "material": + mat_identifier = f"mat:{cell.fill.id}" + # use material names when possible + if cell.fill.name is not None and cell.fill.name: + mat_identifier = f"mat:{cell.fill.name}" + if len(mat_identifier) > 32: + mat_identifier = mat_identifier[:32] + warnings.warn(f'Truncating material name {mat_identifier} to 32 characters') + cmds.append( f'group \"{mat_identifier}\" add body {{ { vol_or_body[0] } }} ' ) after = len( cmds ) if cell_ids is not None and cell.id in cell_ids: @@ -973,6 +560,30 @@ def do_cell(cell, cell_ids: Iterable[int] = None): cubit.cmd(f"save as {filename[:-4]}.cub overwrite") +def material_assignment(cell, geom_id, assignment_type='group'): + if cell.fill is None: + mat_identifier = "mat:void" + elif cell.fill_type == "material": + mat_identifier = f"mat:{cell.fill.id}" + # use material names when possible + if cell.fill.name is not None and cell.fill.name: + mat_identifier = f"mat:{cell.fill.name}" + else: + return [] + + if len(mat_identifier) > 32: + mat_identifier = mat_identifier[:32] + warnings.warn(f'Truncating material name {mat_identifier} to 32 characters') + + cmds = [] + if assignment_type == 'group': + cmds.append(f'group \"{mat_identifier}\" add body {{ { geom_id } }}') + else: + raise ValueError(f"Unknown material assignment type requested: {assignment_type}") + + return cmds + + def openmc_to_cad(): """Command-line interface for OpenMC to CAD model conversion""" parser = ArgumentParser() @@ -997,3 +608,8 @@ def openmc_to_cad(): sys.path.append(args.cubit_path) to_cubit_journal(model.geometry, world=args.world_size, filename=args.output, cells=args.cells, to_cubit=args.to_cubit) + + +__all__ = ['CADPlane', 'CADXPlane', 'CADYPlane', 'CADZPlane', + 'CADCylinder', 'CADXCylinder', 'CADYCylinder', 'CADZCylinder', + 'CADSphere', 'CADXCone', 'CADYCone', 'CADZCone', 'CADXTorus', 'CADYTorus', 'CADZTorus'] \ No newline at end of file diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..03ec43a --- /dev/null +++ b/test/__init__.py @@ -0,0 +1,3 @@ + +from .conftest import test_config, run_in_tmpdir +from .test_utilities import * \ No newline at end of file diff --git a/test/assembly.jou b/test/assembly.jou new file mode 100644 index 0000000..ca412d7 --- /dev/null +++ b/test/assembly.jou @@ -0,0 +1,645 @@ +set graphics off +set journal off +#CELL 1 +create prism height 2.0 sides 6 radius 0.5 +#{ id1 = Id("body") } +rotate body { id1 } about z angle 30 +body { id1 } name "cell 4" +move body { id1 } midpoint location 0.0 1.7320508075688772 0.0 +cylinder height 2.0 radius 0.4 +#{ id2 = Id("body") } +body { id2 } name "cell 5" +move body { id2 } midpoint location 0.75 1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id3 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id4 = Id("body") } +rotate body { id4 } about z angle 30 +subtract body { id3 } from body { id4 } +body { id4 } name "cell 6" +move body { id4 } midpoint location 0.75 1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id5 = Id("body") } +body { id5 } name "cell 5" +move body { id5 } midpoint location 1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id6 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id7 = Id("body") } +rotate body { id7 } about z angle 30 +subtract body { id6 } from body { id7 } +body { id7 } name "cell 6" +move body { id7 } midpoint location 1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id8 = Id("body") } +body { id8 } name "cell 5" +move body { id8 } midpoint location 1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id9 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id10 = Id("body") } +rotate body { id10 } about z angle 30 +subtract body { id9 } from body { id10 } +body { id10 } name "cell 6" +move body { id10 } midpoint location 1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id11 = Id("body") } +body { id11 } name "cell 5" +move body { id11 } midpoint location 1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id12 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id13 = Id("body") } +rotate body { id13 } about z angle 30 +subtract body { id12 } from body { id13 } +body { id13 } name "cell 6" +move body { id13 } midpoint location 1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id14 = Id("body") } +body { id14 } name "cell 5" +move body { id14 } midpoint location 0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id15 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id16 = Id("body") } +rotate body { id16 } about z angle 30 +subtract body { id15 } from body { id16 } +body { id16 } name "cell 6" +move body { id16 } midpoint location 0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id17 = Id("body") } +body { id17 } name "cell 5" +move body { id17 } midpoint location 0.0 -1.7320508075688772 0.0 +cylinder height 2.0 radius 0.4 +#{ id18 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id19 = Id("body") } +rotate body { id19 } about z angle 30 +subtract body { id18 } from body { id19 } +body { id19 } name "cell 6" +move body { id19 } midpoint location 0.0 -1.7320508075688772 0.0 +cylinder height 2.0 radius 0.4 +#{ id20 = Id("body") } +body { id20 } name "cell 5" +move body { id20 } midpoint location -0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id21 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id22 = Id("body") } +rotate body { id22 } about z angle 30 +subtract body { id21 } from body { id22 } +body { id22 } name "cell 6" +move body { id22 } midpoint location -0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id23 = Id("body") } +body { id23 } name "cell 5" +move body { id23 } midpoint location -1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id24 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id25 = Id("body") } +rotate body { id25 } about z angle 30 +subtract body { id24 } from body { id25 } +body { id25 } name "cell 6" +move body { id25 } midpoint location -1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id26 = Id("body") } +body { id26 } name "cell 5" +move body { id26 } midpoint location -1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id27 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id28 = Id("body") } +rotate body { id28 } about z angle 30 +subtract body { id27 } from body { id28 } +body { id28 } name "cell 6" +move body { id28 } midpoint location -1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id29 = Id("body") } +body { id29 } name "cell 5" +move body { id29 } midpoint location -1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id30 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id31 = Id("body") } +rotate body { id31 } about z angle 30 +subtract body { id30 } from body { id31 } +body { id31 } name "cell 6" +move body { id31 } midpoint location -1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id32 = Id("body") } +body { id32 } name "cell 5" +move body { id32 } midpoint location -0.75 1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id33 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id34 = Id("body") } +rotate body { id34 } about z angle 30 +subtract body { id33 } from body { id34 } +body { id34 } name "cell 6" +move body { id34 } midpoint location -0.75 1.299038105676658 0.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id35 = Id("body") } +rotate body { id35 } about z angle 30 +body { id35 } name "cell 4" +move body { id35 } midpoint location 5.302876193624534e-17 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id36 = Id("body") } +body { id36 } name "cell 5" +move body { id36 } midpoint location 0.7499999999999999 0.4330127018922193 0.0 +cylinder height 2.0 radius 0.4 +#{ id37 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id38 = Id("body") } +rotate body { id38 } about z angle 30 +subtract body { id37 } from body { id38 } +body { id38 } name "cell 6" +move body { id38 } midpoint location 0.7499999999999999 0.4330127018922193 0.0 +cylinder height 2.0 radius 0.4 +#{ id39 = Id("body") } +body { id39 } name "cell 5" +move body { id39 } midpoint location 0.75 -0.43301270189221913 0.0 +cylinder height 2.0 radius 0.4 +#{ id40 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id41 = Id("body") } +rotate body { id41 } about z angle 30 +subtract body { id40 } from body { id41 } +body { id41 } name "cell 6" +move body { id41 } midpoint location 0.75 -0.43301270189221913 0.0 +cylinder height 2.0 radius 0.4 +#{ id42 = Id("body") } +body { id42 } name "cell 5" +move body { id42 } midpoint location 5.302876193624534e-17 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id43 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id44 = Id("body") } +rotate body { id44 } about z angle 30 +subtract body { id43 } from body { id44 } +body { id44 } name "cell 6" +move body { id44 } midpoint location 5.302876193624534e-17 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id45 = Id("body") } +body { id45 } name "cell 5" +move body { id45 } midpoint location -0.7499999999999998 -0.4330127018922196 0.0 +cylinder height 2.0 radius 0.4 +#{ id46 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id47 = Id("body") } +rotate body { id47 } about z angle 30 +subtract body { id46 } from body { id47 } +body { id47 } name "cell 6" +move body { id47 } midpoint location -0.7499999999999998 -0.4330127018922196 0.0 +cylinder height 2.0 radius 0.4 +#{ id48 = Id("body") } +body { id48 } name "cell 5" +move body { id48 } midpoint location -0.7499999999999999 0.4330127018922194 0.0 +cylinder height 2.0 radius 0.4 +#{ id49 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id50 = Id("body") } +rotate body { id50 } about z angle 30 +subtract body { id49 } from body { id50 } +body { id50 } name "cell 6" +move body { id50 } midpoint location -0.7499999999999999 0.4330127018922194 0.0 +cylinder height 2.0 radius 0.4 +#{ id51 = Id("body") } +body { id51 } name "cell 5" +move body { id51 } midpoint location 0.0 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id52 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id53 = Id("body") } +rotate body { id53 } about z angle 30 +subtract body { id52 } from body { id53 } +body { id53 } name "cell 6" +move body { id53 } midpoint location 0.0 0.0 0.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id54 = Id("body") } +rotate body { id54 } about z angle 30 +body { id54 } name "cell 4" +move body { id54 } midpoint location 0.0 1.7320508075688772 2.0 +cylinder height 2.0 radius 0.4 +#{ id55 = Id("body") } +body { id55 } name "cell 2" +move body { id55 } midpoint location 0.75 1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id56 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id57 = Id("body") } +rotate body { id57 } about z angle 30 +subtract body { id56 } from body { id57 } +body { id57 } name "cell 3" +move body { id57 } midpoint location 0.75 1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id58 = Id("body") } +body { id58 } name "cell 2" +move body { id58 } midpoint location 1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id59 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id60 = Id("body") } +rotate body { id60 } about z angle 30 +subtract body { id59 } from body { id60 } +body { id60 } name "cell 3" +move body { id60 } midpoint location 1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id61 = Id("body") } +body { id61 } name "cell 2" +move body { id61 } midpoint location 1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id62 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id63 = Id("body") } +rotate body { id63 } about z angle 30 +subtract body { id62 } from body { id63 } +body { id63 } name "cell 3" +move body { id63 } midpoint location 1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id64 = Id("body") } +body { id64 } name "cell 2" +move body { id64 } midpoint location 1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id65 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id66 = Id("body") } +rotate body { id66 } about z angle 30 +subtract body { id65 } from body { id66 } +body { id66 } name "cell 3" +move body { id66 } midpoint location 1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id67 = Id("body") } +body { id67 } name "cell 2" +move body { id67 } midpoint location 0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id68 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id69 = Id("body") } +rotate body { id69 } about z angle 30 +subtract body { id68 } from body { id69 } +body { id69 } name "cell 3" +move body { id69 } midpoint location 0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id70 = Id("body") } +body { id70 } name "cell 2" +move body { id70 } midpoint location 0.0 -1.7320508075688772 2.0 +cylinder height 2.0 radius 0.4 +#{ id71 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id72 = Id("body") } +rotate body { id72 } about z angle 30 +subtract body { id71 } from body { id72 } +body { id72 } name "cell 3" +move body { id72 } midpoint location 0.0 -1.7320508075688772 2.0 +cylinder height 2.0 radius 0.4 +#{ id73 = Id("body") } +body { id73 } name "cell 2" +move body { id73 } midpoint location -0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id74 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id75 = Id("body") } +rotate body { id75 } about z angle 30 +subtract body { id74 } from body { id75 } +body { id75 } name "cell 3" +move body { id75 } midpoint location -0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id76 = Id("body") } +body { id76 } name "cell 2" +move body { id76 } midpoint location -1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id77 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id78 = Id("body") } +rotate body { id78 } about z angle 30 +subtract body { id77 } from body { id78 } +body { id78 } name "cell 3" +move body { id78 } midpoint location -1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id79 = Id("body") } +body { id79 } name "cell 2" +move body { id79 } midpoint location -1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id80 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id81 = Id("body") } +rotate body { id81 } about z angle 30 +subtract body { id80 } from body { id81 } +body { id81 } name "cell 3" +move body { id81 } midpoint location -1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id82 = Id("body") } +body { id82 } name "cell 2" +move body { id82 } midpoint location -1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id83 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id84 = Id("body") } +rotate body { id84 } about z angle 30 +subtract body { id83 } from body { id84 } +body { id84 } name "cell 3" +move body { id84 } midpoint location -1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id85 = Id("body") } +body { id85 } name "cell 2" +move body { id85 } midpoint location -0.75 1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id86 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id87 = Id("body") } +rotate body { id87 } about z angle 30 +subtract body { id86 } from body { id87 } +body { id87 } name "cell 3" +move body { id87 } midpoint location -0.75 1.299038105676658 2.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id88 = Id("body") } +rotate body { id88 } about z angle 30 +body { id88 } name "cell 4" +move body { id88 } midpoint location 5.302876193624534e-17 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id89 = Id("body") } +body { id89 } name "cell 2" +move body { id89 } midpoint location 0.7499999999999999 0.4330127018922193 2.0 +cylinder height 2.0 radius 0.4 +#{ id90 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id91 = Id("body") } +rotate body { id91 } about z angle 30 +subtract body { id90 } from body { id91 } +body { id91 } name "cell 3" +move body { id91 } midpoint location 0.7499999999999999 0.4330127018922193 2.0 +cylinder height 2.0 radius 0.4 +#{ id92 = Id("body") } +body { id92 } name "cell 2" +move body { id92 } midpoint location 0.75 -0.43301270189221913 2.0 +cylinder height 2.0 radius 0.4 +#{ id93 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id94 = Id("body") } +rotate body { id94 } about z angle 30 +subtract body { id93 } from body { id94 } +body { id94 } name "cell 3" +move body { id94 } midpoint location 0.75 -0.43301270189221913 2.0 +cylinder height 2.0 radius 0.4 +#{ id95 = Id("body") } +body { id95 } name "cell 2" +move body { id95 } midpoint location 5.302876193624534e-17 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id96 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id97 = Id("body") } +rotate body { id97 } about z angle 30 +subtract body { id96 } from body { id97 } +body { id97 } name "cell 3" +move body { id97 } midpoint location 5.302876193624534e-17 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id98 = Id("body") } +body { id98 } name "cell 2" +move body { id98 } midpoint location -0.7499999999999998 -0.4330127018922196 2.0 +cylinder height 2.0 radius 0.4 +#{ id99 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id100 = Id("body") } +rotate body { id100 } about z angle 30 +subtract body { id99 } from body { id100 } +body { id100 } name "cell 3" +move body { id100 } midpoint location -0.7499999999999998 -0.4330127018922196 2.0 +cylinder height 2.0 radius 0.4 +#{ id101 = Id("body") } +body { id101 } name "cell 2" +move body { id101 } midpoint location -0.7499999999999999 0.4330127018922194 2.0 +cylinder height 2.0 radius 0.4 +#{ id102 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id103 = Id("body") } +rotate body { id103 } about z angle 30 +subtract body { id102 } from body { id103 } +body { id103 } name "cell 3" +move body { id103 } midpoint location -0.7499999999999999 0.4330127018922194 2.0 +cylinder height 2.0 radius 0.4 +#{ id104 = Id("body") } +body { id104 } name "cell 2" +move body { id104 } midpoint location 0.0 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id105 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id106 = Id("body") } +rotate body { id106 } about z angle 30 +subtract body { id105 } from body { id106 } +body { id106 } name "cell 3" +move body { id106 } midpoint location 0.0 0.0 2.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id107 = Id("body") } +rotate body { id107 } about z angle 30 +body { id107 } name "cell 4" +move body { id107 } midpoint location 0.0 1.7320508075688772 4.0 +cylinder height 2.0 radius 0.4 +#{ id108 = Id("body") } +body { id108 } name "cell 5" +move body { id108 } midpoint location 0.75 1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id109 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id110 = Id("body") } +rotate body { id110 } about z angle 30 +subtract body { id109 } from body { id110 } +body { id110 } name "cell 6" +move body { id110 } midpoint location 0.75 1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id111 = Id("body") } +body { id111 } name "cell 5" +move body { id111 } midpoint location 1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id112 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id113 = Id("body") } +rotate body { id113 } about z angle 30 +subtract body { id112 } from body { id113 } +body { id113 } name "cell 6" +move body { id113 } midpoint location 1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id114 = Id("body") } +body { id114 } name "cell 5" +move body { id114 } midpoint location 1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id115 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id116 = Id("body") } +rotate body { id116 } about z angle 30 +subtract body { id115 } from body { id116 } +body { id116 } name "cell 6" +move body { id116 } midpoint location 1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id117 = Id("body") } +body { id117 } name "cell 5" +move body { id117 } midpoint location 1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id118 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id119 = Id("body") } +rotate body { id119 } about z angle 30 +subtract body { id118 } from body { id119 } +body { id119 } name "cell 6" +move body { id119 } midpoint location 1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id120 = Id("body") } +body { id120 } name "cell 5" +move body { id120 } midpoint location 0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id121 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id122 = Id("body") } +rotate body { id122 } about z angle 30 +subtract body { id121 } from body { id122 } +body { id122 } name "cell 6" +move body { id122 } midpoint location 0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id123 = Id("body") } +body { id123 } name "cell 5" +move body { id123 } midpoint location 0.0 -1.7320508075688772 4.0 +cylinder height 2.0 radius 0.4 +#{ id124 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id125 = Id("body") } +rotate body { id125 } about z angle 30 +subtract body { id124 } from body { id125 } +body { id125 } name "cell 6" +move body { id125 } midpoint location 0.0 -1.7320508075688772 4.0 +cylinder height 2.0 radius 0.4 +#{ id126 = Id("body") } +body { id126 } name "cell 5" +move body { id126 } midpoint location -0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id127 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id128 = Id("body") } +rotate body { id128 } about z angle 30 +subtract body { id127 } from body { id128 } +body { id128 } name "cell 6" +move body { id128 } midpoint location -0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id129 = Id("body") } +body { id129 } name "cell 5" +move body { id129 } midpoint location -1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id130 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id131 = Id("body") } +rotate body { id131 } about z angle 30 +subtract body { id130 } from body { id131 } +body { id131 } name "cell 6" +move body { id131 } midpoint location -1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id132 = Id("body") } +body { id132 } name "cell 5" +move body { id132 } midpoint location -1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id133 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id134 = Id("body") } +rotate body { id134 } about z angle 30 +subtract body { id133 } from body { id134 } +body { id134 } name "cell 6" +move body { id134 } midpoint location -1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id135 = Id("body") } +body { id135 } name "cell 5" +move body { id135 } midpoint location -1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id136 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id137 = Id("body") } +rotate body { id137 } about z angle 30 +subtract body { id136 } from body { id137 } +body { id137 } name "cell 6" +move body { id137 } midpoint location -1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id138 = Id("body") } +body { id138 } name "cell 5" +move body { id138 } midpoint location -0.75 1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id139 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id140 = Id("body") } +rotate body { id140 } about z angle 30 +subtract body { id139 } from body { id140 } +body { id140 } name "cell 6" +move body { id140 } midpoint location -0.75 1.299038105676658 4.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id141 = Id("body") } +rotate body { id141 } about z angle 30 +body { id141 } name "cell 4" +move body { id141 } midpoint location 5.302876193624534e-17 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id142 = Id("body") } +body { id142 } name "cell 5" +move body { id142 } midpoint location 0.7499999999999999 0.4330127018922193 4.0 +cylinder height 2.0 radius 0.4 +#{ id143 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id144 = Id("body") } +rotate body { id144 } about z angle 30 +subtract body { id143 } from body { id144 } +body { id144 } name "cell 6" +move body { id144 } midpoint location 0.7499999999999999 0.4330127018922193 4.0 +cylinder height 2.0 radius 0.4 +#{ id145 = Id("body") } +body { id145 } name "cell 5" +move body { id145 } midpoint location 0.75 -0.43301270189221913 4.0 +cylinder height 2.0 radius 0.4 +#{ id146 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id147 = Id("body") } +rotate body { id147 } about z angle 30 +subtract body { id146 } from body { id147 } +body { id147 } name "cell 6" +move body { id147 } midpoint location 0.75 -0.43301270189221913 4.0 +cylinder height 2.0 radius 0.4 +#{ id148 = Id("body") } +body { id148 } name "cell 5" +move body { id148 } midpoint location 5.302876193624534e-17 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id149 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id150 = Id("body") } +rotate body { id150 } about z angle 30 +subtract body { id149 } from body { id150 } +body { id150 } name "cell 6" +move body { id150 } midpoint location 5.302876193624534e-17 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id151 = Id("body") } +body { id151 } name "cell 5" +move body { id151 } midpoint location -0.7499999999999998 -0.4330127018922196 4.0 +cylinder height 2.0 radius 0.4 +#{ id152 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id153 = Id("body") } +rotate body { id153 } about z angle 30 +subtract body { id152 } from body { id153 } +body { id153 } name "cell 6" +move body { id153 } midpoint location -0.7499999999999998 -0.4330127018922196 4.0 +cylinder height 2.0 radius 0.4 +#{ id154 = Id("body") } +body { id154 } name "cell 5" +move body { id154 } midpoint location -0.7499999999999999 0.4330127018922194 4.0 +cylinder height 2.0 radius 0.4 +#{ id155 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id156 = Id("body") } +rotate body { id156 } about z angle 30 +subtract body { id155 } from body { id156 } +body { id156 } name "cell 6" +move body { id156 } midpoint location -0.7499999999999999 0.4330127018922194 4.0 +cylinder height 2.0 radius 0.4 +#{ id157 = Id("body") } +body { id157 } name "cell 5" +move body { id157 } midpoint location 0.0 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id158 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id159 = Id("body") } +rotate body { id159 } about z angle 30 +subtract body { id158 } from body { id159 } +body { id159 } name "cell 6" +move body { id159 } midpoint location 0.0 0.0 4.0 diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000..81974a6 --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,23 @@ +import pytest + +test_config = {'update': False} + + +def pytest_addoption(parser): + parser.addoption('--update', action='store_true') + + +def pytest_configure(config): + opts = ['update'] + for opt in opts: + if config.getoption(opt) is not None: + test_config[opt] = config.getoption(opt) + + +@pytest.fixture +def run_in_tmpdir(tmpdir): + orig = tmpdir.chdir() + try: + yield + finally: + orig.chdir() diff --git a/test/cylinder.jou b/test/cylinder.jou new file mode 100644 index 0000000..d886fc9 --- /dev/null +++ b/test/cylinder.jou @@ -0,0 +1,10 @@ +set graphics off +set journal off +#CELL 3 +cylinder height 500 radius 6.0 +#{ id1 = Id("body") } +body { id1 } rotate 0.0 about Z +body { id1 } rotate 45.0 about Y +body { id1 } rotate 35.264389682754654 about X +body { id1 } move 5.0 5.0 5.0 +body { id1 } name "Cell_3" diff --git a/test/geometry.xml b/test/geometry.xml new file mode 100644 index 0000000..c07bb26 --- /dev/null +++ b/test/geometry.xml @@ -0,0 +1,47 @@ + + + + + + + + + + 1.0 2.0 + 3 +
0.0 0.0 0.0
+ + 3 + 4 4 +4 3 4 + 4 4 +4 4 4 + 4 4 +4 4 4 + 4 4 + 4 + 3 + 1 1 +1 3 1 + 1 1 +1 1 1 + 1 1 +1 1 1 + 1 1 + 1 + 3 + 4 4 +4 3 4 + 4 4 +4 4 4 + 4 4 +4 4 4 + 4 4 + 4 +
+ + + + + +
diff --git a/test/gold/assembly.jou b/test/gold/assembly.jou index ca412d7..465259d 100644 --- a/test/gold/assembly.jou +++ b/test/gold/assembly.jou @@ -1,645 +1,8095 @@ set graphics off set journal off -#CELL 1 -create prism height 2.0 sides 6 radius 0.5 +#CELL 7 +cylinder height 500 radius 0.39218 #{ id1 = Id("body") } -rotate body { id1 } about z angle 30 -body { id1 } name "cell 4" -move body { id1 } midpoint location 0.0 1.7320508075688772 0.0 -cylinder height 2.0 radius 0.4 +body { id1 } name "Cell_1" +move body { id1 } midpoint location -10.08 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id2 = Id("body") } -body { id2 } name "cell 5" -move body { id2 } midpoint location 0.75 1.299038105676658 0.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id3 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id2 } from body { id3 } +cylinder height 500 radius 0.4572 #{ id4 = Id("body") } -rotate body { id4 } about z angle 30 -subtract body { id3 } from body { id4 } -body { id4 } name "cell 6" -move body { id4 } midpoint location 0.75 1.299038105676658 0.0 -cylinder height 2.0 radius 0.4 #{ id5 = Id("body") } -body { id5 } name "cell 5" -move body { id5 } midpoint location 1.5 0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +intersect body { id3 } { id4 } #{ id6 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 -#{ id7 = Id("body") } -rotate body { id7 } about z angle 30 -subtract body { id6 } from body { id7 } -body { id7 } name "cell 6" -move body { id7 } midpoint location 1.5 0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +#{id7 = ( id5 == id6 ) ? id4 : id6} +brick x 1.26 y 1.26 z 500 #{ id8 = Id("body") } -body { id8 } name "cell 5" -move body { id8 } midpoint location 1.5 0.0 0.0 -cylinder height 2.0 radius 0.4 +intersect body { id7 } { id8 } #{ id9 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id9 } name "Cell_2" +move body { id9 } midpoint location -10.08 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id10 = Id("body") } -rotate body { id10 } about z angle 30 -subtract body { id9 } from body { id10 } -body { id10 } name "cell 6" -move body { id10 } midpoint location 1.5 0.0 0.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id11 = Id("body") } -body { id11 } name "cell 5" -move body { id11 } midpoint location 1.5 -0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +subtract body { id10 } from body { id11 } +body { id11 } name "Cell_3" +move body { id11 } midpoint location -10.08 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id12 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id12 } name "Cell_1" +move body { id12 } midpoint location -8.82 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id13 = Id("body") } -rotate body { id13 } about z angle 30 -subtract body { id12 } from body { id13 } -body { id13 } name "cell 6" -move body { id13 } midpoint location 1.5 -0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id14 = Id("body") } -body { id14 } name "cell 5" -move body { id14 } midpoint location 0.75 -1.299038105676658 0.0 -cylinder height 2.0 radius 0.4 +subtract body { id13 } from body { id14 } +cylinder height 500 radius 0.4572 #{ id15 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 #{ id16 = Id("body") } -rotate body { id16 } about z angle 30 -subtract body { id15 } from body { id16 } -body { id16 } name "cell 6" -move body { id16 } midpoint location 0.75 -1.299038105676658 0.0 -cylinder height 2.0 radius 0.4 +intersect body { id14 } { id15 } #{ id17 = Id("body") } -body { id17 } name "cell 5" -move body { id17 } midpoint location 0.0 -1.7320508075688772 0.0 -cylinder height 2.0 radius 0.4 -#{ id18 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +#{id18 = ( id16 == id17 ) ? id15 : id17} +brick x 1.26 y 1.26 z 500 #{ id19 = Id("body") } -rotate body { id19 } about z angle 30 -subtract body { id18 } from body { id19 } -body { id19 } name "cell 6" -move body { id19 } midpoint location 0.0 -1.7320508075688772 0.0 -cylinder height 2.0 radius 0.4 +intersect body { id18 } { id19 } #{ id20 = Id("body") } -body { id20 } name "cell 5" -move body { id20 } midpoint location -0.75 -1.299038105676658 0.0 -cylinder height 2.0 radius 0.4 +body { id20 } name "Cell_2" +move body { id20 } midpoint location -8.82 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id21 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id22 = Id("body") } -rotate body { id22 } about z angle 30 subtract body { id21 } from body { id22 } -body { id22 } name "cell 6" -move body { id22 } midpoint location -0.75 -1.299038105676658 0.0 -cylinder height 2.0 radius 0.4 +body { id22 } name "Cell_3" +move body { id22 } midpoint location -8.82 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id23 = Id("body") } -body { id23 } name "cell 5" -move body { id23 } midpoint location -1.5 -0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +body { id23 } name "Cell_1" +move body { id23 } midpoint location -7.5600000000000005 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id24 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id25 = Id("body") } -rotate body { id25 } about z angle 30 subtract body { id24 } from body { id25 } -body { id25 } name "cell 6" -move body { id25 } midpoint location -1.5 -0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +cylinder height 500 radius 0.4572 #{ id26 = Id("body") } -body { id26 } name "cell 5" -move body { id26 } midpoint location -1.5 0.0 0.0 -cylinder height 2.0 radius 0.4 #{ id27 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id25 } { id26 } #{ id28 = Id("body") } -rotate body { id28 } about z angle 30 -subtract body { id27 } from body { id28 } -body { id28 } name "cell 6" -move body { id28 } midpoint location -1.5 0.0 0.0 -cylinder height 2.0 radius 0.4 -#{ id29 = Id("body") } -body { id29 } name "cell 5" -move body { id29 } midpoint location -1.5 0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +#{id29 = ( id27 == id28 ) ? id26 : id28} +brick x 1.26 y 1.26 z 500 #{ id30 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id29 } { id30 } #{ id31 = Id("body") } -rotate body { id31 } about z angle 30 -subtract body { id30 } from body { id31 } -body { id31 } name "cell 6" -move body { id31 } midpoint location -1.5 0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +body { id31 } name "Cell_2" +move body { id31 } midpoint location -7.5600000000000005 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id32 = Id("body") } -body { id32 } name "cell 5" -move body { id32 } midpoint location -0.75 1.299038105676658 0.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id33 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id32 } from body { id33 } +body { id33 } name "Cell_3" +move body { id33 } midpoint location -7.5600000000000005 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id34 = Id("body") } -rotate body { id34 } about z angle 30 -subtract body { id33 } from body { id34 } -body { id34 } name "cell 6" -move body { id34 } midpoint location -0.75 1.299038105676658 0.0 -create prism height 2.0 sides 6 radius 0.5 +body { id34 } name "Cell_1" +move body { id34 } midpoint location -6.3 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id35 = Id("body") } -rotate body { id35 } about z angle 30 -body { id35 } name "cell 4" -move body { id35 } midpoint location 5.302876193624534e-17 0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id36 = Id("body") } -body { id36 } name "cell 5" -move body { id36 } midpoint location 0.7499999999999999 0.4330127018922193 0.0 -cylinder height 2.0 radius 0.4 +subtract body { id35 } from body { id36 } +cylinder height 500 radius 0.4572 #{ id37 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 #{ id38 = Id("body") } -rotate body { id38 } about z angle 30 -subtract body { id37 } from body { id38 } -body { id38 } name "cell 6" -move body { id38 } midpoint location 0.7499999999999999 0.4330127018922193 0.0 -cylinder height 2.0 radius 0.4 +intersect body { id36 } { id37 } #{ id39 = Id("body") } -body { id39 } name "cell 5" -move body { id39 } midpoint location 0.75 -0.43301270189221913 0.0 -cylinder height 2.0 radius 0.4 -#{ id40 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +#{id40 = ( id38 == id39 ) ? id37 : id39} +brick x 1.26 y 1.26 z 500 #{ id41 = Id("body") } -rotate body { id41 } about z angle 30 -subtract body { id40 } from body { id41 } -body { id41 } name "cell 6" -move body { id41 } midpoint location 0.75 -0.43301270189221913 0.0 -cylinder height 2.0 radius 0.4 +intersect body { id40 } { id41 } #{ id42 = Id("body") } -body { id42 } name "cell 5" -move body { id42 } midpoint location 5.302876193624534e-17 -0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +body { id42 } name "Cell_2" +move body { id42 } midpoint location -6.3 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id43 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id44 = Id("body") } -rotate body { id44 } about z angle 30 subtract body { id43 } from body { id44 } -body { id44 } name "cell 6" -move body { id44 } midpoint location 5.302876193624534e-17 -0.8660254037844386 0.0 -cylinder height 2.0 radius 0.4 +body { id44 } name "Cell_3" +move body { id44 } midpoint location -6.3 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id45 = Id("body") } -body { id45 } name "cell 5" -move body { id45 } midpoint location -0.7499999999999998 -0.4330127018922196 0.0 -cylinder height 2.0 radius 0.4 +body { id45 } name "Cell_1" +move body { id45 } midpoint location -5.04 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id46 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id47 = Id("body") } -rotate body { id47 } about z angle 30 subtract body { id46 } from body { id47 } -body { id47 } name "cell 6" -move body { id47 } midpoint location -0.7499999999999998 -0.4330127018922196 0.0 -cylinder height 2.0 radius 0.4 +cylinder height 500 radius 0.4572 #{ id48 = Id("body") } -body { id48 } name "cell 5" -move body { id48 } midpoint location -0.7499999999999999 0.4330127018922194 0.0 -cylinder height 2.0 radius 0.4 #{ id49 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id47 } { id48 } #{ id50 = Id("body") } -rotate body { id50 } about z angle 30 -subtract body { id49 } from body { id50 } -body { id50 } name "cell 6" -move body { id50 } midpoint location -0.7499999999999999 0.4330127018922194 0.0 -cylinder height 2.0 radius 0.4 -#{ id51 = Id("body") } -body { id51 } name "cell 5" -move body { id51 } midpoint location 0.0 0.0 0.0 -cylinder height 2.0 radius 0.4 +#{id51 = ( id49 == id50 ) ? id48 : id50} +brick x 1.26 y 1.26 z 500 #{ id52 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id51 } { id52 } #{ id53 = Id("body") } -rotate body { id53 } about z angle 30 -subtract body { id52 } from body { id53 } -body { id53 } name "cell 6" -move body { id53 } midpoint location 0.0 0.0 0.0 -create prism height 2.0 sides 6 radius 0.5 +body { id53 } name "Cell_2" +move body { id53 } midpoint location -5.04 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id54 = Id("body") } -rotate body { id54 } about z angle 30 -body { id54 } name "cell 4" -move body { id54 } midpoint location 0.0 1.7320508075688772 2.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id55 = Id("body") } -body { id55 } name "cell 2" -move body { id55 } midpoint location 0.75 1.299038105676658 2.0 -cylinder height 2.0 radius 0.4 +subtract body { id54 } from body { id55 } +body { id55 } name "Cell_3" +move body { id55 } midpoint location -5.04 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id56 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id56 } name "Cell_1" +move body { id56 } midpoint location -3.7800000000000002 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id57 = Id("body") } -rotate body { id57 } about z angle 30 -subtract body { id56 } from body { id57 } -body { id57 } name "cell 3" -move body { id57 } midpoint location 0.75 1.299038105676658 2.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id58 = Id("body") } -body { id58 } name "cell 2" -move body { id58 } midpoint location 1.5 0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +subtract body { id57 } from body { id58 } +cylinder height 500 radius 0.4572 #{ id59 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 #{ id60 = Id("body") } -rotate body { id60 } about z angle 30 -subtract body { id59 } from body { id60 } -body { id60 } name "cell 3" -move body { id60 } midpoint location 1.5 0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +intersect body { id58 } { id59 } #{ id61 = Id("body") } -body { id61 } name "cell 2" -move body { id61 } midpoint location 1.5 0.0 2.0 -cylinder height 2.0 radius 0.4 -#{ id62 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +#{id62 = ( id60 == id61 ) ? id59 : id61} +brick x 1.26 y 1.26 z 500 #{ id63 = Id("body") } -rotate body { id63 } about z angle 30 -subtract body { id62 } from body { id63 } -body { id63 } name "cell 3" -move body { id63 } midpoint location 1.5 0.0 2.0 -cylinder height 2.0 radius 0.4 +intersect body { id62 } { id63 } #{ id64 = Id("body") } -body { id64 } name "cell 2" -move body { id64 } midpoint location 1.5 -0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +body { id64 } name "Cell_2" +move body { id64 } midpoint location -3.7800000000000002 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id65 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id66 = Id("body") } -rotate body { id66 } about z angle 30 subtract body { id65 } from body { id66 } -body { id66 } name "cell 3" -move body { id66 } midpoint location 1.5 -0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +body { id66 } name "Cell_3" +move body { id66 } midpoint location -3.7800000000000002 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id67 = Id("body") } -body { id67 } name "cell 2" -move body { id67 } midpoint location 0.75 -1.299038105676658 2.0 -cylinder height 2.0 radius 0.4 +body { id67 } name "Cell_1" +move body { id67 } midpoint location -2.5199999999999996 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id68 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id69 = Id("body") } -rotate body { id69 } about z angle 30 subtract body { id68 } from body { id69 } -body { id69 } name "cell 3" -move body { id69 } midpoint location 0.75 -1.299038105676658 2.0 -cylinder height 2.0 radius 0.4 +cylinder height 500 radius 0.4572 #{ id70 = Id("body") } -body { id70 } name "cell 2" -move body { id70 } midpoint location 0.0 -1.7320508075688772 2.0 -cylinder height 2.0 radius 0.4 #{ id71 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id69 } { id70 } #{ id72 = Id("body") } -rotate body { id72 } about z angle 30 -subtract body { id71 } from body { id72 } -body { id72 } name "cell 3" -move body { id72 } midpoint location 0.0 -1.7320508075688772 2.0 -cylinder height 2.0 radius 0.4 -#{ id73 = Id("body") } -body { id73 } name "cell 2" -move body { id73 } midpoint location -0.75 -1.299038105676658 2.0 -cylinder height 2.0 radius 0.4 +#{id73 = ( id71 == id72 ) ? id70 : id72} +brick x 1.26 y 1.26 z 500 #{ id74 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id73 } { id74 } #{ id75 = Id("body") } -rotate body { id75 } about z angle 30 -subtract body { id74 } from body { id75 } -body { id75 } name "cell 3" -move body { id75 } midpoint location -0.75 -1.299038105676658 2.0 -cylinder height 2.0 radius 0.4 +body { id75 } name "Cell_2" +move body { id75 } midpoint location -2.5199999999999996 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id76 = Id("body") } -body { id76 } name "cell 2" -move body { id76 } midpoint location -1.5 -0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id77 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id76 } from body { id77 } +body { id77 } name "Cell_3" +move body { id77 } midpoint location -2.5199999999999996 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id78 = Id("body") } -rotate body { id78 } about z angle 30 -subtract body { id77 } from body { id78 } -body { id78 } name "cell 3" -move body { id78 } midpoint location -1.5 -0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +body { id78 } name "Cell_1" +move body { id78 } midpoint location -1.2599999999999998 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id79 = Id("body") } -body { id79 } name "cell 2" -move body { id79 } midpoint location -1.5 0.0 2.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id80 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id79 } from body { id80 } +cylinder height 500 radius 0.4572 #{ id81 = Id("body") } -rotate body { id81 } about z angle 30 -subtract body { id80 } from body { id81 } -body { id81 } name "cell 3" -move body { id81 } midpoint location -1.5 0.0 2.0 -cylinder height 2.0 radius 0.4 #{ id82 = Id("body") } -body { id82 } name "cell 2" -move body { id82 } midpoint location -1.5 0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +intersect body { id80 } { id81 } #{ id83 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 -#{ id84 = Id("body") } -rotate body { id84 } about z angle 30 -subtract body { id83 } from body { id84 } -body { id84 } name "cell 3" -move body { id84 } midpoint location -1.5 0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +#{id84 = ( id82 == id83 ) ? id81 : id83} +brick x 1.26 y 1.26 z 500 #{ id85 = Id("body") } -body { id85 } name "cell 2" -move body { id85 } midpoint location -0.75 1.299038105676658 2.0 -cylinder height 2.0 radius 0.4 +intersect body { id84 } { id85 } #{ id86 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id86 } name "Cell_2" +move body { id86 } midpoint location -1.2599999999999998 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id87 = Id("body") } -rotate body { id87 } about z angle 30 -subtract body { id86 } from body { id87 } -body { id87 } name "cell 3" -move body { id87 } midpoint location -0.75 1.299038105676658 2.0 -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id88 = Id("body") } -rotate body { id88 } about z angle 30 -body { id88 } name "cell 4" -move body { id88 } midpoint location 5.302876193624534e-17 0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +subtract body { id87 } from body { id88 } +body { id88 } name "Cell_3" +move body { id88 } midpoint location -1.2599999999999998 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id89 = Id("body") } -body { id89 } name "cell 2" -move body { id89 } midpoint location 0.7499999999999999 0.4330127018922193 2.0 -cylinder height 2.0 radius 0.4 +body { id89 } name "Cell_1" +move body { id89 } midpoint location 0.0 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id90 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id91 = Id("body") } -rotate body { id91 } about z angle 30 subtract body { id90 } from body { id91 } -body { id91 } name "cell 3" -move body { id91 } midpoint location 0.7499999999999999 0.4330127018922193 2.0 -cylinder height 2.0 radius 0.4 +cylinder height 500 radius 0.4572 #{ id92 = Id("body") } -body { id92 } name "cell 2" -move body { id92 } midpoint location 0.75 -0.43301270189221913 2.0 -cylinder height 2.0 radius 0.4 #{ id93 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id91 } { id92 } #{ id94 = Id("body") } -rotate body { id94 } about z angle 30 -subtract body { id93 } from body { id94 } -body { id94 } name "cell 3" -move body { id94 } midpoint location 0.75 -0.43301270189221913 2.0 -cylinder height 2.0 radius 0.4 -#{ id95 = Id("body") } -body { id95 } name "cell 2" -move body { id95 } midpoint location 5.302876193624534e-17 -0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +#{id95 = ( id93 == id94 ) ? id92 : id94} +brick x 1.26 y 1.26 z 500 #{ id96 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id95 } { id96 } #{ id97 = Id("body") } -rotate body { id97 } about z angle 30 -subtract body { id96 } from body { id97 } -body { id97 } name "cell 3" -move body { id97 } midpoint location 5.302876193624534e-17 -0.8660254037844386 2.0 -cylinder height 2.0 radius 0.4 +body { id97 } name "Cell_2" +move body { id97 } midpoint location 0.0 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id98 = Id("body") } -body { id98 } name "cell 2" -move body { id98 } midpoint location -0.7499999999999998 -0.4330127018922196 2.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id99 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id98 } from body { id99 } +body { id99 } name "Cell_3" +move body { id99 } midpoint location 0.0 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id100 = Id("body") } -rotate body { id100 } about z angle 30 -subtract body { id99 } from body { id100 } -body { id100 } name "cell 3" -move body { id100 } midpoint location -0.7499999999999998 -0.4330127018922196 2.0 -cylinder height 2.0 radius 0.4 +body { id100 } name "Cell_1" +move body { id100 } midpoint location 1.2599999999999998 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id101 = Id("body") } -body { id101 } name "cell 2" -move body { id101 } midpoint location -0.7499999999999999 0.4330127018922194 2.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id102 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id101 } from body { id102 } +cylinder height 500 radius 0.4572 #{ id103 = Id("body") } -rotate body { id103 } about z angle 30 -subtract body { id102 } from body { id103 } -body { id103 } name "cell 3" -move body { id103 } midpoint location -0.7499999999999999 0.4330127018922194 2.0 -cylinder height 2.0 radius 0.4 #{ id104 = Id("body") } -body { id104 } name "cell 2" -move body { id104 } midpoint location 0.0 0.0 2.0 -cylinder height 2.0 radius 0.4 +intersect body { id102 } { id103 } #{ id105 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 -#{ id106 = Id("body") } -rotate body { id106 } about z angle 30 -subtract body { id105 } from body { id106 } -body { id106 } name "cell 3" -move body { id106 } midpoint location 0.0 0.0 2.0 -create prism height 2.0 sides 6 radius 0.5 +#{id106 = ( id104 == id105 ) ? id103 : id105} +brick x 1.26 y 1.26 z 500 #{ id107 = Id("body") } -rotate body { id107 } about z angle 30 -body { id107 } name "cell 4" -move body { id107 } midpoint location 0.0 1.7320508075688772 4.0 -cylinder height 2.0 radius 0.4 +intersect body { id106 } { id107 } #{ id108 = Id("body") } -body { id108 } name "cell 5" -move body { id108 } midpoint location 0.75 1.299038105676658 4.0 -cylinder height 2.0 radius 0.4 +body { id108 } name "Cell_2" +move body { id108 } midpoint location 1.2599999999999998 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id109 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id110 = Id("body") } -rotate body { id110 } about z angle 30 subtract body { id109 } from body { id110 } -body { id110 } name "cell 6" -move body { id110 } midpoint location 0.75 1.299038105676658 4.0 -cylinder height 2.0 radius 0.4 +body { id110 } name "Cell_3" +move body { id110 } midpoint location 1.2599999999999998 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id111 = Id("body") } -body { id111 } name "cell 5" -move body { id111 } midpoint location 1.5 0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +body { id111 } name "Cell_1" +move body { id111 } midpoint location 2.5199999999999996 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id112 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +brick x 1.26 y 1.26 z 500 #{ id113 = Id("body") } -rotate body { id113 } about z angle 30 subtract body { id112 } from body { id113 } -body { id113 } name "cell 6" -move body { id113 } midpoint location 1.5 0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +cylinder height 500 radius 0.4572 #{ id114 = Id("body") } -body { id114 } name "cell 5" -move body { id114 } midpoint location 1.5 0.0 4.0 -cylinder height 2.0 radius 0.4 #{ id115 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id113 } { id114 } #{ id116 = Id("body") } -rotate body { id116 } about z angle 30 -subtract body { id115 } from body { id116 } -body { id116 } name "cell 6" -move body { id116 } midpoint location 1.5 0.0 4.0 -cylinder height 2.0 radius 0.4 -#{ id117 = Id("body") } -body { id117 } name "cell 5" -move body { id117 } midpoint location 1.5 -0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +#{id117 = ( id115 == id116 ) ? id114 : id116} +brick x 1.26 y 1.26 z 500 #{ id118 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +intersect body { id117 } { id118 } #{ id119 = Id("body") } -rotate body { id119 } about z angle 30 -subtract body { id118 } from body { id119 } -body { id119 } name "cell 6" -move body { id119 } midpoint location 1.5 -0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +body { id119 } name "Cell_2" +move body { id119 } midpoint location 2.5199999999999996 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id120 = Id("body") } -body { id120 } name "cell 5" -move body { id120 } midpoint location 0.75 -1.299038105676658 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id121 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id120 } from body { id121 } +body { id121 } name "Cell_3" +move body { id121 } midpoint location 2.5199999999999996 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id122 = Id("body") } -rotate body { id122 } about z angle 30 -subtract body { id121 } from body { id122 } -body { id122 } name "cell 6" -move body { id122 } midpoint location 0.75 -1.299038105676658 4.0 -cylinder height 2.0 radius 0.4 +body { id122 } name "Cell_1" +move body { id122 } midpoint location 3.7799999999999994 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id123 = Id("body") } -body { id123 } name "cell 5" -move body { id123 } midpoint location 0.0 -1.7320508075688772 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id124 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id123 } from body { id124 } +cylinder height 500 radius 0.4572 #{ id125 = Id("body") } -rotate body { id125 } about z angle 30 -subtract body { id124 } from body { id125 } -body { id125 } name "cell 6" -move body { id125 } midpoint location 0.0 -1.7320508075688772 4.0 -cylinder height 2.0 radius 0.4 #{ id126 = Id("body") } -body { id126 } name "cell 5" -move body { id126 } midpoint location -0.75 -1.299038105676658 4.0 -cylinder height 2.0 radius 0.4 +intersect body { id124 } { id125 } #{ id127 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 -#{ id128 = Id("body") } -rotate body { id128 } about z angle 30 -subtract body { id127 } from body { id128 } -body { id128 } name "cell 6" -move body { id128 } midpoint location -0.75 -1.299038105676658 4.0 -cylinder height 2.0 radius 0.4 +#{id128 = ( id126 == id127 ) ? id125 : id127} +brick x 1.26 y 1.26 z 500 #{ id129 = Id("body") } -body { id129 } name "cell 5" -move body { id129 } midpoint location -1.5 -0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +intersect body { id128 } { id129 } #{ id130 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id130 } name "Cell_2" +move body { id130 } midpoint location 3.7799999999999994 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id131 = Id("body") } -rotate body { id131 } about z angle 30 -subtract body { id130 } from body { id131 } -body { id131 } name "cell 6" -move body { id131 } midpoint location -1.5 -0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id132 = Id("body") } -body { id132 } name "cell 5" -move body { id132 } midpoint location -1.5 0.0 4.0 -cylinder height 2.0 radius 0.4 +subtract body { id131 } from body { id132 } +body { id132 } name "Cell_3" +move body { id132 } midpoint location 3.7799999999999994 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id133 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id133 } name "Cell_1" +move body { id133 } midpoint location 5.040000000000001 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id134 = Id("body") } -rotate body { id134 } about z angle 30 -subtract body { id133 } from body { id134 } -body { id134 } name "cell 6" -move body { id134 } midpoint location -1.5 0.0 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id135 = Id("body") } -body { id135 } name "cell 5" -move body { id135 } midpoint location -1.5 0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +subtract body { id134 } from body { id135 } +cylinder height 500 radius 0.4572 #{ id136 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 #{ id137 = Id("body") } -rotate body { id137 } about z angle 30 -subtract body { id136 } from body { id137 } -body { id137 } name "cell 6" -move body { id137 } midpoint location -1.5 0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +intersect body { id135 } { id136 } #{ id138 = Id("body") } -body { id138 } name "cell 5" -move body { id138 } midpoint location -0.75 1.299038105676658 4.0 -cylinder height 2.0 radius 0.4 -#{ id139 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +#{id139 = ( id137 == id138 ) ? id136 : id138} +brick x 1.26 y 1.26 z 500 #{ id140 = Id("body") } -rotate body { id140 } about z angle 30 -subtract body { id139 } from body { id140 } -body { id140 } name "cell 6" -move body { id140 } midpoint location -0.75 1.299038105676658 4.0 -create prism height 2.0 sides 6 radius 0.5 +intersect body { id139 } { id140 } #{ id141 = Id("body") } -rotate body { id141 } about z angle 30 -body { id141 } name "cell 4" -move body { id141 } midpoint location 5.302876193624534e-17 0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +body { id141 } name "Cell_2" +move body { id141 } midpoint location 5.040000000000001 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id142 = Id("body") } -body { id142 } name "cell 5" -move body { id142 } midpoint location 0.7499999999999999 0.4330127018922193 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id143 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id142 } from body { id143 } +body { id143 } name "Cell_3" +move body { id143 } midpoint location 5.040000000000001 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id144 = Id("body") } -rotate body { id144 } about z angle 30 -subtract body { id143 } from body { id144 } -body { id144 } name "cell 6" -move body { id144 } midpoint location 0.7499999999999999 0.4330127018922193 4.0 -cylinder height 2.0 radius 0.4 +body { id144 } name "Cell_1" +move body { id144 } midpoint location 6.299999999999999 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id145 = Id("body") } -body { id145 } name "cell 5" -move body { id145 } midpoint location 0.75 -0.43301270189221913 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id146 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +subtract body { id145 } from body { id146 } +cylinder height 500 radius 0.4572 #{ id147 = Id("body") } -rotate body { id147 } about z angle 30 -subtract body { id146 } from body { id147 } -body { id147 } name "cell 6" -move body { id147 } midpoint location 0.75 -0.43301270189221913 4.0 -cylinder height 2.0 radius 0.4 #{ id148 = Id("body") } -body { id148 } name "cell 5" -move body { id148 } midpoint location 5.302876193624534e-17 -0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +intersect body { id146 } { id147 } #{ id149 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 -#{ id150 = Id("body") } -rotate body { id150 } about z angle 30 -subtract body { id149 } from body { id150 } -body { id150 } name "cell 6" -move body { id150 } midpoint location 5.302876193624534e-17 -0.8660254037844386 4.0 -cylinder height 2.0 radius 0.4 +#{id150 = ( id148 == id149 ) ? id147 : id149} +brick x 1.26 y 1.26 z 500 #{ id151 = Id("body") } -body { id151 } name "cell 5" -move body { id151 } midpoint location -0.7499999999999998 -0.4330127018922196 4.0 -cylinder height 2.0 radius 0.4 +intersect body { id150 } { id151 } #{ id152 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id152 } name "Cell_2" +move body { id152 } midpoint location 6.299999999999999 -10.08 0 except z +cylinder height 500 radius 0.4572 #{ id153 = Id("body") } -rotate body { id153 } about z angle 30 -subtract body { id152 } from body { id153 } -body { id153 } name "cell 6" -move body { id153 } midpoint location -0.7499999999999998 -0.4330127018922196 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id154 = Id("body") } -body { id154 } name "cell 5" -move body { id154 } midpoint location -0.7499999999999999 0.4330127018922194 4.0 -cylinder height 2.0 radius 0.4 +subtract body { id153 } from body { id154 } +body { id154 } name "Cell_3" +move body { id154 } midpoint location 6.299999999999999 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id155 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 +body { id155 } name "Cell_1" +move body { id155 } midpoint location 7.5600000000000005 -10.08 0 except z +cylinder height 500 radius 0.39218 #{ id156 = Id("body") } -rotate body { id156 } about z angle 30 -subtract body { id155 } from body { id156 } -body { id156 } name "cell 6" -move body { id156 } midpoint location -0.7499999999999999 0.4330127018922194 4.0 -cylinder height 2.0 radius 0.4 +brick x 1.26 y 1.26 z 500 #{ id157 = Id("body") } -body { id157 } name "cell 5" -move body { id157 } midpoint location 0.0 0.0 4.0 -cylinder height 2.0 radius 0.4 +subtract body { id156 } from body { id157 } +cylinder height 500 radius 0.4572 #{ id158 = Id("body") } -create prism height 2.0 sides 6 radius 0.5 #{ id159 = Id("body") } -rotate body { id159 } about z angle 30 -subtract body { id158 } from body { id159 } -body { id159 } name "cell 6" -move body { id159 } midpoint location 0.0 0.0 4.0 +intersect body { id157 } { id158 } +#{ id160 = Id("body") } +#{id161 = ( id159 == id160 ) ? id158 : id160} +brick x 1.26 y 1.26 z 500 +#{ id162 = Id("body") } +intersect body { id161 } { id162 } +#{ id163 = Id("body") } +body { id163 } name "Cell_2" +move body { id163 } midpoint location 7.5600000000000005 -10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id164 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id165 = Id("body") } +subtract body { id164 } from body { id165 } +body { id165 } name "Cell_3" +move body { id165 } midpoint location 7.5600000000000005 -10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id166 = Id("body") } +body { id166 } name "Cell_1" +move body { id166 } midpoint location 8.819999999999999 -10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id167 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id168 = Id("body") } +subtract body { id167 } from body { id168 } +cylinder height 500 radius 0.4572 +#{ id169 = Id("body") } +#{ id170 = Id("body") } +intersect body { id168 } { id169 } +#{ id171 = Id("body") } +#{id172 = ( id170 == id171 ) ? id169 : id171} +brick x 1.26 y 1.26 z 500 +#{ id173 = Id("body") } +intersect body { id172 } { id173 } +#{ id174 = Id("body") } +body { id174 } name "Cell_2" +move body { id174 } midpoint location 8.819999999999999 -10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id175 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id176 = Id("body") } +subtract body { id175 } from body { id176 } +body { id176 } name "Cell_3" +move body { id176 } midpoint location 8.819999999999999 -10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id177 = Id("body") } +body { id177 } name "Cell_1" +move body { id177 } midpoint location 10.08 -10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id178 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id179 = Id("body") } +subtract body { id178 } from body { id179 } +cylinder height 500 radius 0.4572 +#{ id180 = Id("body") } +#{ id181 = Id("body") } +intersect body { id179 } { id180 } +#{ id182 = Id("body") } +#{id183 = ( id181 == id182 ) ? id180 : id182} +brick x 1.26 y 1.26 z 500 +#{ id184 = Id("body") } +intersect body { id183 } { id184 } +#{ id185 = Id("body") } +body { id185 } name "Cell_2" +move body { id185 } midpoint location 10.08 -10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id186 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id187 = Id("body") } +subtract body { id186 } from body { id187 } +body { id187 } name "Cell_3" +move body { id187 } midpoint location 10.08 -10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id188 = Id("body") } +body { id188 } name "Cell_1" +move body { id188 } midpoint location -10.08 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id189 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id190 = Id("body") } +subtract body { id189 } from body { id190 } +cylinder height 500 radius 0.4572 +#{ id191 = Id("body") } +#{ id192 = Id("body") } +intersect body { id190 } { id191 } +#{ id193 = Id("body") } +#{id194 = ( id192 == id193 ) ? id191 : id193} +brick x 1.26 y 1.26 z 500 +#{ id195 = Id("body") } +intersect body { id194 } { id195 } +#{ id196 = Id("body") } +body { id196 } name "Cell_2" +move body { id196 } midpoint location -10.08 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id197 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id198 = Id("body") } +subtract body { id197 } from body { id198 } +body { id198 } name "Cell_3" +move body { id198 } midpoint location -10.08 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id199 = Id("body") } +body { id199 } name "Cell_1" +move body { id199 } midpoint location -8.82 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id200 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id201 = Id("body") } +subtract body { id200 } from body { id201 } +cylinder height 500 radius 0.4572 +#{ id202 = Id("body") } +#{ id203 = Id("body") } +intersect body { id201 } { id202 } +#{ id204 = Id("body") } +#{id205 = ( id203 == id204 ) ? id202 : id204} +brick x 1.26 y 1.26 z 500 +#{ id206 = Id("body") } +intersect body { id205 } { id206 } +#{ id207 = Id("body") } +body { id207 } name "Cell_2" +move body { id207 } midpoint location -8.82 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id208 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id209 = Id("body") } +subtract body { id208 } from body { id209 } +body { id209 } name "Cell_3" +move body { id209 } midpoint location -8.82 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id210 = Id("body") } +body { id210 } name "Cell_1" +move body { id210 } midpoint location -7.5600000000000005 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id211 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id212 = Id("body") } +subtract body { id211 } from body { id212 } +cylinder height 500 radius 0.4572 +#{ id213 = Id("body") } +#{ id214 = Id("body") } +intersect body { id212 } { id213 } +#{ id215 = Id("body") } +#{id216 = ( id214 == id215 ) ? id213 : id215} +brick x 1.26 y 1.26 z 500 +#{ id217 = Id("body") } +intersect body { id216 } { id217 } +#{ id218 = Id("body") } +body { id218 } name "Cell_2" +move body { id218 } midpoint location -7.5600000000000005 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id219 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id220 = Id("body") } +subtract body { id219 } from body { id220 } +body { id220 } name "Cell_3" +move body { id220 } midpoint location -7.5600000000000005 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id221 = Id("body") } +body { id221 } name "Cell_1" +move body { id221 } midpoint location -6.3 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id222 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id223 = Id("body") } +subtract body { id222 } from body { id223 } +cylinder height 500 radius 0.4572 +#{ id224 = Id("body") } +#{ id225 = Id("body") } +intersect body { id223 } { id224 } +#{ id226 = Id("body") } +#{id227 = ( id225 == id226 ) ? id224 : id226} +brick x 1.26 y 1.26 z 500 +#{ id228 = Id("body") } +intersect body { id227 } { id228 } +#{ id229 = Id("body") } +body { id229 } name "Cell_2" +move body { id229 } midpoint location -6.3 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id230 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id231 = Id("body") } +subtract body { id230 } from body { id231 } +body { id231 } name "Cell_3" +move body { id231 } midpoint location -6.3 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id232 = Id("body") } +body { id232 } name "Cell_1" +move body { id232 } midpoint location -5.04 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id233 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id234 = Id("body") } +subtract body { id233 } from body { id234 } +cylinder height 500 radius 0.4572 +#{ id235 = Id("body") } +#{ id236 = Id("body") } +intersect body { id234 } { id235 } +#{ id237 = Id("body") } +#{id238 = ( id236 == id237 ) ? id235 : id237} +brick x 1.26 y 1.26 z 500 +#{ id239 = Id("body") } +intersect body { id238 } { id239 } +#{ id240 = Id("body") } +body { id240 } name "Cell_2" +move body { id240 } midpoint location -5.04 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id241 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id242 = Id("body") } +subtract body { id241 } from body { id242 } +body { id242 } name "Cell_3" +move body { id242 } midpoint location -5.04 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id243 = Id("body") } +body { id243 } name "Cell_1" +move body { id243 } midpoint location -3.7800000000000002 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id244 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id245 = Id("body") } +subtract body { id244 } from body { id245 } +cylinder height 500 radius 0.4572 +#{ id246 = Id("body") } +#{ id247 = Id("body") } +intersect body { id245 } { id246 } +#{ id248 = Id("body") } +#{id249 = ( id247 == id248 ) ? id246 : id248} +brick x 1.26 y 1.26 z 500 +#{ id250 = Id("body") } +intersect body { id249 } { id250 } +#{ id251 = Id("body") } +body { id251 } name "Cell_2" +move body { id251 } midpoint location -3.7800000000000002 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id252 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id253 = Id("body") } +subtract body { id252 } from body { id253 } +body { id253 } name "Cell_3" +move body { id253 } midpoint location -3.7800000000000002 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id254 = Id("body") } +body { id254 } name "Cell_1" +move body { id254 } midpoint location -2.5199999999999996 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id255 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id256 = Id("body") } +subtract body { id255 } from body { id256 } +cylinder height 500 radius 0.4572 +#{ id257 = Id("body") } +#{ id258 = Id("body") } +intersect body { id256 } { id257 } +#{ id259 = Id("body") } +#{id260 = ( id258 == id259 ) ? id257 : id259} +brick x 1.26 y 1.26 z 500 +#{ id261 = Id("body") } +intersect body { id260 } { id261 } +#{ id262 = Id("body") } +body { id262 } name "Cell_2" +move body { id262 } midpoint location -2.5199999999999996 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id263 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id264 = Id("body") } +subtract body { id263 } from body { id264 } +body { id264 } name "Cell_3" +move body { id264 } midpoint location -2.5199999999999996 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id265 = Id("body") } +body { id265 } name "Cell_1" +move body { id265 } midpoint location -1.2599999999999998 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id266 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id267 = Id("body") } +subtract body { id266 } from body { id267 } +cylinder height 500 radius 0.4572 +#{ id268 = Id("body") } +#{ id269 = Id("body") } +intersect body { id267 } { id268 } +#{ id270 = Id("body") } +#{id271 = ( id269 == id270 ) ? id268 : id270} +brick x 1.26 y 1.26 z 500 +#{ id272 = Id("body") } +intersect body { id271 } { id272 } +#{ id273 = Id("body") } +body { id273 } name "Cell_2" +move body { id273 } midpoint location -1.2599999999999998 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id274 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id275 = Id("body") } +subtract body { id274 } from body { id275 } +body { id275 } name "Cell_3" +move body { id275 } midpoint location -1.2599999999999998 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id276 = Id("body") } +body { id276 } name "Cell_1" +move body { id276 } midpoint location 0.0 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id277 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id278 = Id("body") } +subtract body { id277 } from body { id278 } +cylinder height 500 radius 0.4572 +#{ id279 = Id("body") } +#{ id280 = Id("body") } +intersect body { id278 } { id279 } +#{ id281 = Id("body") } +#{id282 = ( id280 == id281 ) ? id279 : id281} +brick x 1.26 y 1.26 z 500 +#{ id283 = Id("body") } +intersect body { id282 } { id283 } +#{ id284 = Id("body") } +body { id284 } name "Cell_2" +move body { id284 } midpoint location 0.0 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id285 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id286 = Id("body") } +subtract body { id285 } from body { id286 } +body { id286 } name "Cell_3" +move body { id286 } midpoint location 0.0 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id287 = Id("body") } +body { id287 } name "Cell_1" +move body { id287 } midpoint location 1.2599999999999998 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id288 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id289 = Id("body") } +subtract body { id288 } from body { id289 } +cylinder height 500 radius 0.4572 +#{ id290 = Id("body") } +#{ id291 = Id("body") } +intersect body { id289 } { id290 } +#{ id292 = Id("body") } +#{id293 = ( id291 == id292 ) ? id290 : id292} +brick x 1.26 y 1.26 z 500 +#{ id294 = Id("body") } +intersect body { id293 } { id294 } +#{ id295 = Id("body") } +body { id295 } name "Cell_2" +move body { id295 } midpoint location 1.2599999999999998 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id296 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id297 = Id("body") } +subtract body { id296 } from body { id297 } +body { id297 } name "Cell_3" +move body { id297 } midpoint location 1.2599999999999998 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id298 = Id("body") } +body { id298 } name "Cell_1" +move body { id298 } midpoint location 2.5199999999999996 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id299 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id300 = Id("body") } +subtract body { id299 } from body { id300 } +cylinder height 500 radius 0.4572 +#{ id301 = Id("body") } +#{ id302 = Id("body") } +intersect body { id300 } { id301 } +#{ id303 = Id("body") } +#{id304 = ( id302 == id303 ) ? id301 : id303} +brick x 1.26 y 1.26 z 500 +#{ id305 = Id("body") } +intersect body { id304 } { id305 } +#{ id306 = Id("body") } +body { id306 } name "Cell_2" +move body { id306 } midpoint location 2.5199999999999996 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id307 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id308 = Id("body") } +subtract body { id307 } from body { id308 } +body { id308 } name "Cell_3" +move body { id308 } midpoint location 2.5199999999999996 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id309 = Id("body") } +body { id309 } name "Cell_1" +move body { id309 } midpoint location 3.7799999999999994 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id310 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id311 = Id("body") } +subtract body { id310 } from body { id311 } +cylinder height 500 radius 0.4572 +#{ id312 = Id("body") } +#{ id313 = Id("body") } +intersect body { id311 } { id312 } +#{ id314 = Id("body") } +#{id315 = ( id313 == id314 ) ? id312 : id314} +brick x 1.26 y 1.26 z 500 +#{ id316 = Id("body") } +intersect body { id315 } { id316 } +#{ id317 = Id("body") } +body { id317 } name "Cell_2" +move body { id317 } midpoint location 3.7799999999999994 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id318 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id319 = Id("body") } +subtract body { id318 } from body { id319 } +body { id319 } name "Cell_3" +move body { id319 } midpoint location 3.7799999999999994 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id320 = Id("body") } +body { id320 } name "Cell_1" +move body { id320 } midpoint location 5.040000000000001 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id321 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id322 = Id("body") } +subtract body { id321 } from body { id322 } +cylinder height 500 radius 0.4572 +#{ id323 = Id("body") } +#{ id324 = Id("body") } +intersect body { id322 } { id323 } +#{ id325 = Id("body") } +#{id326 = ( id324 == id325 ) ? id323 : id325} +brick x 1.26 y 1.26 z 500 +#{ id327 = Id("body") } +intersect body { id326 } { id327 } +#{ id328 = Id("body") } +body { id328 } name "Cell_2" +move body { id328 } midpoint location 5.040000000000001 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id329 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id330 = Id("body") } +subtract body { id329 } from body { id330 } +body { id330 } name "Cell_3" +move body { id330 } midpoint location 5.040000000000001 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id331 = Id("body") } +body { id331 } name "Cell_1" +move body { id331 } midpoint location 6.299999999999999 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id332 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id333 = Id("body") } +subtract body { id332 } from body { id333 } +cylinder height 500 radius 0.4572 +#{ id334 = Id("body") } +#{ id335 = Id("body") } +intersect body { id333 } { id334 } +#{ id336 = Id("body") } +#{id337 = ( id335 == id336 ) ? id334 : id336} +brick x 1.26 y 1.26 z 500 +#{ id338 = Id("body") } +intersect body { id337 } { id338 } +#{ id339 = Id("body") } +body { id339 } name "Cell_2" +move body { id339 } midpoint location 6.299999999999999 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id340 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id341 = Id("body") } +subtract body { id340 } from body { id341 } +body { id341 } name "Cell_3" +move body { id341 } midpoint location 6.299999999999999 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id342 = Id("body") } +body { id342 } name "Cell_1" +move body { id342 } midpoint location 7.5600000000000005 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id343 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id344 = Id("body") } +subtract body { id343 } from body { id344 } +cylinder height 500 radius 0.4572 +#{ id345 = Id("body") } +#{ id346 = Id("body") } +intersect body { id344 } { id345 } +#{ id347 = Id("body") } +#{id348 = ( id346 == id347 ) ? id345 : id347} +brick x 1.26 y 1.26 z 500 +#{ id349 = Id("body") } +intersect body { id348 } { id349 } +#{ id350 = Id("body") } +body { id350 } name "Cell_2" +move body { id350 } midpoint location 7.5600000000000005 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id351 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id352 = Id("body") } +subtract body { id351 } from body { id352 } +body { id352 } name "Cell_3" +move body { id352 } midpoint location 7.5600000000000005 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id353 = Id("body") } +body { id353 } name "Cell_1" +move body { id353 } midpoint location 8.819999999999999 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id354 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id355 = Id("body") } +subtract body { id354 } from body { id355 } +cylinder height 500 radius 0.4572 +#{ id356 = Id("body") } +#{ id357 = Id("body") } +intersect body { id355 } { id356 } +#{ id358 = Id("body") } +#{id359 = ( id357 == id358 ) ? id356 : id358} +brick x 1.26 y 1.26 z 500 +#{ id360 = Id("body") } +intersect body { id359 } { id360 } +#{ id361 = Id("body") } +body { id361 } name "Cell_2" +move body { id361 } midpoint location 8.819999999999999 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id362 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id363 = Id("body") } +subtract body { id362 } from body { id363 } +body { id363 } name "Cell_3" +move body { id363 } midpoint location 8.819999999999999 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id364 = Id("body") } +body { id364 } name "Cell_1" +move body { id364 } midpoint location 10.08 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id365 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id366 = Id("body") } +subtract body { id365 } from body { id366 } +cylinder height 500 radius 0.4572 +#{ id367 = Id("body") } +#{ id368 = Id("body") } +intersect body { id366 } { id367 } +#{ id369 = Id("body") } +#{id370 = ( id368 == id369 ) ? id367 : id369} +brick x 1.26 y 1.26 z 500 +#{ id371 = Id("body") } +intersect body { id370 } { id371 } +#{ id372 = Id("body") } +body { id372 } name "Cell_2" +move body { id372 } midpoint location 10.08 -8.82 0 except z +cylinder height 500 radius 0.4572 +#{ id373 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id374 = Id("body") } +subtract body { id373 } from body { id374 } +body { id374 } name "Cell_3" +move body { id374 } midpoint location 10.08 -8.82 0 except z +cylinder height 500 radius 0.39218 +#{ id375 = Id("body") } +body { id375 } name "Cell_1" +move body { id375 } midpoint location -10.08 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id376 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id377 = Id("body") } +subtract body { id376 } from body { id377 } +cylinder height 500 radius 0.4572 +#{ id378 = Id("body") } +#{ id379 = Id("body") } +intersect body { id377 } { id378 } +#{ id380 = Id("body") } +#{id381 = ( id379 == id380 ) ? id378 : id380} +brick x 1.26 y 1.26 z 500 +#{ id382 = Id("body") } +intersect body { id381 } { id382 } +#{ id383 = Id("body") } +body { id383 } name "Cell_2" +move body { id383 } midpoint location -10.08 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id384 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id385 = Id("body") } +subtract body { id384 } from body { id385 } +body { id385 } name "Cell_3" +move body { id385 } midpoint location -10.08 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id386 = Id("body") } +body { id386 } name "Cell_1" +move body { id386 } midpoint location -8.82 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id387 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id388 = Id("body") } +subtract body { id387 } from body { id388 } +cylinder height 500 radius 0.4572 +#{ id389 = Id("body") } +#{ id390 = Id("body") } +intersect body { id388 } { id389 } +#{ id391 = Id("body") } +#{id392 = ( id390 == id391 ) ? id389 : id391} +brick x 1.26 y 1.26 z 500 +#{ id393 = Id("body") } +intersect body { id392 } { id393 } +#{ id394 = Id("body") } +body { id394 } name "Cell_2" +move body { id394 } midpoint location -8.82 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id395 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id396 = Id("body") } +subtract body { id395 } from body { id396 } +body { id396 } name "Cell_3" +move body { id396 } midpoint location -8.82 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id397 = Id("body") } +body { id397 } name "Cell_1" +move body { id397 } midpoint location -7.5600000000000005 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id398 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id399 = Id("body") } +subtract body { id398 } from body { id399 } +cylinder height 500 radius 0.4572 +#{ id400 = Id("body") } +#{ id401 = Id("body") } +intersect body { id399 } { id400 } +#{ id402 = Id("body") } +#{id403 = ( id401 == id402 ) ? id400 : id402} +brick x 1.26 y 1.26 z 500 +#{ id404 = Id("body") } +intersect body { id403 } { id404 } +#{ id405 = Id("body") } +body { id405 } name "Cell_2" +move body { id405 } midpoint location -7.5600000000000005 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id406 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id407 = Id("body") } +subtract body { id406 } from body { id407 } +body { id407 } name "Cell_3" +move body { id407 } midpoint location -7.5600000000000005 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id408 = Id("body") } +body { id408 } name "Cell_1" +move body { id408 } midpoint location -6.3 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id409 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id410 = Id("body") } +subtract body { id409 } from body { id410 } +cylinder height 500 radius 0.4572 +#{ id411 = Id("body") } +#{ id412 = Id("body") } +intersect body { id410 } { id411 } +#{ id413 = Id("body") } +#{id414 = ( id412 == id413 ) ? id411 : id413} +brick x 1.26 y 1.26 z 500 +#{ id415 = Id("body") } +intersect body { id414 } { id415 } +#{ id416 = Id("body") } +body { id416 } name "Cell_2" +move body { id416 } midpoint location -6.3 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id417 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id418 = Id("body") } +subtract body { id417 } from body { id418 } +body { id418 } name "Cell_3" +move body { id418 } midpoint location -6.3 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id419 = Id("body") } +body { id419 } name "Cell_1" +move body { id419 } midpoint location -5.04 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id420 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id421 = Id("body") } +subtract body { id420 } from body { id421 } +cylinder height 500 radius 0.4572 +#{ id422 = Id("body") } +#{ id423 = Id("body") } +intersect body { id421 } { id422 } +#{ id424 = Id("body") } +#{id425 = ( id423 == id424 ) ? id422 : id424} +brick x 1.26 y 1.26 z 500 +#{ id426 = Id("body") } +intersect body { id425 } { id426 } +#{ id427 = Id("body") } +body { id427 } name "Cell_2" +move body { id427 } midpoint location -5.04 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id428 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id429 = Id("body") } +subtract body { id428 } from body { id429 } +body { id429 } name "Cell_3" +move body { id429 } midpoint location -5.04 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id430 = Id("body") } +body { id430 } name "Cell_4" +move body { id430 } midpoint location -3.7800000000000002 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id431 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id432 = Id("body") } +subtract body { id431 } from body { id432 } +cylinder height 500 radius 0.4572 +#{ id433 = Id("body") } +#{ id434 = Id("body") } +intersect body { id432 } { id433 } +#{ id435 = Id("body") } +#{id436 = ( id434 == id435 ) ? id433 : id435} +brick x 1.26 y 1.26 z 500 +#{ id437 = Id("body") } +intersect body { id436 } { id437 } +#{ id438 = Id("body") } +body { id438 } name "Cell_5" +move body { id438 } midpoint location -3.7800000000000002 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id439 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id440 = Id("body") } +subtract body { id439 } from body { id440 } +body { id440 } name "Cell_6" +move body { id440 } midpoint location -3.7800000000000002 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id441 = Id("body") } +body { id441 } name "Cell_1" +move body { id441 } midpoint location -2.5199999999999996 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id442 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id443 = Id("body") } +subtract body { id442 } from body { id443 } +cylinder height 500 radius 0.4572 +#{ id444 = Id("body") } +#{ id445 = Id("body") } +intersect body { id443 } { id444 } +#{ id446 = Id("body") } +#{id447 = ( id445 == id446 ) ? id444 : id446} +brick x 1.26 y 1.26 z 500 +#{ id448 = Id("body") } +intersect body { id447 } { id448 } +#{ id449 = Id("body") } +body { id449 } name "Cell_2" +move body { id449 } midpoint location -2.5199999999999996 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id450 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id451 = Id("body") } +subtract body { id450 } from body { id451 } +body { id451 } name "Cell_3" +move body { id451 } midpoint location -2.5199999999999996 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id452 = Id("body") } +body { id452 } name "Cell_1" +move body { id452 } midpoint location -1.2599999999999998 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id453 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id454 = Id("body") } +subtract body { id453 } from body { id454 } +cylinder height 500 radius 0.4572 +#{ id455 = Id("body") } +#{ id456 = Id("body") } +intersect body { id454 } { id455 } +#{ id457 = Id("body") } +#{id458 = ( id456 == id457 ) ? id455 : id457} +brick x 1.26 y 1.26 z 500 +#{ id459 = Id("body") } +intersect body { id458 } { id459 } +#{ id460 = Id("body") } +body { id460 } name "Cell_2" +move body { id460 } midpoint location -1.2599999999999998 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id461 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id462 = Id("body") } +subtract body { id461 } from body { id462 } +body { id462 } name "Cell_3" +move body { id462 } midpoint location -1.2599999999999998 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id463 = Id("body") } +body { id463 } name "Cell_4" +move body { id463 } midpoint location 0.0 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id464 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id465 = Id("body") } +subtract body { id464 } from body { id465 } +cylinder height 500 radius 0.4572 +#{ id466 = Id("body") } +#{ id467 = Id("body") } +intersect body { id465 } { id466 } +#{ id468 = Id("body") } +#{id469 = ( id467 == id468 ) ? id466 : id468} +brick x 1.26 y 1.26 z 500 +#{ id470 = Id("body") } +intersect body { id469 } { id470 } +#{ id471 = Id("body") } +body { id471 } name "Cell_5" +move body { id471 } midpoint location 0.0 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id472 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id473 = Id("body") } +subtract body { id472 } from body { id473 } +body { id473 } name "Cell_6" +move body { id473 } midpoint location 0.0 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id474 = Id("body") } +body { id474 } name "Cell_1" +move body { id474 } midpoint location 1.2599999999999998 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id475 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id476 = Id("body") } +subtract body { id475 } from body { id476 } +cylinder height 500 radius 0.4572 +#{ id477 = Id("body") } +#{ id478 = Id("body") } +intersect body { id476 } { id477 } +#{ id479 = Id("body") } +#{id480 = ( id478 == id479 ) ? id477 : id479} +brick x 1.26 y 1.26 z 500 +#{ id481 = Id("body") } +intersect body { id480 } { id481 } +#{ id482 = Id("body") } +body { id482 } name "Cell_2" +move body { id482 } midpoint location 1.2599999999999998 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id483 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id484 = Id("body") } +subtract body { id483 } from body { id484 } +body { id484 } name "Cell_3" +move body { id484 } midpoint location 1.2599999999999998 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id485 = Id("body") } +body { id485 } name "Cell_1" +move body { id485 } midpoint location 2.5199999999999996 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id486 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id487 = Id("body") } +subtract body { id486 } from body { id487 } +cylinder height 500 radius 0.4572 +#{ id488 = Id("body") } +#{ id489 = Id("body") } +intersect body { id487 } { id488 } +#{ id490 = Id("body") } +#{id491 = ( id489 == id490 ) ? id488 : id490} +brick x 1.26 y 1.26 z 500 +#{ id492 = Id("body") } +intersect body { id491 } { id492 } +#{ id493 = Id("body") } +body { id493 } name "Cell_2" +move body { id493 } midpoint location 2.5199999999999996 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id494 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id495 = Id("body") } +subtract body { id494 } from body { id495 } +body { id495 } name "Cell_3" +move body { id495 } midpoint location 2.5199999999999996 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id496 = Id("body") } +body { id496 } name "Cell_4" +move body { id496 } midpoint location 3.7799999999999994 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id497 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id498 = Id("body") } +subtract body { id497 } from body { id498 } +cylinder height 500 radius 0.4572 +#{ id499 = Id("body") } +#{ id500 = Id("body") } +intersect body { id498 } { id499 } +#{ id501 = Id("body") } +#{id502 = ( id500 == id501 ) ? id499 : id501} +brick x 1.26 y 1.26 z 500 +#{ id503 = Id("body") } +intersect body { id502 } { id503 } +#{ id504 = Id("body") } +body { id504 } name "Cell_5" +move body { id504 } midpoint location 3.7799999999999994 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id505 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id506 = Id("body") } +subtract body { id505 } from body { id506 } +body { id506 } name "Cell_6" +move body { id506 } midpoint location 3.7799999999999994 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id507 = Id("body") } +body { id507 } name "Cell_1" +move body { id507 } midpoint location 5.040000000000001 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id508 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id509 = Id("body") } +subtract body { id508 } from body { id509 } +cylinder height 500 radius 0.4572 +#{ id510 = Id("body") } +#{ id511 = Id("body") } +intersect body { id509 } { id510 } +#{ id512 = Id("body") } +#{id513 = ( id511 == id512 ) ? id510 : id512} +brick x 1.26 y 1.26 z 500 +#{ id514 = Id("body") } +intersect body { id513 } { id514 } +#{ id515 = Id("body") } +body { id515 } name "Cell_2" +move body { id515 } midpoint location 5.040000000000001 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id516 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id517 = Id("body") } +subtract body { id516 } from body { id517 } +body { id517 } name "Cell_3" +move body { id517 } midpoint location 5.040000000000001 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id518 = Id("body") } +body { id518 } name "Cell_1" +move body { id518 } midpoint location 6.299999999999999 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id519 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id520 = Id("body") } +subtract body { id519 } from body { id520 } +cylinder height 500 radius 0.4572 +#{ id521 = Id("body") } +#{ id522 = Id("body") } +intersect body { id520 } { id521 } +#{ id523 = Id("body") } +#{id524 = ( id522 == id523 ) ? id521 : id523} +brick x 1.26 y 1.26 z 500 +#{ id525 = Id("body") } +intersect body { id524 } { id525 } +#{ id526 = Id("body") } +body { id526 } name "Cell_2" +move body { id526 } midpoint location 6.299999999999999 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id527 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id528 = Id("body") } +subtract body { id527 } from body { id528 } +body { id528 } name "Cell_3" +move body { id528 } midpoint location 6.299999999999999 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id529 = Id("body") } +body { id529 } name "Cell_1" +move body { id529 } midpoint location 7.5600000000000005 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id530 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id531 = Id("body") } +subtract body { id530 } from body { id531 } +cylinder height 500 radius 0.4572 +#{ id532 = Id("body") } +#{ id533 = Id("body") } +intersect body { id531 } { id532 } +#{ id534 = Id("body") } +#{id535 = ( id533 == id534 ) ? id532 : id534} +brick x 1.26 y 1.26 z 500 +#{ id536 = Id("body") } +intersect body { id535 } { id536 } +#{ id537 = Id("body") } +body { id537 } name "Cell_2" +move body { id537 } midpoint location 7.5600000000000005 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id538 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id539 = Id("body") } +subtract body { id538 } from body { id539 } +body { id539 } name "Cell_3" +move body { id539 } midpoint location 7.5600000000000005 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id540 = Id("body") } +body { id540 } name "Cell_1" +move body { id540 } midpoint location 8.819999999999999 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id541 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id542 = Id("body") } +subtract body { id541 } from body { id542 } +cylinder height 500 radius 0.4572 +#{ id543 = Id("body") } +#{ id544 = Id("body") } +intersect body { id542 } { id543 } +#{ id545 = Id("body") } +#{id546 = ( id544 == id545 ) ? id543 : id545} +brick x 1.26 y 1.26 z 500 +#{ id547 = Id("body") } +intersect body { id546 } { id547 } +#{ id548 = Id("body") } +body { id548 } name "Cell_2" +move body { id548 } midpoint location 8.819999999999999 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id549 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id550 = Id("body") } +subtract body { id549 } from body { id550 } +body { id550 } name "Cell_3" +move body { id550 } midpoint location 8.819999999999999 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id551 = Id("body") } +body { id551 } name "Cell_1" +move body { id551 } midpoint location 10.08 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id552 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id553 = Id("body") } +subtract body { id552 } from body { id553 } +cylinder height 500 radius 0.4572 +#{ id554 = Id("body") } +#{ id555 = Id("body") } +intersect body { id553 } { id554 } +#{ id556 = Id("body") } +#{id557 = ( id555 == id556 ) ? id554 : id556} +brick x 1.26 y 1.26 z 500 +#{ id558 = Id("body") } +intersect body { id557 } { id558 } +#{ id559 = Id("body") } +body { id559 } name "Cell_2" +move body { id559 } midpoint location 10.08 -7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id560 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id561 = Id("body") } +subtract body { id560 } from body { id561 } +body { id561 } name "Cell_3" +move body { id561 } midpoint location 10.08 -7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id562 = Id("body") } +body { id562 } name "Cell_1" +move body { id562 } midpoint location -10.08 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id563 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id564 = Id("body") } +subtract body { id563 } from body { id564 } +cylinder height 500 radius 0.4572 +#{ id565 = Id("body") } +#{ id566 = Id("body") } +intersect body { id564 } { id565 } +#{ id567 = Id("body") } +#{id568 = ( id566 == id567 ) ? id565 : id567} +brick x 1.26 y 1.26 z 500 +#{ id569 = Id("body") } +intersect body { id568 } { id569 } +#{ id570 = Id("body") } +body { id570 } name "Cell_2" +move body { id570 } midpoint location -10.08 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id571 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id572 = Id("body") } +subtract body { id571 } from body { id572 } +body { id572 } name "Cell_3" +move body { id572 } midpoint location -10.08 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id573 = Id("body") } +body { id573 } name "Cell_1" +move body { id573 } midpoint location -8.82 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id574 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id575 = Id("body") } +subtract body { id574 } from body { id575 } +cylinder height 500 radius 0.4572 +#{ id576 = Id("body") } +#{ id577 = Id("body") } +intersect body { id575 } { id576 } +#{ id578 = Id("body") } +#{id579 = ( id577 == id578 ) ? id576 : id578} +brick x 1.26 y 1.26 z 500 +#{ id580 = Id("body") } +intersect body { id579 } { id580 } +#{ id581 = Id("body") } +body { id581 } name "Cell_2" +move body { id581 } midpoint location -8.82 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id582 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id583 = Id("body") } +subtract body { id582 } from body { id583 } +body { id583 } name "Cell_3" +move body { id583 } midpoint location -8.82 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id584 = Id("body") } +body { id584 } name "Cell_1" +move body { id584 } midpoint location -7.5600000000000005 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id585 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id586 = Id("body") } +subtract body { id585 } from body { id586 } +cylinder height 500 radius 0.4572 +#{ id587 = Id("body") } +#{ id588 = Id("body") } +intersect body { id586 } { id587 } +#{ id589 = Id("body") } +#{id590 = ( id588 == id589 ) ? id587 : id589} +brick x 1.26 y 1.26 z 500 +#{ id591 = Id("body") } +intersect body { id590 } { id591 } +#{ id592 = Id("body") } +body { id592 } name "Cell_2" +move body { id592 } midpoint location -7.5600000000000005 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id593 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id594 = Id("body") } +subtract body { id593 } from body { id594 } +body { id594 } name "Cell_3" +move body { id594 } midpoint location -7.5600000000000005 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id595 = Id("body") } +body { id595 } name "Cell_4" +move body { id595 } midpoint location -6.3 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id596 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id597 = Id("body") } +subtract body { id596 } from body { id597 } +cylinder height 500 radius 0.4572 +#{ id598 = Id("body") } +#{ id599 = Id("body") } +intersect body { id597 } { id598 } +#{ id600 = Id("body") } +#{id601 = ( id599 == id600 ) ? id598 : id600} +brick x 1.26 y 1.26 z 500 +#{ id602 = Id("body") } +intersect body { id601 } { id602 } +#{ id603 = Id("body") } +body { id603 } name "Cell_5" +move body { id603 } midpoint location -6.3 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id604 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id605 = Id("body") } +subtract body { id604 } from body { id605 } +body { id605 } name "Cell_6" +move body { id605 } midpoint location -6.3 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id606 = Id("body") } +body { id606 } name "Cell_1" +move body { id606 } midpoint location -5.04 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id607 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id608 = Id("body") } +subtract body { id607 } from body { id608 } +cylinder height 500 radius 0.4572 +#{ id609 = Id("body") } +#{ id610 = Id("body") } +intersect body { id608 } { id609 } +#{ id611 = Id("body") } +#{id612 = ( id610 == id611 ) ? id609 : id611} +brick x 1.26 y 1.26 z 500 +#{ id613 = Id("body") } +intersect body { id612 } { id613 } +#{ id614 = Id("body") } +body { id614 } name "Cell_2" +move body { id614 } midpoint location -5.04 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id615 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id616 = Id("body") } +subtract body { id615 } from body { id616 } +body { id616 } name "Cell_3" +move body { id616 } midpoint location -5.04 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id617 = Id("body") } +body { id617 } name "Cell_1" +move body { id617 } midpoint location -3.7800000000000002 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id618 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id619 = Id("body") } +subtract body { id618 } from body { id619 } +cylinder height 500 radius 0.4572 +#{ id620 = Id("body") } +#{ id621 = Id("body") } +intersect body { id619 } { id620 } +#{ id622 = Id("body") } +#{id623 = ( id621 == id622 ) ? id620 : id622} +brick x 1.26 y 1.26 z 500 +#{ id624 = Id("body") } +intersect body { id623 } { id624 } +#{ id625 = Id("body") } +body { id625 } name "Cell_2" +move body { id625 } midpoint location -3.7800000000000002 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id626 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id627 = Id("body") } +subtract body { id626 } from body { id627 } +body { id627 } name "Cell_3" +move body { id627 } midpoint location -3.7800000000000002 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id628 = Id("body") } +body { id628 } name "Cell_1" +move body { id628 } midpoint location -2.5199999999999996 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id629 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id630 = Id("body") } +subtract body { id629 } from body { id630 } +cylinder height 500 radius 0.4572 +#{ id631 = Id("body") } +#{ id632 = Id("body") } +intersect body { id630 } { id631 } +#{ id633 = Id("body") } +#{id634 = ( id632 == id633 ) ? id631 : id633} +brick x 1.26 y 1.26 z 500 +#{ id635 = Id("body") } +intersect body { id634 } { id635 } +#{ id636 = Id("body") } +body { id636 } name "Cell_2" +move body { id636 } midpoint location -2.5199999999999996 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id637 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id638 = Id("body") } +subtract body { id637 } from body { id638 } +body { id638 } name "Cell_3" +move body { id638 } midpoint location -2.5199999999999996 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id639 = Id("body") } +body { id639 } name "Cell_1" +move body { id639 } midpoint location -1.2599999999999998 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id640 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id641 = Id("body") } +subtract body { id640 } from body { id641 } +cylinder height 500 radius 0.4572 +#{ id642 = Id("body") } +#{ id643 = Id("body") } +intersect body { id641 } { id642 } +#{ id644 = Id("body") } +#{id645 = ( id643 == id644 ) ? id642 : id644} +brick x 1.26 y 1.26 z 500 +#{ id646 = Id("body") } +intersect body { id645 } { id646 } +#{ id647 = Id("body") } +body { id647 } name "Cell_2" +move body { id647 } midpoint location -1.2599999999999998 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id648 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id649 = Id("body") } +subtract body { id648 } from body { id649 } +body { id649 } name "Cell_3" +move body { id649 } midpoint location -1.2599999999999998 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id650 = Id("body") } +body { id650 } name "Cell_1" +move body { id650 } midpoint location 0.0 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id651 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id652 = Id("body") } +subtract body { id651 } from body { id652 } +cylinder height 500 radius 0.4572 +#{ id653 = Id("body") } +#{ id654 = Id("body") } +intersect body { id652 } { id653 } +#{ id655 = Id("body") } +#{id656 = ( id654 == id655 ) ? id653 : id655} +brick x 1.26 y 1.26 z 500 +#{ id657 = Id("body") } +intersect body { id656 } { id657 } +#{ id658 = Id("body") } +body { id658 } name "Cell_2" +move body { id658 } midpoint location 0.0 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id659 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id660 = Id("body") } +subtract body { id659 } from body { id660 } +body { id660 } name "Cell_3" +move body { id660 } midpoint location 0.0 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id661 = Id("body") } +body { id661 } name "Cell_1" +move body { id661 } midpoint location 1.2599999999999998 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id662 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id663 = Id("body") } +subtract body { id662 } from body { id663 } +cylinder height 500 radius 0.4572 +#{ id664 = Id("body") } +#{ id665 = Id("body") } +intersect body { id663 } { id664 } +#{ id666 = Id("body") } +#{id667 = ( id665 == id666 ) ? id664 : id666} +brick x 1.26 y 1.26 z 500 +#{ id668 = Id("body") } +intersect body { id667 } { id668 } +#{ id669 = Id("body") } +body { id669 } name "Cell_2" +move body { id669 } midpoint location 1.2599999999999998 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id670 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id671 = Id("body") } +subtract body { id670 } from body { id671 } +body { id671 } name "Cell_3" +move body { id671 } midpoint location 1.2599999999999998 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id672 = Id("body") } +body { id672 } name "Cell_1" +move body { id672 } midpoint location 2.5199999999999996 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id673 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id674 = Id("body") } +subtract body { id673 } from body { id674 } +cylinder height 500 radius 0.4572 +#{ id675 = Id("body") } +#{ id676 = Id("body") } +intersect body { id674 } { id675 } +#{ id677 = Id("body") } +#{id678 = ( id676 == id677 ) ? id675 : id677} +brick x 1.26 y 1.26 z 500 +#{ id679 = Id("body") } +intersect body { id678 } { id679 } +#{ id680 = Id("body") } +body { id680 } name "Cell_2" +move body { id680 } midpoint location 2.5199999999999996 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id681 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id682 = Id("body") } +subtract body { id681 } from body { id682 } +body { id682 } name "Cell_3" +move body { id682 } midpoint location 2.5199999999999996 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id683 = Id("body") } +body { id683 } name "Cell_1" +move body { id683 } midpoint location 3.7799999999999994 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id684 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id685 = Id("body") } +subtract body { id684 } from body { id685 } +cylinder height 500 radius 0.4572 +#{ id686 = Id("body") } +#{ id687 = Id("body") } +intersect body { id685 } { id686 } +#{ id688 = Id("body") } +#{id689 = ( id687 == id688 ) ? id686 : id688} +brick x 1.26 y 1.26 z 500 +#{ id690 = Id("body") } +intersect body { id689 } { id690 } +#{ id691 = Id("body") } +body { id691 } name "Cell_2" +move body { id691 } midpoint location 3.7799999999999994 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id692 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id693 = Id("body") } +subtract body { id692 } from body { id693 } +body { id693 } name "Cell_3" +move body { id693 } midpoint location 3.7799999999999994 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id694 = Id("body") } +body { id694 } name "Cell_1" +move body { id694 } midpoint location 5.040000000000001 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id695 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id696 = Id("body") } +subtract body { id695 } from body { id696 } +cylinder height 500 radius 0.4572 +#{ id697 = Id("body") } +#{ id698 = Id("body") } +intersect body { id696 } { id697 } +#{ id699 = Id("body") } +#{id700 = ( id698 == id699 ) ? id697 : id699} +brick x 1.26 y 1.26 z 500 +#{ id701 = Id("body") } +intersect body { id700 } { id701 } +#{ id702 = Id("body") } +body { id702 } name "Cell_2" +move body { id702 } midpoint location 5.040000000000001 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id703 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id704 = Id("body") } +subtract body { id703 } from body { id704 } +body { id704 } name "Cell_3" +move body { id704 } midpoint location 5.040000000000001 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id705 = Id("body") } +body { id705 } name "Cell_4" +move body { id705 } midpoint location 6.299999999999999 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id706 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id707 = Id("body") } +subtract body { id706 } from body { id707 } +cylinder height 500 radius 0.4572 +#{ id708 = Id("body") } +#{ id709 = Id("body") } +intersect body { id707 } { id708 } +#{ id710 = Id("body") } +#{id711 = ( id709 == id710 ) ? id708 : id710} +brick x 1.26 y 1.26 z 500 +#{ id712 = Id("body") } +intersect body { id711 } { id712 } +#{ id713 = Id("body") } +body { id713 } name "Cell_5" +move body { id713 } midpoint location 6.299999999999999 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id714 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id715 = Id("body") } +subtract body { id714 } from body { id715 } +body { id715 } name "Cell_6" +move body { id715 } midpoint location 6.299999999999999 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id716 = Id("body") } +body { id716 } name "Cell_1" +move body { id716 } midpoint location 7.5600000000000005 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id717 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id718 = Id("body") } +subtract body { id717 } from body { id718 } +cylinder height 500 radius 0.4572 +#{ id719 = Id("body") } +#{ id720 = Id("body") } +intersect body { id718 } { id719 } +#{ id721 = Id("body") } +#{id722 = ( id720 == id721 ) ? id719 : id721} +brick x 1.26 y 1.26 z 500 +#{ id723 = Id("body") } +intersect body { id722 } { id723 } +#{ id724 = Id("body") } +body { id724 } name "Cell_2" +move body { id724 } midpoint location 7.5600000000000005 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id725 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id726 = Id("body") } +subtract body { id725 } from body { id726 } +body { id726 } name "Cell_3" +move body { id726 } midpoint location 7.5600000000000005 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id727 = Id("body") } +body { id727 } name "Cell_1" +move body { id727 } midpoint location 8.819999999999999 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id728 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id729 = Id("body") } +subtract body { id728 } from body { id729 } +cylinder height 500 radius 0.4572 +#{ id730 = Id("body") } +#{ id731 = Id("body") } +intersect body { id729 } { id730 } +#{ id732 = Id("body") } +#{id733 = ( id731 == id732 ) ? id730 : id732} +brick x 1.26 y 1.26 z 500 +#{ id734 = Id("body") } +intersect body { id733 } { id734 } +#{ id735 = Id("body") } +body { id735 } name "Cell_2" +move body { id735 } midpoint location 8.819999999999999 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id736 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id737 = Id("body") } +subtract body { id736 } from body { id737 } +body { id737 } name "Cell_3" +move body { id737 } midpoint location 8.819999999999999 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id738 = Id("body") } +body { id738 } name "Cell_1" +move body { id738 } midpoint location 10.08 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id739 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id740 = Id("body") } +subtract body { id739 } from body { id740 } +cylinder height 500 radius 0.4572 +#{ id741 = Id("body") } +#{ id742 = Id("body") } +intersect body { id740 } { id741 } +#{ id743 = Id("body") } +#{id744 = ( id742 == id743 ) ? id741 : id743} +brick x 1.26 y 1.26 z 500 +#{ id745 = Id("body") } +intersect body { id744 } { id745 } +#{ id746 = Id("body") } +body { id746 } name "Cell_2" +move body { id746 } midpoint location 10.08 -6.3 0 except z +cylinder height 500 radius 0.4572 +#{ id747 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id748 = Id("body") } +subtract body { id747 } from body { id748 } +body { id748 } name "Cell_3" +move body { id748 } midpoint location 10.08 -6.3 0 except z +cylinder height 500 radius 0.39218 +#{ id749 = Id("body") } +body { id749 } name "Cell_1" +move body { id749 } midpoint location -10.08 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id750 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id751 = Id("body") } +subtract body { id750 } from body { id751 } +cylinder height 500 radius 0.4572 +#{ id752 = Id("body") } +#{ id753 = Id("body") } +intersect body { id751 } { id752 } +#{ id754 = Id("body") } +#{id755 = ( id753 == id754 ) ? id752 : id754} +brick x 1.26 y 1.26 z 500 +#{ id756 = Id("body") } +intersect body { id755 } { id756 } +#{ id757 = Id("body") } +body { id757 } name "Cell_2" +move body { id757 } midpoint location -10.08 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id758 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id759 = Id("body") } +subtract body { id758 } from body { id759 } +body { id759 } name "Cell_3" +move body { id759 } midpoint location -10.08 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id760 = Id("body") } +body { id760 } name "Cell_1" +move body { id760 } midpoint location -8.82 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id761 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id762 = Id("body") } +subtract body { id761 } from body { id762 } +cylinder height 500 radius 0.4572 +#{ id763 = Id("body") } +#{ id764 = Id("body") } +intersect body { id762 } { id763 } +#{ id765 = Id("body") } +#{id766 = ( id764 == id765 ) ? id763 : id765} +brick x 1.26 y 1.26 z 500 +#{ id767 = Id("body") } +intersect body { id766 } { id767 } +#{ id768 = Id("body") } +body { id768 } name "Cell_2" +move body { id768 } midpoint location -8.82 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id769 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id770 = Id("body") } +subtract body { id769 } from body { id770 } +body { id770 } name "Cell_3" +move body { id770 } midpoint location -8.82 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id771 = Id("body") } +body { id771 } name "Cell_1" +move body { id771 } midpoint location -7.5600000000000005 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id772 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id773 = Id("body") } +subtract body { id772 } from body { id773 } +cylinder height 500 radius 0.4572 +#{ id774 = Id("body") } +#{ id775 = Id("body") } +intersect body { id773 } { id774 } +#{ id776 = Id("body") } +#{id777 = ( id775 == id776 ) ? id774 : id776} +brick x 1.26 y 1.26 z 500 +#{ id778 = Id("body") } +intersect body { id777 } { id778 } +#{ id779 = Id("body") } +body { id779 } name "Cell_2" +move body { id779 } midpoint location -7.5600000000000005 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id780 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id781 = Id("body") } +subtract body { id780 } from body { id781 } +body { id781 } name "Cell_3" +move body { id781 } midpoint location -7.5600000000000005 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id782 = Id("body") } +body { id782 } name "Cell_1" +move body { id782 } midpoint location -6.3 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id783 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id784 = Id("body") } +subtract body { id783 } from body { id784 } +cylinder height 500 radius 0.4572 +#{ id785 = Id("body") } +#{ id786 = Id("body") } +intersect body { id784 } { id785 } +#{ id787 = Id("body") } +#{id788 = ( id786 == id787 ) ? id785 : id787} +brick x 1.26 y 1.26 z 500 +#{ id789 = Id("body") } +intersect body { id788 } { id789 } +#{ id790 = Id("body") } +body { id790 } name "Cell_2" +move body { id790 } midpoint location -6.3 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id791 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id792 = Id("body") } +subtract body { id791 } from body { id792 } +body { id792 } name "Cell_3" +move body { id792 } midpoint location -6.3 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id793 = Id("body") } +body { id793 } name "Cell_1" +move body { id793 } midpoint location -5.04 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id794 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id795 = Id("body") } +subtract body { id794 } from body { id795 } +cylinder height 500 radius 0.4572 +#{ id796 = Id("body") } +#{ id797 = Id("body") } +intersect body { id795 } { id796 } +#{ id798 = Id("body") } +#{id799 = ( id797 == id798 ) ? id796 : id798} +brick x 1.26 y 1.26 z 500 +#{ id800 = Id("body") } +intersect body { id799 } { id800 } +#{ id801 = Id("body") } +body { id801 } name "Cell_2" +move body { id801 } midpoint location -5.04 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id802 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id803 = Id("body") } +subtract body { id802 } from body { id803 } +body { id803 } name "Cell_3" +move body { id803 } midpoint location -5.04 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id804 = Id("body") } +body { id804 } name "Cell_1" +move body { id804 } midpoint location -3.7800000000000002 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id805 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id806 = Id("body") } +subtract body { id805 } from body { id806 } +cylinder height 500 radius 0.4572 +#{ id807 = Id("body") } +#{ id808 = Id("body") } +intersect body { id806 } { id807 } +#{ id809 = Id("body") } +#{id810 = ( id808 == id809 ) ? id807 : id809} +brick x 1.26 y 1.26 z 500 +#{ id811 = Id("body") } +intersect body { id810 } { id811 } +#{ id812 = Id("body") } +body { id812 } name "Cell_2" +move body { id812 } midpoint location -3.7800000000000002 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id813 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id814 = Id("body") } +subtract body { id813 } from body { id814 } +body { id814 } name "Cell_3" +move body { id814 } midpoint location -3.7800000000000002 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id815 = Id("body") } +body { id815 } name "Cell_1" +move body { id815 } midpoint location -2.5199999999999996 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id816 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id817 = Id("body") } +subtract body { id816 } from body { id817 } +cylinder height 500 radius 0.4572 +#{ id818 = Id("body") } +#{ id819 = Id("body") } +intersect body { id817 } { id818 } +#{ id820 = Id("body") } +#{id821 = ( id819 == id820 ) ? id818 : id820} +brick x 1.26 y 1.26 z 500 +#{ id822 = Id("body") } +intersect body { id821 } { id822 } +#{ id823 = Id("body") } +body { id823 } name "Cell_2" +move body { id823 } midpoint location -2.5199999999999996 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id824 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id825 = Id("body") } +subtract body { id824 } from body { id825 } +body { id825 } name "Cell_3" +move body { id825 } midpoint location -2.5199999999999996 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id826 = Id("body") } +body { id826 } name "Cell_1" +move body { id826 } midpoint location -1.2599999999999998 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id827 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id828 = Id("body") } +subtract body { id827 } from body { id828 } +cylinder height 500 radius 0.4572 +#{ id829 = Id("body") } +#{ id830 = Id("body") } +intersect body { id828 } { id829 } +#{ id831 = Id("body") } +#{id832 = ( id830 == id831 ) ? id829 : id831} +brick x 1.26 y 1.26 z 500 +#{ id833 = Id("body") } +intersect body { id832 } { id833 } +#{ id834 = Id("body") } +body { id834 } name "Cell_2" +move body { id834 } midpoint location -1.2599999999999998 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id835 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id836 = Id("body") } +subtract body { id835 } from body { id836 } +body { id836 } name "Cell_3" +move body { id836 } midpoint location -1.2599999999999998 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id837 = Id("body") } +body { id837 } name "Cell_1" +move body { id837 } midpoint location 0.0 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id838 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id839 = Id("body") } +subtract body { id838 } from body { id839 } +cylinder height 500 radius 0.4572 +#{ id840 = Id("body") } +#{ id841 = Id("body") } +intersect body { id839 } { id840 } +#{ id842 = Id("body") } +#{id843 = ( id841 == id842 ) ? id840 : id842} +brick x 1.26 y 1.26 z 500 +#{ id844 = Id("body") } +intersect body { id843 } { id844 } +#{ id845 = Id("body") } +body { id845 } name "Cell_2" +move body { id845 } midpoint location 0.0 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id846 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id847 = Id("body") } +subtract body { id846 } from body { id847 } +body { id847 } name "Cell_3" +move body { id847 } midpoint location 0.0 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id848 = Id("body") } +body { id848 } name "Cell_1" +move body { id848 } midpoint location 1.2599999999999998 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id849 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id850 = Id("body") } +subtract body { id849 } from body { id850 } +cylinder height 500 radius 0.4572 +#{ id851 = Id("body") } +#{ id852 = Id("body") } +intersect body { id850 } { id851 } +#{ id853 = Id("body") } +#{id854 = ( id852 == id853 ) ? id851 : id853} +brick x 1.26 y 1.26 z 500 +#{ id855 = Id("body") } +intersect body { id854 } { id855 } +#{ id856 = Id("body") } +body { id856 } name "Cell_2" +move body { id856 } midpoint location 1.2599999999999998 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id857 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id858 = Id("body") } +subtract body { id857 } from body { id858 } +body { id858 } name "Cell_3" +move body { id858 } midpoint location 1.2599999999999998 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id859 = Id("body") } +body { id859 } name "Cell_1" +move body { id859 } midpoint location 2.5199999999999996 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id860 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id861 = Id("body") } +subtract body { id860 } from body { id861 } +cylinder height 500 radius 0.4572 +#{ id862 = Id("body") } +#{ id863 = Id("body") } +intersect body { id861 } { id862 } +#{ id864 = Id("body") } +#{id865 = ( id863 == id864 ) ? id862 : id864} +brick x 1.26 y 1.26 z 500 +#{ id866 = Id("body") } +intersect body { id865 } { id866 } +#{ id867 = Id("body") } +body { id867 } name "Cell_2" +move body { id867 } midpoint location 2.5199999999999996 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id868 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id869 = Id("body") } +subtract body { id868 } from body { id869 } +body { id869 } name "Cell_3" +move body { id869 } midpoint location 2.5199999999999996 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id870 = Id("body") } +body { id870 } name "Cell_1" +move body { id870 } midpoint location 3.7799999999999994 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id871 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id872 = Id("body") } +subtract body { id871 } from body { id872 } +cylinder height 500 radius 0.4572 +#{ id873 = Id("body") } +#{ id874 = Id("body") } +intersect body { id872 } { id873 } +#{ id875 = Id("body") } +#{id876 = ( id874 == id875 ) ? id873 : id875} +brick x 1.26 y 1.26 z 500 +#{ id877 = Id("body") } +intersect body { id876 } { id877 } +#{ id878 = Id("body") } +body { id878 } name "Cell_2" +move body { id878 } midpoint location 3.7799999999999994 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id879 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id880 = Id("body") } +subtract body { id879 } from body { id880 } +body { id880 } name "Cell_3" +move body { id880 } midpoint location 3.7799999999999994 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id881 = Id("body") } +body { id881 } name "Cell_1" +move body { id881 } midpoint location 5.040000000000001 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id882 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id883 = Id("body") } +subtract body { id882 } from body { id883 } +cylinder height 500 radius 0.4572 +#{ id884 = Id("body") } +#{ id885 = Id("body") } +intersect body { id883 } { id884 } +#{ id886 = Id("body") } +#{id887 = ( id885 == id886 ) ? id884 : id886} +brick x 1.26 y 1.26 z 500 +#{ id888 = Id("body") } +intersect body { id887 } { id888 } +#{ id889 = Id("body") } +body { id889 } name "Cell_2" +move body { id889 } midpoint location 5.040000000000001 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id890 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id891 = Id("body") } +subtract body { id890 } from body { id891 } +body { id891 } name "Cell_3" +move body { id891 } midpoint location 5.040000000000001 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id892 = Id("body") } +body { id892 } name "Cell_1" +move body { id892 } midpoint location 6.299999999999999 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id893 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id894 = Id("body") } +subtract body { id893 } from body { id894 } +cylinder height 500 radius 0.4572 +#{ id895 = Id("body") } +#{ id896 = Id("body") } +intersect body { id894 } { id895 } +#{ id897 = Id("body") } +#{id898 = ( id896 == id897 ) ? id895 : id897} +brick x 1.26 y 1.26 z 500 +#{ id899 = Id("body") } +intersect body { id898 } { id899 } +#{ id900 = Id("body") } +body { id900 } name "Cell_2" +move body { id900 } midpoint location 6.299999999999999 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id901 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id902 = Id("body") } +subtract body { id901 } from body { id902 } +body { id902 } name "Cell_3" +move body { id902 } midpoint location 6.299999999999999 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id903 = Id("body") } +body { id903 } name "Cell_1" +move body { id903 } midpoint location 7.5600000000000005 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id904 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id905 = Id("body") } +subtract body { id904 } from body { id905 } +cylinder height 500 radius 0.4572 +#{ id906 = Id("body") } +#{ id907 = Id("body") } +intersect body { id905 } { id906 } +#{ id908 = Id("body") } +#{id909 = ( id907 == id908 ) ? id906 : id908} +brick x 1.26 y 1.26 z 500 +#{ id910 = Id("body") } +intersect body { id909 } { id910 } +#{ id911 = Id("body") } +body { id911 } name "Cell_2" +move body { id911 } midpoint location 7.5600000000000005 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id912 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id913 = Id("body") } +subtract body { id912 } from body { id913 } +body { id913 } name "Cell_3" +move body { id913 } midpoint location 7.5600000000000005 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id914 = Id("body") } +body { id914 } name "Cell_1" +move body { id914 } midpoint location 8.819999999999999 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id915 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id916 = Id("body") } +subtract body { id915 } from body { id916 } +cylinder height 500 radius 0.4572 +#{ id917 = Id("body") } +#{ id918 = Id("body") } +intersect body { id916 } { id917 } +#{ id919 = Id("body") } +#{id920 = ( id918 == id919 ) ? id917 : id919} +brick x 1.26 y 1.26 z 500 +#{ id921 = Id("body") } +intersect body { id920 } { id921 } +#{ id922 = Id("body") } +body { id922 } name "Cell_2" +move body { id922 } midpoint location 8.819999999999999 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id923 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id924 = Id("body") } +subtract body { id923 } from body { id924 } +body { id924 } name "Cell_3" +move body { id924 } midpoint location 8.819999999999999 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id925 = Id("body") } +body { id925 } name "Cell_1" +move body { id925 } midpoint location 10.08 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id926 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id927 = Id("body") } +subtract body { id926 } from body { id927 } +cylinder height 500 radius 0.4572 +#{ id928 = Id("body") } +#{ id929 = Id("body") } +intersect body { id927 } { id928 } +#{ id930 = Id("body") } +#{id931 = ( id929 == id930 ) ? id928 : id930} +brick x 1.26 y 1.26 z 500 +#{ id932 = Id("body") } +intersect body { id931 } { id932 } +#{ id933 = Id("body") } +body { id933 } name "Cell_2" +move body { id933 } midpoint location 10.08 -5.04 0 except z +cylinder height 500 radius 0.4572 +#{ id934 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id935 = Id("body") } +subtract body { id934 } from body { id935 } +body { id935 } name "Cell_3" +move body { id935 } midpoint location 10.08 -5.04 0 except z +cylinder height 500 radius 0.39218 +#{ id936 = Id("body") } +body { id936 } name "Cell_1" +move body { id936 } midpoint location -10.08 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id937 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id938 = Id("body") } +subtract body { id937 } from body { id938 } +cylinder height 500 radius 0.4572 +#{ id939 = Id("body") } +#{ id940 = Id("body") } +intersect body { id938 } { id939 } +#{ id941 = Id("body") } +#{id942 = ( id940 == id941 ) ? id939 : id941} +brick x 1.26 y 1.26 z 500 +#{ id943 = Id("body") } +intersect body { id942 } { id943 } +#{ id944 = Id("body") } +body { id944 } name "Cell_2" +move body { id944 } midpoint location -10.08 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id945 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id946 = Id("body") } +subtract body { id945 } from body { id946 } +body { id946 } name "Cell_3" +move body { id946 } midpoint location -10.08 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id947 = Id("body") } +body { id947 } name "Cell_1" +move body { id947 } midpoint location -8.82 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id948 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id949 = Id("body") } +subtract body { id948 } from body { id949 } +cylinder height 500 radius 0.4572 +#{ id950 = Id("body") } +#{ id951 = Id("body") } +intersect body { id949 } { id950 } +#{ id952 = Id("body") } +#{id953 = ( id951 == id952 ) ? id950 : id952} +brick x 1.26 y 1.26 z 500 +#{ id954 = Id("body") } +intersect body { id953 } { id954 } +#{ id955 = Id("body") } +body { id955 } name "Cell_2" +move body { id955 } midpoint location -8.82 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id956 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id957 = Id("body") } +subtract body { id956 } from body { id957 } +body { id957 } name "Cell_3" +move body { id957 } midpoint location -8.82 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id958 = Id("body") } +body { id958 } name "Cell_4" +move body { id958 } midpoint location -7.5600000000000005 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id959 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id960 = Id("body") } +subtract body { id959 } from body { id960 } +cylinder height 500 radius 0.4572 +#{ id961 = Id("body") } +#{ id962 = Id("body") } +intersect body { id960 } { id961 } +#{ id963 = Id("body") } +#{id964 = ( id962 == id963 ) ? id961 : id963} +brick x 1.26 y 1.26 z 500 +#{ id965 = Id("body") } +intersect body { id964 } { id965 } +#{ id966 = Id("body") } +body { id966 } name "Cell_5" +move body { id966 } midpoint location -7.5600000000000005 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id967 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id968 = Id("body") } +subtract body { id967 } from body { id968 } +body { id968 } name "Cell_6" +move body { id968 } midpoint location -7.5600000000000005 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id969 = Id("body") } +body { id969 } name "Cell_1" +move body { id969 } midpoint location -6.3 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id970 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id971 = Id("body") } +subtract body { id970 } from body { id971 } +cylinder height 500 radius 0.4572 +#{ id972 = Id("body") } +#{ id973 = Id("body") } +intersect body { id971 } { id972 } +#{ id974 = Id("body") } +#{id975 = ( id973 == id974 ) ? id972 : id974} +brick x 1.26 y 1.26 z 500 +#{ id976 = Id("body") } +intersect body { id975 } { id976 } +#{ id977 = Id("body") } +body { id977 } name "Cell_2" +move body { id977 } midpoint location -6.3 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id978 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id979 = Id("body") } +subtract body { id978 } from body { id979 } +body { id979 } name "Cell_3" +move body { id979 } midpoint location -6.3 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id980 = Id("body") } +body { id980 } name "Cell_1" +move body { id980 } midpoint location -5.04 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id981 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id982 = Id("body") } +subtract body { id981 } from body { id982 } +cylinder height 500 radius 0.4572 +#{ id983 = Id("body") } +#{ id984 = Id("body") } +intersect body { id982 } { id983 } +#{ id985 = Id("body") } +#{id986 = ( id984 == id985 ) ? id983 : id985} +brick x 1.26 y 1.26 z 500 +#{ id987 = Id("body") } +intersect body { id986 } { id987 } +#{ id988 = Id("body") } +body { id988 } name "Cell_2" +move body { id988 } midpoint location -5.04 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id989 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id990 = Id("body") } +subtract body { id989 } from body { id990 } +body { id990 } name "Cell_3" +move body { id990 } midpoint location -5.04 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id991 = Id("body") } +body { id991 } name "Cell_4" +move body { id991 } midpoint location -3.7800000000000002 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id992 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id993 = Id("body") } +subtract body { id992 } from body { id993 } +cylinder height 500 radius 0.4572 +#{ id994 = Id("body") } +#{ id995 = Id("body") } +intersect body { id993 } { id994 } +#{ id996 = Id("body") } +#{id997 = ( id995 == id996 ) ? id994 : id996} +brick x 1.26 y 1.26 z 500 +#{ id998 = Id("body") } +intersect body { id997 } { id998 } +#{ id999 = Id("body") } +body { id999 } name "Cell_5" +move body { id999 } midpoint location -3.7800000000000002 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1000 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1001 = Id("body") } +subtract body { id1000 } from body { id1001 } +body { id1001 } name "Cell_6" +move body { id1001 } midpoint location -3.7800000000000002 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1002 = Id("body") } +body { id1002 } name "Cell_1" +move body { id1002 } midpoint location -2.5199999999999996 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1003 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1004 = Id("body") } +subtract body { id1003 } from body { id1004 } +cylinder height 500 radius 0.4572 +#{ id1005 = Id("body") } +#{ id1006 = Id("body") } +intersect body { id1004 } { id1005 } +#{ id1007 = Id("body") } +#{id1008 = ( id1006 == id1007 ) ? id1005 : id1007} +brick x 1.26 y 1.26 z 500 +#{ id1009 = Id("body") } +intersect body { id1008 } { id1009 } +#{ id1010 = Id("body") } +body { id1010 } name "Cell_2" +move body { id1010 } midpoint location -2.5199999999999996 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1011 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1012 = Id("body") } +subtract body { id1011 } from body { id1012 } +body { id1012 } name "Cell_3" +move body { id1012 } midpoint location -2.5199999999999996 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1013 = Id("body") } +body { id1013 } name "Cell_1" +move body { id1013 } midpoint location -1.2599999999999998 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1014 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1015 = Id("body") } +subtract body { id1014 } from body { id1015 } +cylinder height 500 radius 0.4572 +#{ id1016 = Id("body") } +#{ id1017 = Id("body") } +intersect body { id1015 } { id1016 } +#{ id1018 = Id("body") } +#{id1019 = ( id1017 == id1018 ) ? id1016 : id1018} +brick x 1.26 y 1.26 z 500 +#{ id1020 = Id("body") } +intersect body { id1019 } { id1020 } +#{ id1021 = Id("body") } +body { id1021 } name "Cell_2" +move body { id1021 } midpoint location -1.2599999999999998 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1022 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1023 = Id("body") } +subtract body { id1022 } from body { id1023 } +body { id1023 } name "Cell_3" +move body { id1023 } midpoint location -1.2599999999999998 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1024 = Id("body") } +body { id1024 } name "Cell_4" +move body { id1024 } midpoint location 0.0 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1025 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1026 = Id("body") } +subtract body { id1025 } from body { id1026 } +cylinder height 500 radius 0.4572 +#{ id1027 = Id("body") } +#{ id1028 = Id("body") } +intersect body { id1026 } { id1027 } +#{ id1029 = Id("body") } +#{id1030 = ( id1028 == id1029 ) ? id1027 : id1029} +brick x 1.26 y 1.26 z 500 +#{ id1031 = Id("body") } +intersect body { id1030 } { id1031 } +#{ id1032 = Id("body") } +body { id1032 } name "Cell_5" +move body { id1032 } midpoint location 0.0 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1033 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1034 = Id("body") } +subtract body { id1033 } from body { id1034 } +body { id1034 } name "Cell_6" +move body { id1034 } midpoint location 0.0 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1035 = Id("body") } +body { id1035 } name "Cell_1" +move body { id1035 } midpoint location 1.2599999999999998 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1036 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1037 = Id("body") } +subtract body { id1036 } from body { id1037 } +cylinder height 500 radius 0.4572 +#{ id1038 = Id("body") } +#{ id1039 = Id("body") } +intersect body { id1037 } { id1038 } +#{ id1040 = Id("body") } +#{id1041 = ( id1039 == id1040 ) ? id1038 : id1040} +brick x 1.26 y 1.26 z 500 +#{ id1042 = Id("body") } +intersect body { id1041 } { id1042 } +#{ id1043 = Id("body") } +body { id1043 } name "Cell_2" +move body { id1043 } midpoint location 1.2599999999999998 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1044 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1045 = Id("body") } +subtract body { id1044 } from body { id1045 } +body { id1045 } name "Cell_3" +move body { id1045 } midpoint location 1.2599999999999998 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1046 = Id("body") } +body { id1046 } name "Cell_1" +move body { id1046 } midpoint location 2.5199999999999996 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1047 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1048 = Id("body") } +subtract body { id1047 } from body { id1048 } +cylinder height 500 radius 0.4572 +#{ id1049 = Id("body") } +#{ id1050 = Id("body") } +intersect body { id1048 } { id1049 } +#{ id1051 = Id("body") } +#{id1052 = ( id1050 == id1051 ) ? id1049 : id1051} +brick x 1.26 y 1.26 z 500 +#{ id1053 = Id("body") } +intersect body { id1052 } { id1053 } +#{ id1054 = Id("body") } +body { id1054 } name "Cell_2" +move body { id1054 } midpoint location 2.5199999999999996 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1055 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1056 = Id("body") } +subtract body { id1055 } from body { id1056 } +body { id1056 } name "Cell_3" +move body { id1056 } midpoint location 2.5199999999999996 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1057 = Id("body") } +body { id1057 } name "Cell_4" +move body { id1057 } midpoint location 3.7799999999999994 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1058 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1059 = Id("body") } +subtract body { id1058 } from body { id1059 } +cylinder height 500 radius 0.4572 +#{ id1060 = Id("body") } +#{ id1061 = Id("body") } +intersect body { id1059 } { id1060 } +#{ id1062 = Id("body") } +#{id1063 = ( id1061 == id1062 ) ? id1060 : id1062} +brick x 1.26 y 1.26 z 500 +#{ id1064 = Id("body") } +intersect body { id1063 } { id1064 } +#{ id1065 = Id("body") } +body { id1065 } name "Cell_5" +move body { id1065 } midpoint location 3.7799999999999994 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1066 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1067 = Id("body") } +subtract body { id1066 } from body { id1067 } +body { id1067 } name "Cell_6" +move body { id1067 } midpoint location 3.7799999999999994 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1068 = Id("body") } +body { id1068 } name "Cell_1" +move body { id1068 } midpoint location 5.040000000000001 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1069 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1070 = Id("body") } +subtract body { id1069 } from body { id1070 } +cylinder height 500 radius 0.4572 +#{ id1071 = Id("body") } +#{ id1072 = Id("body") } +intersect body { id1070 } { id1071 } +#{ id1073 = Id("body") } +#{id1074 = ( id1072 == id1073 ) ? id1071 : id1073} +brick x 1.26 y 1.26 z 500 +#{ id1075 = Id("body") } +intersect body { id1074 } { id1075 } +#{ id1076 = Id("body") } +body { id1076 } name "Cell_2" +move body { id1076 } midpoint location 5.040000000000001 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1077 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1078 = Id("body") } +subtract body { id1077 } from body { id1078 } +body { id1078 } name "Cell_3" +move body { id1078 } midpoint location 5.040000000000001 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1079 = Id("body") } +body { id1079 } name "Cell_1" +move body { id1079 } midpoint location 6.299999999999999 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1080 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1081 = Id("body") } +subtract body { id1080 } from body { id1081 } +cylinder height 500 radius 0.4572 +#{ id1082 = Id("body") } +#{ id1083 = Id("body") } +intersect body { id1081 } { id1082 } +#{ id1084 = Id("body") } +#{id1085 = ( id1083 == id1084 ) ? id1082 : id1084} +brick x 1.26 y 1.26 z 500 +#{ id1086 = Id("body") } +intersect body { id1085 } { id1086 } +#{ id1087 = Id("body") } +body { id1087 } name "Cell_2" +move body { id1087 } midpoint location 6.299999999999999 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1088 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1089 = Id("body") } +subtract body { id1088 } from body { id1089 } +body { id1089 } name "Cell_3" +move body { id1089 } midpoint location 6.299999999999999 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1090 = Id("body") } +body { id1090 } name "Cell_4" +move body { id1090 } midpoint location 7.5600000000000005 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1091 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1092 = Id("body") } +subtract body { id1091 } from body { id1092 } +cylinder height 500 radius 0.4572 +#{ id1093 = Id("body") } +#{ id1094 = Id("body") } +intersect body { id1092 } { id1093 } +#{ id1095 = Id("body") } +#{id1096 = ( id1094 == id1095 ) ? id1093 : id1095} +brick x 1.26 y 1.26 z 500 +#{ id1097 = Id("body") } +intersect body { id1096 } { id1097 } +#{ id1098 = Id("body") } +body { id1098 } name "Cell_5" +move body { id1098 } midpoint location 7.5600000000000005 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1099 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1100 = Id("body") } +subtract body { id1099 } from body { id1100 } +body { id1100 } name "Cell_6" +move body { id1100 } midpoint location 7.5600000000000005 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1101 = Id("body") } +body { id1101 } name "Cell_1" +move body { id1101 } midpoint location 8.819999999999999 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1102 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1103 = Id("body") } +subtract body { id1102 } from body { id1103 } +cylinder height 500 radius 0.4572 +#{ id1104 = Id("body") } +#{ id1105 = Id("body") } +intersect body { id1103 } { id1104 } +#{ id1106 = Id("body") } +#{id1107 = ( id1105 == id1106 ) ? id1104 : id1106} +brick x 1.26 y 1.26 z 500 +#{ id1108 = Id("body") } +intersect body { id1107 } { id1108 } +#{ id1109 = Id("body") } +body { id1109 } name "Cell_2" +move body { id1109 } midpoint location 8.819999999999999 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1110 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1111 = Id("body") } +subtract body { id1110 } from body { id1111 } +body { id1111 } name "Cell_3" +move body { id1111 } midpoint location 8.819999999999999 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1112 = Id("body") } +body { id1112 } name "Cell_1" +move body { id1112 } midpoint location 10.08 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1113 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1114 = Id("body") } +subtract body { id1113 } from body { id1114 } +cylinder height 500 radius 0.4572 +#{ id1115 = Id("body") } +#{ id1116 = Id("body") } +intersect body { id1114 } { id1115 } +#{ id1117 = Id("body") } +#{id1118 = ( id1116 == id1117 ) ? id1115 : id1117} +brick x 1.26 y 1.26 z 500 +#{ id1119 = Id("body") } +intersect body { id1118 } { id1119 } +#{ id1120 = Id("body") } +body { id1120 } name "Cell_2" +move body { id1120 } midpoint location 10.08 -3.7800000000000002 0 except z +cylinder height 500 radius 0.4572 +#{ id1121 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1122 = Id("body") } +subtract body { id1121 } from body { id1122 } +body { id1122 } name "Cell_3" +move body { id1122 } midpoint location 10.08 -3.7800000000000002 0 except z +cylinder height 500 radius 0.39218 +#{ id1123 = Id("body") } +body { id1123 } name "Cell_1" +move body { id1123 } midpoint location -10.08 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1124 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1125 = Id("body") } +subtract body { id1124 } from body { id1125 } +cylinder height 500 radius 0.4572 +#{ id1126 = Id("body") } +#{ id1127 = Id("body") } +intersect body { id1125 } { id1126 } +#{ id1128 = Id("body") } +#{id1129 = ( id1127 == id1128 ) ? id1126 : id1128} +brick x 1.26 y 1.26 z 500 +#{ id1130 = Id("body") } +intersect body { id1129 } { id1130 } +#{ id1131 = Id("body") } +body { id1131 } name "Cell_2" +move body { id1131 } midpoint location -10.08 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1132 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1133 = Id("body") } +subtract body { id1132 } from body { id1133 } +body { id1133 } name "Cell_3" +move body { id1133 } midpoint location -10.08 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1134 = Id("body") } +body { id1134 } name "Cell_1" +move body { id1134 } midpoint location -8.82 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1135 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1136 = Id("body") } +subtract body { id1135 } from body { id1136 } +cylinder height 500 radius 0.4572 +#{ id1137 = Id("body") } +#{ id1138 = Id("body") } +intersect body { id1136 } { id1137 } +#{ id1139 = Id("body") } +#{id1140 = ( id1138 == id1139 ) ? id1137 : id1139} +brick x 1.26 y 1.26 z 500 +#{ id1141 = Id("body") } +intersect body { id1140 } { id1141 } +#{ id1142 = Id("body") } +body { id1142 } name "Cell_2" +move body { id1142 } midpoint location -8.82 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1143 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1144 = Id("body") } +subtract body { id1143 } from body { id1144 } +body { id1144 } name "Cell_3" +move body { id1144 } midpoint location -8.82 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1145 = Id("body") } +body { id1145 } name "Cell_1" +move body { id1145 } midpoint location -7.5600000000000005 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1146 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1147 = Id("body") } +subtract body { id1146 } from body { id1147 } +cylinder height 500 radius 0.4572 +#{ id1148 = Id("body") } +#{ id1149 = Id("body") } +intersect body { id1147 } { id1148 } +#{ id1150 = Id("body") } +#{id1151 = ( id1149 == id1150 ) ? id1148 : id1150} +brick x 1.26 y 1.26 z 500 +#{ id1152 = Id("body") } +intersect body { id1151 } { id1152 } +#{ id1153 = Id("body") } +body { id1153 } name "Cell_2" +move body { id1153 } midpoint location -7.5600000000000005 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1154 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1155 = Id("body") } +subtract body { id1154 } from body { id1155 } +body { id1155 } name "Cell_3" +move body { id1155 } midpoint location -7.5600000000000005 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1156 = Id("body") } +body { id1156 } name "Cell_1" +move body { id1156 } midpoint location -6.3 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1157 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1158 = Id("body") } +subtract body { id1157 } from body { id1158 } +cylinder height 500 radius 0.4572 +#{ id1159 = Id("body") } +#{ id1160 = Id("body") } +intersect body { id1158 } { id1159 } +#{ id1161 = Id("body") } +#{id1162 = ( id1160 == id1161 ) ? id1159 : id1161} +brick x 1.26 y 1.26 z 500 +#{ id1163 = Id("body") } +intersect body { id1162 } { id1163 } +#{ id1164 = Id("body") } +body { id1164 } name "Cell_2" +move body { id1164 } midpoint location -6.3 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1165 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1166 = Id("body") } +subtract body { id1165 } from body { id1166 } +body { id1166 } name "Cell_3" +move body { id1166 } midpoint location -6.3 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1167 = Id("body") } +body { id1167 } name "Cell_1" +move body { id1167 } midpoint location -5.04 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1168 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1169 = Id("body") } +subtract body { id1168 } from body { id1169 } +cylinder height 500 radius 0.4572 +#{ id1170 = Id("body") } +#{ id1171 = Id("body") } +intersect body { id1169 } { id1170 } +#{ id1172 = Id("body") } +#{id1173 = ( id1171 == id1172 ) ? id1170 : id1172} +brick x 1.26 y 1.26 z 500 +#{ id1174 = Id("body") } +intersect body { id1173 } { id1174 } +#{ id1175 = Id("body") } +body { id1175 } name "Cell_2" +move body { id1175 } midpoint location -5.04 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1176 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1177 = Id("body") } +subtract body { id1176 } from body { id1177 } +body { id1177 } name "Cell_3" +move body { id1177 } midpoint location -5.04 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1178 = Id("body") } +body { id1178 } name "Cell_1" +move body { id1178 } midpoint location -3.7800000000000002 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1179 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1180 = Id("body") } +subtract body { id1179 } from body { id1180 } +cylinder height 500 radius 0.4572 +#{ id1181 = Id("body") } +#{ id1182 = Id("body") } +intersect body { id1180 } { id1181 } +#{ id1183 = Id("body") } +#{id1184 = ( id1182 == id1183 ) ? id1181 : id1183} +brick x 1.26 y 1.26 z 500 +#{ id1185 = Id("body") } +intersect body { id1184 } { id1185 } +#{ id1186 = Id("body") } +body { id1186 } name "Cell_2" +move body { id1186 } midpoint location -3.7800000000000002 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1187 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1188 = Id("body") } +subtract body { id1187 } from body { id1188 } +body { id1188 } name "Cell_3" +move body { id1188 } midpoint location -3.7800000000000002 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1189 = Id("body") } +body { id1189 } name "Cell_1" +move body { id1189 } midpoint location -2.5199999999999996 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1190 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1191 = Id("body") } +subtract body { id1190 } from body { id1191 } +cylinder height 500 radius 0.4572 +#{ id1192 = Id("body") } +#{ id1193 = Id("body") } +intersect body { id1191 } { id1192 } +#{ id1194 = Id("body") } +#{id1195 = ( id1193 == id1194 ) ? id1192 : id1194} +brick x 1.26 y 1.26 z 500 +#{ id1196 = Id("body") } +intersect body { id1195 } { id1196 } +#{ id1197 = Id("body") } +body { id1197 } name "Cell_2" +move body { id1197 } midpoint location -2.5199999999999996 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1198 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1199 = Id("body") } +subtract body { id1198 } from body { id1199 } +body { id1199 } name "Cell_3" +move body { id1199 } midpoint location -2.5199999999999996 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1200 = Id("body") } +body { id1200 } name "Cell_1" +move body { id1200 } midpoint location -1.2599999999999998 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1201 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1202 = Id("body") } +subtract body { id1201 } from body { id1202 } +cylinder height 500 radius 0.4572 +#{ id1203 = Id("body") } +#{ id1204 = Id("body") } +intersect body { id1202 } { id1203 } +#{ id1205 = Id("body") } +#{id1206 = ( id1204 == id1205 ) ? id1203 : id1205} +brick x 1.26 y 1.26 z 500 +#{ id1207 = Id("body") } +intersect body { id1206 } { id1207 } +#{ id1208 = Id("body") } +body { id1208 } name "Cell_2" +move body { id1208 } midpoint location -1.2599999999999998 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1209 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1210 = Id("body") } +subtract body { id1209 } from body { id1210 } +body { id1210 } name "Cell_3" +move body { id1210 } midpoint location -1.2599999999999998 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1211 = Id("body") } +body { id1211 } name "Cell_1" +move body { id1211 } midpoint location 0.0 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1212 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1213 = Id("body") } +subtract body { id1212 } from body { id1213 } +cylinder height 500 radius 0.4572 +#{ id1214 = Id("body") } +#{ id1215 = Id("body") } +intersect body { id1213 } { id1214 } +#{ id1216 = Id("body") } +#{id1217 = ( id1215 == id1216 ) ? id1214 : id1216} +brick x 1.26 y 1.26 z 500 +#{ id1218 = Id("body") } +intersect body { id1217 } { id1218 } +#{ id1219 = Id("body") } +body { id1219 } name "Cell_2" +move body { id1219 } midpoint location 0.0 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1220 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1221 = Id("body") } +subtract body { id1220 } from body { id1221 } +body { id1221 } name "Cell_3" +move body { id1221 } midpoint location 0.0 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1222 = Id("body") } +body { id1222 } name "Cell_1" +move body { id1222 } midpoint location 1.2599999999999998 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1223 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1224 = Id("body") } +subtract body { id1223 } from body { id1224 } +cylinder height 500 radius 0.4572 +#{ id1225 = Id("body") } +#{ id1226 = Id("body") } +intersect body { id1224 } { id1225 } +#{ id1227 = Id("body") } +#{id1228 = ( id1226 == id1227 ) ? id1225 : id1227} +brick x 1.26 y 1.26 z 500 +#{ id1229 = Id("body") } +intersect body { id1228 } { id1229 } +#{ id1230 = Id("body") } +body { id1230 } name "Cell_2" +move body { id1230 } midpoint location 1.2599999999999998 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1231 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1232 = Id("body") } +subtract body { id1231 } from body { id1232 } +body { id1232 } name "Cell_3" +move body { id1232 } midpoint location 1.2599999999999998 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1233 = Id("body") } +body { id1233 } name "Cell_1" +move body { id1233 } midpoint location 2.5199999999999996 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1234 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1235 = Id("body") } +subtract body { id1234 } from body { id1235 } +cylinder height 500 radius 0.4572 +#{ id1236 = Id("body") } +#{ id1237 = Id("body") } +intersect body { id1235 } { id1236 } +#{ id1238 = Id("body") } +#{id1239 = ( id1237 == id1238 ) ? id1236 : id1238} +brick x 1.26 y 1.26 z 500 +#{ id1240 = Id("body") } +intersect body { id1239 } { id1240 } +#{ id1241 = Id("body") } +body { id1241 } name "Cell_2" +move body { id1241 } midpoint location 2.5199999999999996 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1242 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1243 = Id("body") } +subtract body { id1242 } from body { id1243 } +body { id1243 } name "Cell_3" +move body { id1243 } midpoint location 2.5199999999999996 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1244 = Id("body") } +body { id1244 } name "Cell_1" +move body { id1244 } midpoint location 3.7799999999999994 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1245 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1246 = Id("body") } +subtract body { id1245 } from body { id1246 } +cylinder height 500 radius 0.4572 +#{ id1247 = Id("body") } +#{ id1248 = Id("body") } +intersect body { id1246 } { id1247 } +#{ id1249 = Id("body") } +#{id1250 = ( id1248 == id1249 ) ? id1247 : id1249} +brick x 1.26 y 1.26 z 500 +#{ id1251 = Id("body") } +intersect body { id1250 } { id1251 } +#{ id1252 = Id("body") } +body { id1252 } name "Cell_2" +move body { id1252 } midpoint location 3.7799999999999994 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1253 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1254 = Id("body") } +subtract body { id1253 } from body { id1254 } +body { id1254 } name "Cell_3" +move body { id1254 } midpoint location 3.7799999999999994 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1255 = Id("body") } +body { id1255 } name "Cell_1" +move body { id1255 } midpoint location 5.040000000000001 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1256 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1257 = Id("body") } +subtract body { id1256 } from body { id1257 } +cylinder height 500 radius 0.4572 +#{ id1258 = Id("body") } +#{ id1259 = Id("body") } +intersect body { id1257 } { id1258 } +#{ id1260 = Id("body") } +#{id1261 = ( id1259 == id1260 ) ? id1258 : id1260} +brick x 1.26 y 1.26 z 500 +#{ id1262 = Id("body") } +intersect body { id1261 } { id1262 } +#{ id1263 = Id("body") } +body { id1263 } name "Cell_2" +move body { id1263 } midpoint location 5.040000000000001 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1264 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1265 = Id("body") } +subtract body { id1264 } from body { id1265 } +body { id1265 } name "Cell_3" +move body { id1265 } midpoint location 5.040000000000001 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1266 = Id("body") } +body { id1266 } name "Cell_1" +move body { id1266 } midpoint location 6.299999999999999 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1267 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1268 = Id("body") } +subtract body { id1267 } from body { id1268 } +cylinder height 500 radius 0.4572 +#{ id1269 = Id("body") } +#{ id1270 = Id("body") } +intersect body { id1268 } { id1269 } +#{ id1271 = Id("body") } +#{id1272 = ( id1270 == id1271 ) ? id1269 : id1271} +brick x 1.26 y 1.26 z 500 +#{ id1273 = Id("body") } +intersect body { id1272 } { id1273 } +#{ id1274 = Id("body") } +body { id1274 } name "Cell_2" +move body { id1274 } midpoint location 6.299999999999999 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1275 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1276 = Id("body") } +subtract body { id1275 } from body { id1276 } +body { id1276 } name "Cell_3" +move body { id1276 } midpoint location 6.299999999999999 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1277 = Id("body") } +body { id1277 } name "Cell_1" +move body { id1277 } midpoint location 7.5600000000000005 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1278 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1279 = Id("body") } +subtract body { id1278 } from body { id1279 } +cylinder height 500 radius 0.4572 +#{ id1280 = Id("body") } +#{ id1281 = Id("body") } +intersect body { id1279 } { id1280 } +#{ id1282 = Id("body") } +#{id1283 = ( id1281 == id1282 ) ? id1280 : id1282} +brick x 1.26 y 1.26 z 500 +#{ id1284 = Id("body") } +intersect body { id1283 } { id1284 } +#{ id1285 = Id("body") } +body { id1285 } name "Cell_2" +move body { id1285 } midpoint location 7.5600000000000005 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1286 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1287 = Id("body") } +subtract body { id1286 } from body { id1287 } +body { id1287 } name "Cell_3" +move body { id1287 } midpoint location 7.5600000000000005 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1288 = Id("body") } +body { id1288 } name "Cell_1" +move body { id1288 } midpoint location 8.819999999999999 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1289 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1290 = Id("body") } +subtract body { id1289 } from body { id1290 } +cylinder height 500 radius 0.4572 +#{ id1291 = Id("body") } +#{ id1292 = Id("body") } +intersect body { id1290 } { id1291 } +#{ id1293 = Id("body") } +#{id1294 = ( id1292 == id1293 ) ? id1291 : id1293} +brick x 1.26 y 1.26 z 500 +#{ id1295 = Id("body") } +intersect body { id1294 } { id1295 } +#{ id1296 = Id("body") } +body { id1296 } name "Cell_2" +move body { id1296 } midpoint location 8.819999999999999 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1297 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1298 = Id("body") } +subtract body { id1297 } from body { id1298 } +body { id1298 } name "Cell_3" +move body { id1298 } midpoint location 8.819999999999999 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1299 = Id("body") } +body { id1299 } name "Cell_1" +move body { id1299 } midpoint location 10.08 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1300 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1301 = Id("body") } +subtract body { id1300 } from body { id1301 } +cylinder height 500 radius 0.4572 +#{ id1302 = Id("body") } +#{ id1303 = Id("body") } +intersect body { id1301 } { id1302 } +#{ id1304 = Id("body") } +#{id1305 = ( id1303 == id1304 ) ? id1302 : id1304} +brick x 1.26 y 1.26 z 500 +#{ id1306 = Id("body") } +intersect body { id1305 } { id1306 } +#{ id1307 = Id("body") } +body { id1307 } name "Cell_2" +move body { id1307 } midpoint location 10.08 -2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1308 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1309 = Id("body") } +subtract body { id1308 } from body { id1309 } +body { id1309 } name "Cell_3" +move body { id1309 } midpoint location 10.08 -2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1310 = Id("body") } +body { id1310 } name "Cell_1" +move body { id1310 } midpoint location -10.08 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1311 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1312 = Id("body") } +subtract body { id1311 } from body { id1312 } +cylinder height 500 radius 0.4572 +#{ id1313 = Id("body") } +#{ id1314 = Id("body") } +intersect body { id1312 } { id1313 } +#{ id1315 = Id("body") } +#{id1316 = ( id1314 == id1315 ) ? id1313 : id1315} +brick x 1.26 y 1.26 z 500 +#{ id1317 = Id("body") } +intersect body { id1316 } { id1317 } +#{ id1318 = Id("body") } +body { id1318 } name "Cell_2" +move body { id1318 } midpoint location -10.08 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1319 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1320 = Id("body") } +subtract body { id1319 } from body { id1320 } +body { id1320 } name "Cell_3" +move body { id1320 } midpoint location -10.08 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1321 = Id("body") } +body { id1321 } name "Cell_1" +move body { id1321 } midpoint location -8.82 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1322 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1323 = Id("body") } +subtract body { id1322 } from body { id1323 } +cylinder height 500 radius 0.4572 +#{ id1324 = Id("body") } +#{ id1325 = Id("body") } +intersect body { id1323 } { id1324 } +#{ id1326 = Id("body") } +#{id1327 = ( id1325 == id1326 ) ? id1324 : id1326} +brick x 1.26 y 1.26 z 500 +#{ id1328 = Id("body") } +intersect body { id1327 } { id1328 } +#{ id1329 = Id("body") } +body { id1329 } name "Cell_2" +move body { id1329 } midpoint location -8.82 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1330 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1331 = Id("body") } +subtract body { id1330 } from body { id1331 } +body { id1331 } name "Cell_3" +move body { id1331 } midpoint location -8.82 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1332 = Id("body") } +body { id1332 } name "Cell_1" +move body { id1332 } midpoint location -7.5600000000000005 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1333 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1334 = Id("body") } +subtract body { id1333 } from body { id1334 } +cylinder height 500 radius 0.4572 +#{ id1335 = Id("body") } +#{ id1336 = Id("body") } +intersect body { id1334 } { id1335 } +#{ id1337 = Id("body") } +#{id1338 = ( id1336 == id1337 ) ? id1335 : id1337} +brick x 1.26 y 1.26 z 500 +#{ id1339 = Id("body") } +intersect body { id1338 } { id1339 } +#{ id1340 = Id("body") } +body { id1340 } name "Cell_2" +move body { id1340 } midpoint location -7.5600000000000005 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1341 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1342 = Id("body") } +subtract body { id1341 } from body { id1342 } +body { id1342 } name "Cell_3" +move body { id1342 } midpoint location -7.5600000000000005 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1343 = Id("body") } +body { id1343 } name "Cell_1" +move body { id1343 } midpoint location -6.3 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1344 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1345 = Id("body") } +subtract body { id1344 } from body { id1345 } +cylinder height 500 radius 0.4572 +#{ id1346 = Id("body") } +#{ id1347 = Id("body") } +intersect body { id1345 } { id1346 } +#{ id1348 = Id("body") } +#{id1349 = ( id1347 == id1348 ) ? id1346 : id1348} +brick x 1.26 y 1.26 z 500 +#{ id1350 = Id("body") } +intersect body { id1349 } { id1350 } +#{ id1351 = Id("body") } +body { id1351 } name "Cell_2" +move body { id1351 } midpoint location -6.3 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1352 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1353 = Id("body") } +subtract body { id1352 } from body { id1353 } +body { id1353 } name "Cell_3" +move body { id1353 } midpoint location -6.3 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1354 = Id("body") } +body { id1354 } name "Cell_1" +move body { id1354 } midpoint location -5.04 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1355 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1356 = Id("body") } +subtract body { id1355 } from body { id1356 } +cylinder height 500 radius 0.4572 +#{ id1357 = Id("body") } +#{ id1358 = Id("body") } +intersect body { id1356 } { id1357 } +#{ id1359 = Id("body") } +#{id1360 = ( id1358 == id1359 ) ? id1357 : id1359} +brick x 1.26 y 1.26 z 500 +#{ id1361 = Id("body") } +intersect body { id1360 } { id1361 } +#{ id1362 = Id("body") } +body { id1362 } name "Cell_2" +move body { id1362 } midpoint location -5.04 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1363 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1364 = Id("body") } +subtract body { id1363 } from body { id1364 } +body { id1364 } name "Cell_3" +move body { id1364 } midpoint location -5.04 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1365 = Id("body") } +body { id1365 } name "Cell_1" +move body { id1365 } midpoint location -3.7800000000000002 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1366 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1367 = Id("body") } +subtract body { id1366 } from body { id1367 } +cylinder height 500 radius 0.4572 +#{ id1368 = Id("body") } +#{ id1369 = Id("body") } +intersect body { id1367 } { id1368 } +#{ id1370 = Id("body") } +#{id1371 = ( id1369 == id1370 ) ? id1368 : id1370} +brick x 1.26 y 1.26 z 500 +#{ id1372 = Id("body") } +intersect body { id1371 } { id1372 } +#{ id1373 = Id("body") } +body { id1373 } name "Cell_2" +move body { id1373 } midpoint location -3.7800000000000002 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1374 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1375 = Id("body") } +subtract body { id1374 } from body { id1375 } +body { id1375 } name "Cell_3" +move body { id1375 } midpoint location -3.7800000000000002 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1376 = Id("body") } +body { id1376 } name "Cell_1" +move body { id1376 } midpoint location -2.5199999999999996 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1377 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1378 = Id("body") } +subtract body { id1377 } from body { id1378 } +cylinder height 500 radius 0.4572 +#{ id1379 = Id("body") } +#{ id1380 = Id("body") } +intersect body { id1378 } { id1379 } +#{ id1381 = Id("body") } +#{id1382 = ( id1380 == id1381 ) ? id1379 : id1381} +brick x 1.26 y 1.26 z 500 +#{ id1383 = Id("body") } +intersect body { id1382 } { id1383 } +#{ id1384 = Id("body") } +body { id1384 } name "Cell_2" +move body { id1384 } midpoint location -2.5199999999999996 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1385 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1386 = Id("body") } +subtract body { id1385 } from body { id1386 } +body { id1386 } name "Cell_3" +move body { id1386 } midpoint location -2.5199999999999996 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1387 = Id("body") } +body { id1387 } name "Cell_1" +move body { id1387 } midpoint location -1.2599999999999998 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1388 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1389 = Id("body") } +subtract body { id1388 } from body { id1389 } +cylinder height 500 radius 0.4572 +#{ id1390 = Id("body") } +#{ id1391 = Id("body") } +intersect body { id1389 } { id1390 } +#{ id1392 = Id("body") } +#{id1393 = ( id1391 == id1392 ) ? id1390 : id1392} +brick x 1.26 y 1.26 z 500 +#{ id1394 = Id("body") } +intersect body { id1393 } { id1394 } +#{ id1395 = Id("body") } +body { id1395 } name "Cell_2" +move body { id1395 } midpoint location -1.2599999999999998 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1396 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1397 = Id("body") } +subtract body { id1396 } from body { id1397 } +body { id1397 } name "Cell_3" +move body { id1397 } midpoint location -1.2599999999999998 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1398 = Id("body") } +body { id1398 } name "Cell_1" +move body { id1398 } midpoint location 0.0 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1399 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1400 = Id("body") } +subtract body { id1399 } from body { id1400 } +cylinder height 500 radius 0.4572 +#{ id1401 = Id("body") } +#{ id1402 = Id("body") } +intersect body { id1400 } { id1401 } +#{ id1403 = Id("body") } +#{id1404 = ( id1402 == id1403 ) ? id1401 : id1403} +brick x 1.26 y 1.26 z 500 +#{ id1405 = Id("body") } +intersect body { id1404 } { id1405 } +#{ id1406 = Id("body") } +body { id1406 } name "Cell_2" +move body { id1406 } midpoint location 0.0 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1407 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1408 = Id("body") } +subtract body { id1407 } from body { id1408 } +body { id1408 } name "Cell_3" +move body { id1408 } midpoint location 0.0 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1409 = Id("body") } +body { id1409 } name "Cell_1" +move body { id1409 } midpoint location 1.2599999999999998 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1410 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1411 = Id("body") } +subtract body { id1410 } from body { id1411 } +cylinder height 500 radius 0.4572 +#{ id1412 = Id("body") } +#{ id1413 = Id("body") } +intersect body { id1411 } { id1412 } +#{ id1414 = Id("body") } +#{id1415 = ( id1413 == id1414 ) ? id1412 : id1414} +brick x 1.26 y 1.26 z 500 +#{ id1416 = Id("body") } +intersect body { id1415 } { id1416 } +#{ id1417 = Id("body") } +body { id1417 } name "Cell_2" +move body { id1417 } midpoint location 1.2599999999999998 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1418 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1419 = Id("body") } +subtract body { id1418 } from body { id1419 } +body { id1419 } name "Cell_3" +move body { id1419 } midpoint location 1.2599999999999998 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1420 = Id("body") } +body { id1420 } name "Cell_1" +move body { id1420 } midpoint location 2.5199999999999996 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1421 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1422 = Id("body") } +subtract body { id1421 } from body { id1422 } +cylinder height 500 radius 0.4572 +#{ id1423 = Id("body") } +#{ id1424 = Id("body") } +intersect body { id1422 } { id1423 } +#{ id1425 = Id("body") } +#{id1426 = ( id1424 == id1425 ) ? id1423 : id1425} +brick x 1.26 y 1.26 z 500 +#{ id1427 = Id("body") } +intersect body { id1426 } { id1427 } +#{ id1428 = Id("body") } +body { id1428 } name "Cell_2" +move body { id1428 } midpoint location 2.5199999999999996 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1429 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1430 = Id("body") } +subtract body { id1429 } from body { id1430 } +body { id1430 } name "Cell_3" +move body { id1430 } midpoint location 2.5199999999999996 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1431 = Id("body") } +body { id1431 } name "Cell_1" +move body { id1431 } midpoint location 3.7799999999999994 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1432 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1433 = Id("body") } +subtract body { id1432 } from body { id1433 } +cylinder height 500 radius 0.4572 +#{ id1434 = Id("body") } +#{ id1435 = Id("body") } +intersect body { id1433 } { id1434 } +#{ id1436 = Id("body") } +#{id1437 = ( id1435 == id1436 ) ? id1434 : id1436} +brick x 1.26 y 1.26 z 500 +#{ id1438 = Id("body") } +intersect body { id1437 } { id1438 } +#{ id1439 = Id("body") } +body { id1439 } name "Cell_2" +move body { id1439 } midpoint location 3.7799999999999994 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1440 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1441 = Id("body") } +subtract body { id1440 } from body { id1441 } +body { id1441 } name "Cell_3" +move body { id1441 } midpoint location 3.7799999999999994 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1442 = Id("body") } +body { id1442 } name "Cell_1" +move body { id1442 } midpoint location 5.040000000000001 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1443 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1444 = Id("body") } +subtract body { id1443 } from body { id1444 } +cylinder height 500 radius 0.4572 +#{ id1445 = Id("body") } +#{ id1446 = Id("body") } +intersect body { id1444 } { id1445 } +#{ id1447 = Id("body") } +#{id1448 = ( id1446 == id1447 ) ? id1445 : id1447} +brick x 1.26 y 1.26 z 500 +#{ id1449 = Id("body") } +intersect body { id1448 } { id1449 } +#{ id1450 = Id("body") } +body { id1450 } name "Cell_2" +move body { id1450 } midpoint location 5.040000000000001 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1451 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1452 = Id("body") } +subtract body { id1451 } from body { id1452 } +body { id1452 } name "Cell_3" +move body { id1452 } midpoint location 5.040000000000001 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1453 = Id("body") } +body { id1453 } name "Cell_1" +move body { id1453 } midpoint location 6.299999999999999 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1454 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1455 = Id("body") } +subtract body { id1454 } from body { id1455 } +cylinder height 500 radius 0.4572 +#{ id1456 = Id("body") } +#{ id1457 = Id("body") } +intersect body { id1455 } { id1456 } +#{ id1458 = Id("body") } +#{id1459 = ( id1457 == id1458 ) ? id1456 : id1458} +brick x 1.26 y 1.26 z 500 +#{ id1460 = Id("body") } +intersect body { id1459 } { id1460 } +#{ id1461 = Id("body") } +body { id1461 } name "Cell_2" +move body { id1461 } midpoint location 6.299999999999999 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1462 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1463 = Id("body") } +subtract body { id1462 } from body { id1463 } +body { id1463 } name "Cell_3" +move body { id1463 } midpoint location 6.299999999999999 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1464 = Id("body") } +body { id1464 } name "Cell_1" +move body { id1464 } midpoint location 7.5600000000000005 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1465 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1466 = Id("body") } +subtract body { id1465 } from body { id1466 } +cylinder height 500 radius 0.4572 +#{ id1467 = Id("body") } +#{ id1468 = Id("body") } +intersect body { id1466 } { id1467 } +#{ id1469 = Id("body") } +#{id1470 = ( id1468 == id1469 ) ? id1467 : id1469} +brick x 1.26 y 1.26 z 500 +#{ id1471 = Id("body") } +intersect body { id1470 } { id1471 } +#{ id1472 = Id("body") } +body { id1472 } name "Cell_2" +move body { id1472 } midpoint location 7.5600000000000005 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1473 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1474 = Id("body") } +subtract body { id1473 } from body { id1474 } +body { id1474 } name "Cell_3" +move body { id1474 } midpoint location 7.5600000000000005 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1475 = Id("body") } +body { id1475 } name "Cell_1" +move body { id1475 } midpoint location 8.819999999999999 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1476 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1477 = Id("body") } +subtract body { id1476 } from body { id1477 } +cylinder height 500 radius 0.4572 +#{ id1478 = Id("body") } +#{ id1479 = Id("body") } +intersect body { id1477 } { id1478 } +#{ id1480 = Id("body") } +#{id1481 = ( id1479 == id1480 ) ? id1478 : id1480} +brick x 1.26 y 1.26 z 500 +#{ id1482 = Id("body") } +intersect body { id1481 } { id1482 } +#{ id1483 = Id("body") } +body { id1483 } name "Cell_2" +move body { id1483 } midpoint location 8.819999999999999 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1484 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1485 = Id("body") } +subtract body { id1484 } from body { id1485 } +body { id1485 } name "Cell_3" +move body { id1485 } midpoint location 8.819999999999999 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1486 = Id("body") } +body { id1486 } name "Cell_1" +move body { id1486 } midpoint location 10.08 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1487 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1488 = Id("body") } +subtract body { id1487 } from body { id1488 } +cylinder height 500 radius 0.4572 +#{ id1489 = Id("body") } +#{ id1490 = Id("body") } +intersect body { id1488 } { id1489 } +#{ id1491 = Id("body") } +#{id1492 = ( id1490 == id1491 ) ? id1489 : id1491} +brick x 1.26 y 1.26 z 500 +#{ id1493 = Id("body") } +intersect body { id1492 } { id1493 } +#{ id1494 = Id("body") } +body { id1494 } name "Cell_2" +move body { id1494 } midpoint location 10.08 -1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1495 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1496 = Id("body") } +subtract body { id1495 } from body { id1496 } +body { id1496 } name "Cell_3" +move body { id1496 } midpoint location 10.08 -1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1497 = Id("body") } +body { id1497 } name "Cell_1" +move body { id1497 } midpoint location -10.08 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1498 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1499 = Id("body") } +subtract body { id1498 } from body { id1499 } +cylinder height 500 radius 0.4572 +#{ id1500 = Id("body") } +#{ id1501 = Id("body") } +intersect body { id1499 } { id1500 } +#{ id1502 = Id("body") } +#{id1503 = ( id1501 == id1502 ) ? id1500 : id1502} +brick x 1.26 y 1.26 z 500 +#{ id1504 = Id("body") } +intersect body { id1503 } { id1504 } +#{ id1505 = Id("body") } +body { id1505 } name "Cell_2" +move body { id1505 } midpoint location -10.08 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1506 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1507 = Id("body") } +subtract body { id1506 } from body { id1507 } +body { id1507 } name "Cell_3" +move body { id1507 } midpoint location -10.08 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1508 = Id("body") } +body { id1508 } name "Cell_1" +move body { id1508 } midpoint location -8.82 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1509 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1510 = Id("body") } +subtract body { id1509 } from body { id1510 } +cylinder height 500 radius 0.4572 +#{ id1511 = Id("body") } +#{ id1512 = Id("body") } +intersect body { id1510 } { id1511 } +#{ id1513 = Id("body") } +#{id1514 = ( id1512 == id1513 ) ? id1511 : id1513} +brick x 1.26 y 1.26 z 500 +#{ id1515 = Id("body") } +intersect body { id1514 } { id1515 } +#{ id1516 = Id("body") } +body { id1516 } name "Cell_2" +move body { id1516 } midpoint location -8.82 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1517 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1518 = Id("body") } +subtract body { id1517 } from body { id1518 } +body { id1518 } name "Cell_3" +move body { id1518 } midpoint location -8.82 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1519 = Id("body") } +body { id1519 } name "Cell_4" +move body { id1519 } midpoint location -7.5600000000000005 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1520 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1521 = Id("body") } +subtract body { id1520 } from body { id1521 } +cylinder height 500 radius 0.4572 +#{ id1522 = Id("body") } +#{ id1523 = Id("body") } +intersect body { id1521 } { id1522 } +#{ id1524 = Id("body") } +#{id1525 = ( id1523 == id1524 ) ? id1522 : id1524} +brick x 1.26 y 1.26 z 500 +#{ id1526 = Id("body") } +intersect body { id1525 } { id1526 } +#{ id1527 = Id("body") } +body { id1527 } name "Cell_5" +move body { id1527 } midpoint location -7.5600000000000005 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1528 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1529 = Id("body") } +subtract body { id1528 } from body { id1529 } +body { id1529 } name "Cell_6" +move body { id1529 } midpoint location -7.5600000000000005 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1530 = Id("body") } +body { id1530 } name "Cell_1" +move body { id1530 } midpoint location -6.3 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1531 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1532 = Id("body") } +subtract body { id1531 } from body { id1532 } +cylinder height 500 radius 0.4572 +#{ id1533 = Id("body") } +#{ id1534 = Id("body") } +intersect body { id1532 } { id1533 } +#{ id1535 = Id("body") } +#{id1536 = ( id1534 == id1535 ) ? id1533 : id1535} +brick x 1.26 y 1.26 z 500 +#{ id1537 = Id("body") } +intersect body { id1536 } { id1537 } +#{ id1538 = Id("body") } +body { id1538 } name "Cell_2" +move body { id1538 } midpoint location -6.3 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1539 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1540 = Id("body") } +subtract body { id1539 } from body { id1540 } +body { id1540 } name "Cell_3" +move body { id1540 } midpoint location -6.3 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1541 = Id("body") } +body { id1541 } name "Cell_1" +move body { id1541 } midpoint location -5.04 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1542 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1543 = Id("body") } +subtract body { id1542 } from body { id1543 } +cylinder height 500 radius 0.4572 +#{ id1544 = Id("body") } +#{ id1545 = Id("body") } +intersect body { id1543 } { id1544 } +#{ id1546 = Id("body") } +#{id1547 = ( id1545 == id1546 ) ? id1544 : id1546} +brick x 1.26 y 1.26 z 500 +#{ id1548 = Id("body") } +intersect body { id1547 } { id1548 } +#{ id1549 = Id("body") } +body { id1549 } name "Cell_2" +move body { id1549 } midpoint location -5.04 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1550 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1551 = Id("body") } +subtract body { id1550 } from body { id1551 } +body { id1551 } name "Cell_3" +move body { id1551 } midpoint location -5.04 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1552 = Id("body") } +body { id1552 } name "Cell_4" +move body { id1552 } midpoint location -3.7800000000000002 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1553 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1554 = Id("body") } +subtract body { id1553 } from body { id1554 } +cylinder height 500 radius 0.4572 +#{ id1555 = Id("body") } +#{ id1556 = Id("body") } +intersect body { id1554 } { id1555 } +#{ id1557 = Id("body") } +#{id1558 = ( id1556 == id1557 ) ? id1555 : id1557} +brick x 1.26 y 1.26 z 500 +#{ id1559 = Id("body") } +intersect body { id1558 } { id1559 } +#{ id1560 = Id("body") } +body { id1560 } name "Cell_5" +move body { id1560 } midpoint location -3.7800000000000002 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1561 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1562 = Id("body") } +subtract body { id1561 } from body { id1562 } +body { id1562 } name "Cell_6" +move body { id1562 } midpoint location -3.7800000000000002 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1563 = Id("body") } +body { id1563 } name "Cell_1" +move body { id1563 } midpoint location -2.5199999999999996 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1564 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1565 = Id("body") } +subtract body { id1564 } from body { id1565 } +cylinder height 500 radius 0.4572 +#{ id1566 = Id("body") } +#{ id1567 = Id("body") } +intersect body { id1565 } { id1566 } +#{ id1568 = Id("body") } +#{id1569 = ( id1567 == id1568 ) ? id1566 : id1568} +brick x 1.26 y 1.26 z 500 +#{ id1570 = Id("body") } +intersect body { id1569 } { id1570 } +#{ id1571 = Id("body") } +body { id1571 } name "Cell_2" +move body { id1571 } midpoint location -2.5199999999999996 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1572 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1573 = Id("body") } +subtract body { id1572 } from body { id1573 } +body { id1573 } name "Cell_3" +move body { id1573 } midpoint location -2.5199999999999996 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1574 = Id("body") } +body { id1574 } name "Cell_1" +move body { id1574 } midpoint location -1.2599999999999998 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1575 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1576 = Id("body") } +subtract body { id1575 } from body { id1576 } +cylinder height 500 radius 0.4572 +#{ id1577 = Id("body") } +#{ id1578 = Id("body") } +intersect body { id1576 } { id1577 } +#{ id1579 = Id("body") } +#{id1580 = ( id1578 == id1579 ) ? id1577 : id1579} +brick x 1.26 y 1.26 z 500 +#{ id1581 = Id("body") } +intersect body { id1580 } { id1581 } +#{ id1582 = Id("body") } +body { id1582 } name "Cell_2" +move body { id1582 } midpoint location -1.2599999999999998 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1583 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1584 = Id("body") } +subtract body { id1583 } from body { id1584 } +body { id1584 } name "Cell_3" +move body { id1584 } midpoint location -1.2599999999999998 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1585 = Id("body") } +body { id1585 } name "Cell_4" +move body { id1585 } midpoint location 0.0 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1586 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1587 = Id("body") } +subtract body { id1586 } from body { id1587 } +cylinder height 500 radius 0.4572 +#{ id1588 = Id("body") } +#{ id1589 = Id("body") } +intersect body { id1587 } { id1588 } +#{ id1590 = Id("body") } +#{id1591 = ( id1589 == id1590 ) ? id1588 : id1590} +brick x 1.26 y 1.26 z 500 +#{ id1592 = Id("body") } +intersect body { id1591 } { id1592 } +#{ id1593 = Id("body") } +body { id1593 } name "Cell_5" +move body { id1593 } midpoint location 0.0 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1594 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1595 = Id("body") } +subtract body { id1594 } from body { id1595 } +body { id1595 } name "Cell_6" +move body { id1595 } midpoint location 0.0 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1596 = Id("body") } +body { id1596 } name "Cell_1" +move body { id1596 } midpoint location 1.2599999999999998 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1597 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1598 = Id("body") } +subtract body { id1597 } from body { id1598 } +cylinder height 500 radius 0.4572 +#{ id1599 = Id("body") } +#{ id1600 = Id("body") } +intersect body { id1598 } { id1599 } +#{ id1601 = Id("body") } +#{id1602 = ( id1600 == id1601 ) ? id1599 : id1601} +brick x 1.26 y 1.26 z 500 +#{ id1603 = Id("body") } +intersect body { id1602 } { id1603 } +#{ id1604 = Id("body") } +body { id1604 } name "Cell_2" +move body { id1604 } midpoint location 1.2599999999999998 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1605 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1606 = Id("body") } +subtract body { id1605 } from body { id1606 } +body { id1606 } name "Cell_3" +move body { id1606 } midpoint location 1.2599999999999998 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1607 = Id("body") } +body { id1607 } name "Cell_1" +move body { id1607 } midpoint location 2.5199999999999996 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1608 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1609 = Id("body") } +subtract body { id1608 } from body { id1609 } +cylinder height 500 radius 0.4572 +#{ id1610 = Id("body") } +#{ id1611 = Id("body") } +intersect body { id1609 } { id1610 } +#{ id1612 = Id("body") } +#{id1613 = ( id1611 == id1612 ) ? id1610 : id1612} +brick x 1.26 y 1.26 z 500 +#{ id1614 = Id("body") } +intersect body { id1613 } { id1614 } +#{ id1615 = Id("body") } +body { id1615 } name "Cell_2" +move body { id1615 } midpoint location 2.5199999999999996 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1616 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1617 = Id("body") } +subtract body { id1616 } from body { id1617 } +body { id1617 } name "Cell_3" +move body { id1617 } midpoint location 2.5199999999999996 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1618 = Id("body") } +body { id1618 } name "Cell_4" +move body { id1618 } midpoint location 3.7799999999999994 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1619 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1620 = Id("body") } +subtract body { id1619 } from body { id1620 } +cylinder height 500 radius 0.4572 +#{ id1621 = Id("body") } +#{ id1622 = Id("body") } +intersect body { id1620 } { id1621 } +#{ id1623 = Id("body") } +#{id1624 = ( id1622 == id1623 ) ? id1621 : id1623} +brick x 1.26 y 1.26 z 500 +#{ id1625 = Id("body") } +intersect body { id1624 } { id1625 } +#{ id1626 = Id("body") } +body { id1626 } name "Cell_5" +move body { id1626 } midpoint location 3.7799999999999994 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1627 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1628 = Id("body") } +subtract body { id1627 } from body { id1628 } +body { id1628 } name "Cell_6" +move body { id1628 } midpoint location 3.7799999999999994 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1629 = Id("body") } +body { id1629 } name "Cell_1" +move body { id1629 } midpoint location 5.040000000000001 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1630 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1631 = Id("body") } +subtract body { id1630 } from body { id1631 } +cylinder height 500 radius 0.4572 +#{ id1632 = Id("body") } +#{ id1633 = Id("body") } +intersect body { id1631 } { id1632 } +#{ id1634 = Id("body") } +#{id1635 = ( id1633 == id1634 ) ? id1632 : id1634} +brick x 1.26 y 1.26 z 500 +#{ id1636 = Id("body") } +intersect body { id1635 } { id1636 } +#{ id1637 = Id("body") } +body { id1637 } name "Cell_2" +move body { id1637 } midpoint location 5.040000000000001 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1638 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1639 = Id("body") } +subtract body { id1638 } from body { id1639 } +body { id1639 } name "Cell_3" +move body { id1639 } midpoint location 5.040000000000001 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1640 = Id("body") } +body { id1640 } name "Cell_1" +move body { id1640 } midpoint location 6.299999999999999 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1641 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1642 = Id("body") } +subtract body { id1641 } from body { id1642 } +cylinder height 500 radius 0.4572 +#{ id1643 = Id("body") } +#{ id1644 = Id("body") } +intersect body { id1642 } { id1643 } +#{ id1645 = Id("body") } +#{id1646 = ( id1644 == id1645 ) ? id1643 : id1645} +brick x 1.26 y 1.26 z 500 +#{ id1647 = Id("body") } +intersect body { id1646 } { id1647 } +#{ id1648 = Id("body") } +body { id1648 } name "Cell_2" +move body { id1648 } midpoint location 6.299999999999999 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1649 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1650 = Id("body") } +subtract body { id1649 } from body { id1650 } +body { id1650 } name "Cell_3" +move body { id1650 } midpoint location 6.299999999999999 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1651 = Id("body") } +body { id1651 } name "Cell_4" +move body { id1651 } midpoint location 7.5600000000000005 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1652 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1653 = Id("body") } +subtract body { id1652 } from body { id1653 } +cylinder height 500 radius 0.4572 +#{ id1654 = Id("body") } +#{ id1655 = Id("body") } +intersect body { id1653 } { id1654 } +#{ id1656 = Id("body") } +#{id1657 = ( id1655 == id1656 ) ? id1654 : id1656} +brick x 1.26 y 1.26 z 500 +#{ id1658 = Id("body") } +intersect body { id1657 } { id1658 } +#{ id1659 = Id("body") } +body { id1659 } name "Cell_5" +move body { id1659 } midpoint location 7.5600000000000005 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1660 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1661 = Id("body") } +subtract body { id1660 } from body { id1661 } +body { id1661 } name "Cell_6" +move body { id1661 } midpoint location 7.5600000000000005 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1662 = Id("body") } +body { id1662 } name "Cell_1" +move body { id1662 } midpoint location 8.819999999999999 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1663 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1664 = Id("body") } +subtract body { id1663 } from body { id1664 } +cylinder height 500 radius 0.4572 +#{ id1665 = Id("body") } +#{ id1666 = Id("body") } +intersect body { id1664 } { id1665 } +#{ id1667 = Id("body") } +#{id1668 = ( id1666 == id1667 ) ? id1665 : id1667} +brick x 1.26 y 1.26 z 500 +#{ id1669 = Id("body") } +intersect body { id1668 } { id1669 } +#{ id1670 = Id("body") } +body { id1670 } name "Cell_2" +move body { id1670 } midpoint location 8.819999999999999 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1671 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1672 = Id("body") } +subtract body { id1671 } from body { id1672 } +body { id1672 } name "Cell_3" +move body { id1672 } midpoint location 8.819999999999999 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1673 = Id("body") } +body { id1673 } name "Cell_1" +move body { id1673 } midpoint location 10.08 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1674 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1675 = Id("body") } +subtract body { id1674 } from body { id1675 } +cylinder height 500 radius 0.4572 +#{ id1676 = Id("body") } +#{ id1677 = Id("body") } +intersect body { id1675 } { id1676 } +#{ id1678 = Id("body") } +#{id1679 = ( id1677 == id1678 ) ? id1676 : id1678} +brick x 1.26 y 1.26 z 500 +#{ id1680 = Id("body") } +intersect body { id1679 } { id1680 } +#{ id1681 = Id("body") } +body { id1681 } name "Cell_2" +move body { id1681 } midpoint location 10.08 0.0 0 except z +cylinder height 500 radius 0.4572 +#{ id1682 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1683 = Id("body") } +subtract body { id1682 } from body { id1683 } +body { id1683 } name "Cell_3" +move body { id1683 } midpoint location 10.08 0.0 0 except z +cylinder height 500 radius 0.39218 +#{ id1684 = Id("body") } +body { id1684 } name "Cell_1" +move body { id1684 } midpoint location -10.08 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1685 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1686 = Id("body") } +subtract body { id1685 } from body { id1686 } +cylinder height 500 radius 0.4572 +#{ id1687 = Id("body") } +#{ id1688 = Id("body") } +intersect body { id1686 } { id1687 } +#{ id1689 = Id("body") } +#{id1690 = ( id1688 == id1689 ) ? id1687 : id1689} +brick x 1.26 y 1.26 z 500 +#{ id1691 = Id("body") } +intersect body { id1690 } { id1691 } +#{ id1692 = Id("body") } +body { id1692 } name "Cell_2" +move body { id1692 } midpoint location -10.08 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1693 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1694 = Id("body") } +subtract body { id1693 } from body { id1694 } +body { id1694 } name "Cell_3" +move body { id1694 } midpoint location -10.08 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1695 = Id("body") } +body { id1695 } name "Cell_1" +move body { id1695 } midpoint location -8.82 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1696 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1697 = Id("body") } +subtract body { id1696 } from body { id1697 } +cylinder height 500 radius 0.4572 +#{ id1698 = Id("body") } +#{ id1699 = Id("body") } +intersect body { id1697 } { id1698 } +#{ id1700 = Id("body") } +#{id1701 = ( id1699 == id1700 ) ? id1698 : id1700} +brick x 1.26 y 1.26 z 500 +#{ id1702 = Id("body") } +intersect body { id1701 } { id1702 } +#{ id1703 = Id("body") } +body { id1703 } name "Cell_2" +move body { id1703 } midpoint location -8.82 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1704 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1705 = Id("body") } +subtract body { id1704 } from body { id1705 } +body { id1705 } name "Cell_3" +move body { id1705 } midpoint location -8.82 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1706 = Id("body") } +body { id1706 } name "Cell_1" +move body { id1706 } midpoint location -7.5600000000000005 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1707 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1708 = Id("body") } +subtract body { id1707 } from body { id1708 } +cylinder height 500 radius 0.4572 +#{ id1709 = Id("body") } +#{ id1710 = Id("body") } +intersect body { id1708 } { id1709 } +#{ id1711 = Id("body") } +#{id1712 = ( id1710 == id1711 ) ? id1709 : id1711} +brick x 1.26 y 1.26 z 500 +#{ id1713 = Id("body") } +intersect body { id1712 } { id1713 } +#{ id1714 = Id("body") } +body { id1714 } name "Cell_2" +move body { id1714 } midpoint location -7.5600000000000005 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1715 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1716 = Id("body") } +subtract body { id1715 } from body { id1716 } +body { id1716 } name "Cell_3" +move body { id1716 } midpoint location -7.5600000000000005 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1717 = Id("body") } +body { id1717 } name "Cell_1" +move body { id1717 } midpoint location -6.3 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1718 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1719 = Id("body") } +subtract body { id1718 } from body { id1719 } +cylinder height 500 radius 0.4572 +#{ id1720 = Id("body") } +#{ id1721 = Id("body") } +intersect body { id1719 } { id1720 } +#{ id1722 = Id("body") } +#{id1723 = ( id1721 == id1722 ) ? id1720 : id1722} +brick x 1.26 y 1.26 z 500 +#{ id1724 = Id("body") } +intersect body { id1723 } { id1724 } +#{ id1725 = Id("body") } +body { id1725 } name "Cell_2" +move body { id1725 } midpoint location -6.3 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1726 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1727 = Id("body") } +subtract body { id1726 } from body { id1727 } +body { id1727 } name "Cell_3" +move body { id1727 } midpoint location -6.3 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1728 = Id("body") } +body { id1728 } name "Cell_1" +move body { id1728 } midpoint location -5.04 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1729 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1730 = Id("body") } +subtract body { id1729 } from body { id1730 } +cylinder height 500 radius 0.4572 +#{ id1731 = Id("body") } +#{ id1732 = Id("body") } +intersect body { id1730 } { id1731 } +#{ id1733 = Id("body") } +#{id1734 = ( id1732 == id1733 ) ? id1731 : id1733} +brick x 1.26 y 1.26 z 500 +#{ id1735 = Id("body") } +intersect body { id1734 } { id1735 } +#{ id1736 = Id("body") } +body { id1736 } name "Cell_2" +move body { id1736 } midpoint location -5.04 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1737 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1738 = Id("body") } +subtract body { id1737 } from body { id1738 } +body { id1738 } name "Cell_3" +move body { id1738 } midpoint location -5.04 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1739 = Id("body") } +body { id1739 } name "Cell_1" +move body { id1739 } midpoint location -3.7800000000000002 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1740 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1741 = Id("body") } +subtract body { id1740 } from body { id1741 } +cylinder height 500 radius 0.4572 +#{ id1742 = Id("body") } +#{ id1743 = Id("body") } +intersect body { id1741 } { id1742 } +#{ id1744 = Id("body") } +#{id1745 = ( id1743 == id1744 ) ? id1742 : id1744} +brick x 1.26 y 1.26 z 500 +#{ id1746 = Id("body") } +intersect body { id1745 } { id1746 } +#{ id1747 = Id("body") } +body { id1747 } name "Cell_2" +move body { id1747 } midpoint location -3.7800000000000002 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1748 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1749 = Id("body") } +subtract body { id1748 } from body { id1749 } +body { id1749 } name "Cell_3" +move body { id1749 } midpoint location -3.7800000000000002 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1750 = Id("body") } +body { id1750 } name "Cell_1" +move body { id1750 } midpoint location -2.5199999999999996 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1751 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1752 = Id("body") } +subtract body { id1751 } from body { id1752 } +cylinder height 500 radius 0.4572 +#{ id1753 = Id("body") } +#{ id1754 = Id("body") } +intersect body { id1752 } { id1753 } +#{ id1755 = Id("body") } +#{id1756 = ( id1754 == id1755 ) ? id1753 : id1755} +brick x 1.26 y 1.26 z 500 +#{ id1757 = Id("body") } +intersect body { id1756 } { id1757 } +#{ id1758 = Id("body") } +body { id1758 } name "Cell_2" +move body { id1758 } midpoint location -2.5199999999999996 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1759 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1760 = Id("body") } +subtract body { id1759 } from body { id1760 } +body { id1760 } name "Cell_3" +move body { id1760 } midpoint location -2.5199999999999996 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1761 = Id("body") } +body { id1761 } name "Cell_1" +move body { id1761 } midpoint location -1.2599999999999998 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1762 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1763 = Id("body") } +subtract body { id1762 } from body { id1763 } +cylinder height 500 radius 0.4572 +#{ id1764 = Id("body") } +#{ id1765 = Id("body") } +intersect body { id1763 } { id1764 } +#{ id1766 = Id("body") } +#{id1767 = ( id1765 == id1766 ) ? id1764 : id1766} +brick x 1.26 y 1.26 z 500 +#{ id1768 = Id("body") } +intersect body { id1767 } { id1768 } +#{ id1769 = Id("body") } +body { id1769 } name "Cell_2" +move body { id1769 } midpoint location -1.2599999999999998 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1770 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1771 = Id("body") } +subtract body { id1770 } from body { id1771 } +body { id1771 } name "Cell_3" +move body { id1771 } midpoint location -1.2599999999999998 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1772 = Id("body") } +body { id1772 } name "Cell_1" +move body { id1772 } midpoint location 0.0 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1773 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1774 = Id("body") } +subtract body { id1773 } from body { id1774 } +cylinder height 500 radius 0.4572 +#{ id1775 = Id("body") } +#{ id1776 = Id("body") } +intersect body { id1774 } { id1775 } +#{ id1777 = Id("body") } +#{id1778 = ( id1776 == id1777 ) ? id1775 : id1777} +brick x 1.26 y 1.26 z 500 +#{ id1779 = Id("body") } +intersect body { id1778 } { id1779 } +#{ id1780 = Id("body") } +body { id1780 } name "Cell_2" +move body { id1780 } midpoint location 0.0 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1781 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1782 = Id("body") } +subtract body { id1781 } from body { id1782 } +body { id1782 } name "Cell_3" +move body { id1782 } midpoint location 0.0 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1783 = Id("body") } +body { id1783 } name "Cell_1" +move body { id1783 } midpoint location 1.2599999999999998 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1784 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1785 = Id("body") } +subtract body { id1784 } from body { id1785 } +cylinder height 500 radius 0.4572 +#{ id1786 = Id("body") } +#{ id1787 = Id("body") } +intersect body { id1785 } { id1786 } +#{ id1788 = Id("body") } +#{id1789 = ( id1787 == id1788 ) ? id1786 : id1788} +brick x 1.26 y 1.26 z 500 +#{ id1790 = Id("body") } +intersect body { id1789 } { id1790 } +#{ id1791 = Id("body") } +body { id1791 } name "Cell_2" +move body { id1791 } midpoint location 1.2599999999999998 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1792 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1793 = Id("body") } +subtract body { id1792 } from body { id1793 } +body { id1793 } name "Cell_3" +move body { id1793 } midpoint location 1.2599999999999998 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1794 = Id("body") } +body { id1794 } name "Cell_1" +move body { id1794 } midpoint location 2.5199999999999996 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1795 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1796 = Id("body") } +subtract body { id1795 } from body { id1796 } +cylinder height 500 radius 0.4572 +#{ id1797 = Id("body") } +#{ id1798 = Id("body") } +intersect body { id1796 } { id1797 } +#{ id1799 = Id("body") } +#{id1800 = ( id1798 == id1799 ) ? id1797 : id1799} +brick x 1.26 y 1.26 z 500 +#{ id1801 = Id("body") } +intersect body { id1800 } { id1801 } +#{ id1802 = Id("body") } +body { id1802 } name "Cell_2" +move body { id1802 } midpoint location 2.5199999999999996 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1803 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1804 = Id("body") } +subtract body { id1803 } from body { id1804 } +body { id1804 } name "Cell_3" +move body { id1804 } midpoint location 2.5199999999999996 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1805 = Id("body") } +body { id1805 } name "Cell_1" +move body { id1805 } midpoint location 3.7799999999999994 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1806 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1807 = Id("body") } +subtract body { id1806 } from body { id1807 } +cylinder height 500 radius 0.4572 +#{ id1808 = Id("body") } +#{ id1809 = Id("body") } +intersect body { id1807 } { id1808 } +#{ id1810 = Id("body") } +#{id1811 = ( id1809 == id1810 ) ? id1808 : id1810} +brick x 1.26 y 1.26 z 500 +#{ id1812 = Id("body") } +intersect body { id1811 } { id1812 } +#{ id1813 = Id("body") } +body { id1813 } name "Cell_2" +move body { id1813 } midpoint location 3.7799999999999994 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1814 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1815 = Id("body") } +subtract body { id1814 } from body { id1815 } +body { id1815 } name "Cell_3" +move body { id1815 } midpoint location 3.7799999999999994 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1816 = Id("body") } +body { id1816 } name "Cell_1" +move body { id1816 } midpoint location 5.040000000000001 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1817 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1818 = Id("body") } +subtract body { id1817 } from body { id1818 } +cylinder height 500 radius 0.4572 +#{ id1819 = Id("body") } +#{ id1820 = Id("body") } +intersect body { id1818 } { id1819 } +#{ id1821 = Id("body") } +#{id1822 = ( id1820 == id1821 ) ? id1819 : id1821} +brick x 1.26 y 1.26 z 500 +#{ id1823 = Id("body") } +intersect body { id1822 } { id1823 } +#{ id1824 = Id("body") } +body { id1824 } name "Cell_2" +move body { id1824 } midpoint location 5.040000000000001 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1825 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1826 = Id("body") } +subtract body { id1825 } from body { id1826 } +body { id1826 } name "Cell_3" +move body { id1826 } midpoint location 5.040000000000001 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1827 = Id("body") } +body { id1827 } name "Cell_1" +move body { id1827 } midpoint location 6.299999999999999 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1828 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1829 = Id("body") } +subtract body { id1828 } from body { id1829 } +cylinder height 500 radius 0.4572 +#{ id1830 = Id("body") } +#{ id1831 = Id("body") } +intersect body { id1829 } { id1830 } +#{ id1832 = Id("body") } +#{id1833 = ( id1831 == id1832 ) ? id1830 : id1832} +brick x 1.26 y 1.26 z 500 +#{ id1834 = Id("body") } +intersect body { id1833 } { id1834 } +#{ id1835 = Id("body") } +body { id1835 } name "Cell_2" +move body { id1835 } midpoint location 6.299999999999999 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1836 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1837 = Id("body") } +subtract body { id1836 } from body { id1837 } +body { id1837 } name "Cell_3" +move body { id1837 } midpoint location 6.299999999999999 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1838 = Id("body") } +body { id1838 } name "Cell_1" +move body { id1838 } midpoint location 7.5600000000000005 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1839 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1840 = Id("body") } +subtract body { id1839 } from body { id1840 } +cylinder height 500 radius 0.4572 +#{ id1841 = Id("body") } +#{ id1842 = Id("body") } +intersect body { id1840 } { id1841 } +#{ id1843 = Id("body") } +#{id1844 = ( id1842 == id1843 ) ? id1841 : id1843} +brick x 1.26 y 1.26 z 500 +#{ id1845 = Id("body") } +intersect body { id1844 } { id1845 } +#{ id1846 = Id("body") } +body { id1846 } name "Cell_2" +move body { id1846 } midpoint location 7.5600000000000005 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1847 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1848 = Id("body") } +subtract body { id1847 } from body { id1848 } +body { id1848 } name "Cell_3" +move body { id1848 } midpoint location 7.5600000000000005 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1849 = Id("body") } +body { id1849 } name "Cell_1" +move body { id1849 } midpoint location 8.819999999999999 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1850 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1851 = Id("body") } +subtract body { id1850 } from body { id1851 } +cylinder height 500 radius 0.4572 +#{ id1852 = Id("body") } +#{ id1853 = Id("body") } +intersect body { id1851 } { id1852 } +#{ id1854 = Id("body") } +#{id1855 = ( id1853 == id1854 ) ? id1852 : id1854} +brick x 1.26 y 1.26 z 500 +#{ id1856 = Id("body") } +intersect body { id1855 } { id1856 } +#{ id1857 = Id("body") } +body { id1857 } name "Cell_2" +move body { id1857 } midpoint location 8.819999999999999 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1858 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1859 = Id("body") } +subtract body { id1858 } from body { id1859 } +body { id1859 } name "Cell_3" +move body { id1859 } midpoint location 8.819999999999999 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1860 = Id("body") } +body { id1860 } name "Cell_1" +move body { id1860 } midpoint location 10.08 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1861 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1862 = Id("body") } +subtract body { id1861 } from body { id1862 } +cylinder height 500 radius 0.4572 +#{ id1863 = Id("body") } +#{ id1864 = Id("body") } +intersect body { id1862 } { id1863 } +#{ id1865 = Id("body") } +#{id1866 = ( id1864 == id1865 ) ? id1863 : id1865} +brick x 1.26 y 1.26 z 500 +#{ id1867 = Id("body") } +intersect body { id1866 } { id1867 } +#{ id1868 = Id("body") } +body { id1868 } name "Cell_2" +move body { id1868 } midpoint location 10.08 1.2599999999999998 0 except z +cylinder height 500 radius 0.4572 +#{ id1869 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1870 = Id("body") } +subtract body { id1869 } from body { id1870 } +body { id1870 } name "Cell_3" +move body { id1870 } midpoint location 10.08 1.2599999999999998 0 except z +cylinder height 500 radius 0.39218 +#{ id1871 = Id("body") } +body { id1871 } name "Cell_1" +move body { id1871 } midpoint location -10.08 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1872 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1873 = Id("body") } +subtract body { id1872 } from body { id1873 } +cylinder height 500 radius 0.4572 +#{ id1874 = Id("body") } +#{ id1875 = Id("body") } +intersect body { id1873 } { id1874 } +#{ id1876 = Id("body") } +#{id1877 = ( id1875 == id1876 ) ? id1874 : id1876} +brick x 1.26 y 1.26 z 500 +#{ id1878 = Id("body") } +intersect body { id1877 } { id1878 } +#{ id1879 = Id("body") } +body { id1879 } name "Cell_2" +move body { id1879 } midpoint location -10.08 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1880 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1881 = Id("body") } +subtract body { id1880 } from body { id1881 } +body { id1881 } name "Cell_3" +move body { id1881 } midpoint location -10.08 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1882 = Id("body") } +body { id1882 } name "Cell_1" +move body { id1882 } midpoint location -8.82 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1883 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1884 = Id("body") } +subtract body { id1883 } from body { id1884 } +cylinder height 500 radius 0.4572 +#{ id1885 = Id("body") } +#{ id1886 = Id("body") } +intersect body { id1884 } { id1885 } +#{ id1887 = Id("body") } +#{id1888 = ( id1886 == id1887 ) ? id1885 : id1887} +brick x 1.26 y 1.26 z 500 +#{ id1889 = Id("body") } +intersect body { id1888 } { id1889 } +#{ id1890 = Id("body") } +body { id1890 } name "Cell_2" +move body { id1890 } midpoint location -8.82 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1891 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1892 = Id("body") } +subtract body { id1891 } from body { id1892 } +body { id1892 } name "Cell_3" +move body { id1892 } midpoint location -8.82 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1893 = Id("body") } +body { id1893 } name "Cell_1" +move body { id1893 } midpoint location -7.5600000000000005 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1894 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1895 = Id("body") } +subtract body { id1894 } from body { id1895 } +cylinder height 500 radius 0.4572 +#{ id1896 = Id("body") } +#{ id1897 = Id("body") } +intersect body { id1895 } { id1896 } +#{ id1898 = Id("body") } +#{id1899 = ( id1897 == id1898 ) ? id1896 : id1898} +brick x 1.26 y 1.26 z 500 +#{ id1900 = Id("body") } +intersect body { id1899 } { id1900 } +#{ id1901 = Id("body") } +body { id1901 } name "Cell_2" +move body { id1901 } midpoint location -7.5600000000000005 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1902 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1903 = Id("body") } +subtract body { id1902 } from body { id1903 } +body { id1903 } name "Cell_3" +move body { id1903 } midpoint location -7.5600000000000005 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1904 = Id("body") } +body { id1904 } name "Cell_1" +move body { id1904 } midpoint location -6.3 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1905 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1906 = Id("body") } +subtract body { id1905 } from body { id1906 } +cylinder height 500 radius 0.4572 +#{ id1907 = Id("body") } +#{ id1908 = Id("body") } +intersect body { id1906 } { id1907 } +#{ id1909 = Id("body") } +#{id1910 = ( id1908 == id1909 ) ? id1907 : id1909} +brick x 1.26 y 1.26 z 500 +#{ id1911 = Id("body") } +intersect body { id1910 } { id1911 } +#{ id1912 = Id("body") } +body { id1912 } name "Cell_2" +move body { id1912 } midpoint location -6.3 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1913 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1914 = Id("body") } +subtract body { id1913 } from body { id1914 } +body { id1914 } name "Cell_3" +move body { id1914 } midpoint location -6.3 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1915 = Id("body") } +body { id1915 } name "Cell_1" +move body { id1915 } midpoint location -5.04 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1916 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1917 = Id("body") } +subtract body { id1916 } from body { id1917 } +cylinder height 500 radius 0.4572 +#{ id1918 = Id("body") } +#{ id1919 = Id("body") } +intersect body { id1917 } { id1918 } +#{ id1920 = Id("body") } +#{id1921 = ( id1919 == id1920 ) ? id1918 : id1920} +brick x 1.26 y 1.26 z 500 +#{ id1922 = Id("body") } +intersect body { id1921 } { id1922 } +#{ id1923 = Id("body") } +body { id1923 } name "Cell_2" +move body { id1923 } midpoint location -5.04 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1924 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1925 = Id("body") } +subtract body { id1924 } from body { id1925 } +body { id1925 } name "Cell_3" +move body { id1925 } midpoint location -5.04 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1926 = Id("body") } +body { id1926 } name "Cell_1" +move body { id1926 } midpoint location -3.7800000000000002 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1927 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1928 = Id("body") } +subtract body { id1927 } from body { id1928 } +cylinder height 500 radius 0.4572 +#{ id1929 = Id("body") } +#{ id1930 = Id("body") } +intersect body { id1928 } { id1929 } +#{ id1931 = Id("body") } +#{id1932 = ( id1930 == id1931 ) ? id1929 : id1931} +brick x 1.26 y 1.26 z 500 +#{ id1933 = Id("body") } +intersect body { id1932 } { id1933 } +#{ id1934 = Id("body") } +body { id1934 } name "Cell_2" +move body { id1934 } midpoint location -3.7800000000000002 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1935 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1936 = Id("body") } +subtract body { id1935 } from body { id1936 } +body { id1936 } name "Cell_3" +move body { id1936 } midpoint location -3.7800000000000002 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1937 = Id("body") } +body { id1937 } name "Cell_1" +move body { id1937 } midpoint location -2.5199999999999996 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1938 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1939 = Id("body") } +subtract body { id1938 } from body { id1939 } +cylinder height 500 radius 0.4572 +#{ id1940 = Id("body") } +#{ id1941 = Id("body") } +intersect body { id1939 } { id1940 } +#{ id1942 = Id("body") } +#{id1943 = ( id1941 == id1942 ) ? id1940 : id1942} +brick x 1.26 y 1.26 z 500 +#{ id1944 = Id("body") } +intersect body { id1943 } { id1944 } +#{ id1945 = Id("body") } +body { id1945 } name "Cell_2" +move body { id1945 } midpoint location -2.5199999999999996 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1946 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1947 = Id("body") } +subtract body { id1946 } from body { id1947 } +body { id1947 } name "Cell_3" +move body { id1947 } midpoint location -2.5199999999999996 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1948 = Id("body") } +body { id1948 } name "Cell_1" +move body { id1948 } midpoint location -1.2599999999999998 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1949 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1950 = Id("body") } +subtract body { id1949 } from body { id1950 } +cylinder height 500 radius 0.4572 +#{ id1951 = Id("body") } +#{ id1952 = Id("body") } +intersect body { id1950 } { id1951 } +#{ id1953 = Id("body") } +#{id1954 = ( id1952 == id1953 ) ? id1951 : id1953} +brick x 1.26 y 1.26 z 500 +#{ id1955 = Id("body") } +intersect body { id1954 } { id1955 } +#{ id1956 = Id("body") } +body { id1956 } name "Cell_2" +move body { id1956 } midpoint location -1.2599999999999998 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1957 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1958 = Id("body") } +subtract body { id1957 } from body { id1958 } +body { id1958 } name "Cell_3" +move body { id1958 } midpoint location -1.2599999999999998 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1959 = Id("body") } +body { id1959 } name "Cell_1" +move body { id1959 } midpoint location 0.0 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1960 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1961 = Id("body") } +subtract body { id1960 } from body { id1961 } +cylinder height 500 radius 0.4572 +#{ id1962 = Id("body") } +#{ id1963 = Id("body") } +intersect body { id1961 } { id1962 } +#{ id1964 = Id("body") } +#{id1965 = ( id1963 == id1964 ) ? id1962 : id1964} +brick x 1.26 y 1.26 z 500 +#{ id1966 = Id("body") } +intersect body { id1965 } { id1966 } +#{ id1967 = Id("body") } +body { id1967 } name "Cell_2" +move body { id1967 } midpoint location 0.0 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1968 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1969 = Id("body") } +subtract body { id1968 } from body { id1969 } +body { id1969 } name "Cell_3" +move body { id1969 } midpoint location 0.0 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1970 = Id("body") } +body { id1970 } name "Cell_1" +move body { id1970 } midpoint location 1.2599999999999998 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1971 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1972 = Id("body") } +subtract body { id1971 } from body { id1972 } +cylinder height 500 radius 0.4572 +#{ id1973 = Id("body") } +#{ id1974 = Id("body") } +intersect body { id1972 } { id1973 } +#{ id1975 = Id("body") } +#{id1976 = ( id1974 == id1975 ) ? id1973 : id1975} +brick x 1.26 y 1.26 z 500 +#{ id1977 = Id("body") } +intersect body { id1976 } { id1977 } +#{ id1978 = Id("body") } +body { id1978 } name "Cell_2" +move body { id1978 } midpoint location 1.2599999999999998 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1979 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1980 = Id("body") } +subtract body { id1979 } from body { id1980 } +body { id1980 } name "Cell_3" +move body { id1980 } midpoint location 1.2599999999999998 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1981 = Id("body") } +body { id1981 } name "Cell_1" +move body { id1981 } midpoint location 2.5199999999999996 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1982 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1983 = Id("body") } +subtract body { id1982 } from body { id1983 } +cylinder height 500 radius 0.4572 +#{ id1984 = Id("body") } +#{ id1985 = Id("body") } +intersect body { id1983 } { id1984 } +#{ id1986 = Id("body") } +#{id1987 = ( id1985 == id1986 ) ? id1984 : id1986} +brick x 1.26 y 1.26 z 500 +#{ id1988 = Id("body") } +intersect body { id1987 } { id1988 } +#{ id1989 = Id("body") } +body { id1989 } name "Cell_2" +move body { id1989 } midpoint location 2.5199999999999996 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id1990 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1991 = Id("body") } +subtract body { id1990 } from body { id1991 } +body { id1991 } name "Cell_3" +move body { id1991 } midpoint location 2.5199999999999996 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1992 = Id("body") } +body { id1992 } name "Cell_1" +move body { id1992 } midpoint location 3.7799999999999994 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id1993 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id1994 = Id("body") } +subtract body { id1993 } from body { id1994 } +cylinder height 500 radius 0.4572 +#{ id1995 = Id("body") } +#{ id1996 = Id("body") } +intersect body { id1994 } { id1995 } +#{ id1997 = Id("body") } +#{id1998 = ( id1996 == id1997 ) ? id1995 : id1997} +brick x 1.26 y 1.26 z 500 +#{ id1999 = Id("body") } +intersect body { id1998 } { id1999 } +#{ id2000 = Id("body") } +body { id2000 } name "Cell_2" +move body { id2000 } midpoint location 3.7799999999999994 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id2001 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2002 = Id("body") } +subtract body { id2001 } from body { id2002 } +body { id2002 } name "Cell_3" +move body { id2002 } midpoint location 3.7799999999999994 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2003 = Id("body") } +body { id2003 } name "Cell_1" +move body { id2003 } midpoint location 5.040000000000001 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2004 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2005 = Id("body") } +subtract body { id2004 } from body { id2005 } +cylinder height 500 radius 0.4572 +#{ id2006 = Id("body") } +#{ id2007 = Id("body") } +intersect body { id2005 } { id2006 } +#{ id2008 = Id("body") } +#{id2009 = ( id2007 == id2008 ) ? id2006 : id2008} +brick x 1.26 y 1.26 z 500 +#{ id2010 = Id("body") } +intersect body { id2009 } { id2010 } +#{ id2011 = Id("body") } +body { id2011 } name "Cell_2" +move body { id2011 } midpoint location 5.040000000000001 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id2012 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2013 = Id("body") } +subtract body { id2012 } from body { id2013 } +body { id2013 } name "Cell_3" +move body { id2013 } midpoint location 5.040000000000001 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2014 = Id("body") } +body { id2014 } name "Cell_1" +move body { id2014 } midpoint location 6.299999999999999 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2015 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2016 = Id("body") } +subtract body { id2015 } from body { id2016 } +cylinder height 500 radius 0.4572 +#{ id2017 = Id("body") } +#{ id2018 = Id("body") } +intersect body { id2016 } { id2017 } +#{ id2019 = Id("body") } +#{id2020 = ( id2018 == id2019 ) ? id2017 : id2019} +brick x 1.26 y 1.26 z 500 +#{ id2021 = Id("body") } +intersect body { id2020 } { id2021 } +#{ id2022 = Id("body") } +body { id2022 } name "Cell_2" +move body { id2022 } midpoint location 6.299999999999999 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id2023 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2024 = Id("body") } +subtract body { id2023 } from body { id2024 } +body { id2024 } name "Cell_3" +move body { id2024 } midpoint location 6.299999999999999 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2025 = Id("body") } +body { id2025 } name "Cell_1" +move body { id2025 } midpoint location 7.5600000000000005 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2026 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2027 = Id("body") } +subtract body { id2026 } from body { id2027 } +cylinder height 500 radius 0.4572 +#{ id2028 = Id("body") } +#{ id2029 = Id("body") } +intersect body { id2027 } { id2028 } +#{ id2030 = Id("body") } +#{id2031 = ( id2029 == id2030 ) ? id2028 : id2030} +brick x 1.26 y 1.26 z 500 +#{ id2032 = Id("body") } +intersect body { id2031 } { id2032 } +#{ id2033 = Id("body") } +body { id2033 } name "Cell_2" +move body { id2033 } midpoint location 7.5600000000000005 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id2034 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2035 = Id("body") } +subtract body { id2034 } from body { id2035 } +body { id2035 } name "Cell_3" +move body { id2035 } midpoint location 7.5600000000000005 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2036 = Id("body") } +body { id2036 } name "Cell_1" +move body { id2036 } midpoint location 8.819999999999999 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2037 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2038 = Id("body") } +subtract body { id2037 } from body { id2038 } +cylinder height 500 radius 0.4572 +#{ id2039 = Id("body") } +#{ id2040 = Id("body") } +intersect body { id2038 } { id2039 } +#{ id2041 = Id("body") } +#{id2042 = ( id2040 == id2041 ) ? id2039 : id2041} +brick x 1.26 y 1.26 z 500 +#{ id2043 = Id("body") } +intersect body { id2042 } { id2043 } +#{ id2044 = Id("body") } +body { id2044 } name "Cell_2" +move body { id2044 } midpoint location 8.819999999999999 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id2045 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2046 = Id("body") } +subtract body { id2045 } from body { id2046 } +body { id2046 } name "Cell_3" +move body { id2046 } midpoint location 8.819999999999999 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2047 = Id("body") } +body { id2047 } name "Cell_1" +move body { id2047 } midpoint location 10.08 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2048 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2049 = Id("body") } +subtract body { id2048 } from body { id2049 } +cylinder height 500 radius 0.4572 +#{ id2050 = Id("body") } +#{ id2051 = Id("body") } +intersect body { id2049 } { id2050 } +#{ id2052 = Id("body") } +#{id2053 = ( id2051 == id2052 ) ? id2050 : id2052} +brick x 1.26 y 1.26 z 500 +#{ id2054 = Id("body") } +intersect body { id2053 } { id2054 } +#{ id2055 = Id("body") } +body { id2055 } name "Cell_2" +move body { id2055 } midpoint location 10.08 2.5199999999999996 0 except z +cylinder height 500 radius 0.4572 +#{ id2056 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2057 = Id("body") } +subtract body { id2056 } from body { id2057 } +body { id2057 } name "Cell_3" +move body { id2057 } midpoint location 10.08 2.5199999999999996 0 except z +cylinder height 500 radius 0.39218 +#{ id2058 = Id("body") } +body { id2058 } name "Cell_1" +move body { id2058 } midpoint location -10.08 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2059 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2060 = Id("body") } +subtract body { id2059 } from body { id2060 } +cylinder height 500 radius 0.4572 +#{ id2061 = Id("body") } +#{ id2062 = Id("body") } +intersect body { id2060 } { id2061 } +#{ id2063 = Id("body") } +#{id2064 = ( id2062 == id2063 ) ? id2061 : id2063} +brick x 1.26 y 1.26 z 500 +#{ id2065 = Id("body") } +intersect body { id2064 } { id2065 } +#{ id2066 = Id("body") } +body { id2066 } name "Cell_2" +move body { id2066 } midpoint location -10.08 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2067 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2068 = Id("body") } +subtract body { id2067 } from body { id2068 } +body { id2068 } name "Cell_3" +move body { id2068 } midpoint location -10.08 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2069 = Id("body") } +body { id2069 } name "Cell_1" +move body { id2069 } midpoint location -8.82 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2070 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2071 = Id("body") } +subtract body { id2070 } from body { id2071 } +cylinder height 500 radius 0.4572 +#{ id2072 = Id("body") } +#{ id2073 = Id("body") } +intersect body { id2071 } { id2072 } +#{ id2074 = Id("body") } +#{id2075 = ( id2073 == id2074 ) ? id2072 : id2074} +brick x 1.26 y 1.26 z 500 +#{ id2076 = Id("body") } +intersect body { id2075 } { id2076 } +#{ id2077 = Id("body") } +body { id2077 } name "Cell_2" +move body { id2077 } midpoint location -8.82 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2078 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2079 = Id("body") } +subtract body { id2078 } from body { id2079 } +body { id2079 } name "Cell_3" +move body { id2079 } midpoint location -8.82 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2080 = Id("body") } +body { id2080 } name "Cell_4" +move body { id2080 } midpoint location -7.5600000000000005 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2081 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2082 = Id("body") } +subtract body { id2081 } from body { id2082 } +cylinder height 500 radius 0.4572 +#{ id2083 = Id("body") } +#{ id2084 = Id("body") } +intersect body { id2082 } { id2083 } +#{ id2085 = Id("body") } +#{id2086 = ( id2084 == id2085 ) ? id2083 : id2085} +brick x 1.26 y 1.26 z 500 +#{ id2087 = Id("body") } +intersect body { id2086 } { id2087 } +#{ id2088 = Id("body") } +body { id2088 } name "Cell_5" +move body { id2088 } midpoint location -7.5600000000000005 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2089 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2090 = Id("body") } +subtract body { id2089 } from body { id2090 } +body { id2090 } name "Cell_6" +move body { id2090 } midpoint location -7.5600000000000005 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2091 = Id("body") } +body { id2091 } name "Cell_1" +move body { id2091 } midpoint location -6.3 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2092 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2093 = Id("body") } +subtract body { id2092 } from body { id2093 } +cylinder height 500 radius 0.4572 +#{ id2094 = Id("body") } +#{ id2095 = Id("body") } +intersect body { id2093 } { id2094 } +#{ id2096 = Id("body") } +#{id2097 = ( id2095 == id2096 ) ? id2094 : id2096} +brick x 1.26 y 1.26 z 500 +#{ id2098 = Id("body") } +intersect body { id2097 } { id2098 } +#{ id2099 = Id("body") } +body { id2099 } name "Cell_2" +move body { id2099 } midpoint location -6.3 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2100 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2101 = Id("body") } +subtract body { id2100 } from body { id2101 } +body { id2101 } name "Cell_3" +move body { id2101 } midpoint location -6.3 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2102 = Id("body") } +body { id2102 } name "Cell_1" +move body { id2102 } midpoint location -5.04 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2103 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2104 = Id("body") } +subtract body { id2103 } from body { id2104 } +cylinder height 500 radius 0.4572 +#{ id2105 = Id("body") } +#{ id2106 = Id("body") } +intersect body { id2104 } { id2105 } +#{ id2107 = Id("body") } +#{id2108 = ( id2106 == id2107 ) ? id2105 : id2107} +brick x 1.26 y 1.26 z 500 +#{ id2109 = Id("body") } +intersect body { id2108 } { id2109 } +#{ id2110 = Id("body") } +body { id2110 } name "Cell_2" +move body { id2110 } midpoint location -5.04 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2111 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2112 = Id("body") } +subtract body { id2111 } from body { id2112 } +body { id2112 } name "Cell_3" +move body { id2112 } midpoint location -5.04 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2113 = Id("body") } +body { id2113 } name "Cell_4" +move body { id2113 } midpoint location -3.7800000000000002 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2114 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2115 = Id("body") } +subtract body { id2114 } from body { id2115 } +cylinder height 500 radius 0.4572 +#{ id2116 = Id("body") } +#{ id2117 = Id("body") } +intersect body { id2115 } { id2116 } +#{ id2118 = Id("body") } +#{id2119 = ( id2117 == id2118 ) ? id2116 : id2118} +brick x 1.26 y 1.26 z 500 +#{ id2120 = Id("body") } +intersect body { id2119 } { id2120 } +#{ id2121 = Id("body") } +body { id2121 } name "Cell_5" +move body { id2121 } midpoint location -3.7800000000000002 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2122 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2123 = Id("body") } +subtract body { id2122 } from body { id2123 } +body { id2123 } name "Cell_6" +move body { id2123 } midpoint location -3.7800000000000002 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2124 = Id("body") } +body { id2124 } name "Cell_1" +move body { id2124 } midpoint location -2.5199999999999996 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2125 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2126 = Id("body") } +subtract body { id2125 } from body { id2126 } +cylinder height 500 radius 0.4572 +#{ id2127 = Id("body") } +#{ id2128 = Id("body") } +intersect body { id2126 } { id2127 } +#{ id2129 = Id("body") } +#{id2130 = ( id2128 == id2129 ) ? id2127 : id2129} +brick x 1.26 y 1.26 z 500 +#{ id2131 = Id("body") } +intersect body { id2130 } { id2131 } +#{ id2132 = Id("body") } +body { id2132 } name "Cell_2" +move body { id2132 } midpoint location -2.5199999999999996 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2133 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2134 = Id("body") } +subtract body { id2133 } from body { id2134 } +body { id2134 } name "Cell_3" +move body { id2134 } midpoint location -2.5199999999999996 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2135 = Id("body") } +body { id2135 } name "Cell_1" +move body { id2135 } midpoint location -1.2599999999999998 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2136 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2137 = Id("body") } +subtract body { id2136 } from body { id2137 } +cylinder height 500 radius 0.4572 +#{ id2138 = Id("body") } +#{ id2139 = Id("body") } +intersect body { id2137 } { id2138 } +#{ id2140 = Id("body") } +#{id2141 = ( id2139 == id2140 ) ? id2138 : id2140} +brick x 1.26 y 1.26 z 500 +#{ id2142 = Id("body") } +intersect body { id2141 } { id2142 } +#{ id2143 = Id("body") } +body { id2143 } name "Cell_2" +move body { id2143 } midpoint location -1.2599999999999998 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2144 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2145 = Id("body") } +subtract body { id2144 } from body { id2145 } +body { id2145 } name "Cell_3" +move body { id2145 } midpoint location -1.2599999999999998 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2146 = Id("body") } +body { id2146 } name "Cell_4" +move body { id2146 } midpoint location 0.0 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2147 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2148 = Id("body") } +subtract body { id2147 } from body { id2148 } +cylinder height 500 radius 0.4572 +#{ id2149 = Id("body") } +#{ id2150 = Id("body") } +intersect body { id2148 } { id2149 } +#{ id2151 = Id("body") } +#{id2152 = ( id2150 == id2151 ) ? id2149 : id2151} +brick x 1.26 y 1.26 z 500 +#{ id2153 = Id("body") } +intersect body { id2152 } { id2153 } +#{ id2154 = Id("body") } +body { id2154 } name "Cell_5" +move body { id2154 } midpoint location 0.0 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2155 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2156 = Id("body") } +subtract body { id2155 } from body { id2156 } +body { id2156 } name "Cell_6" +move body { id2156 } midpoint location 0.0 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2157 = Id("body") } +body { id2157 } name "Cell_1" +move body { id2157 } midpoint location 1.2599999999999998 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2158 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2159 = Id("body") } +subtract body { id2158 } from body { id2159 } +cylinder height 500 radius 0.4572 +#{ id2160 = Id("body") } +#{ id2161 = Id("body") } +intersect body { id2159 } { id2160 } +#{ id2162 = Id("body") } +#{id2163 = ( id2161 == id2162 ) ? id2160 : id2162} +brick x 1.26 y 1.26 z 500 +#{ id2164 = Id("body") } +intersect body { id2163 } { id2164 } +#{ id2165 = Id("body") } +body { id2165 } name "Cell_2" +move body { id2165 } midpoint location 1.2599999999999998 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2166 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2167 = Id("body") } +subtract body { id2166 } from body { id2167 } +body { id2167 } name "Cell_3" +move body { id2167 } midpoint location 1.2599999999999998 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2168 = Id("body") } +body { id2168 } name "Cell_1" +move body { id2168 } midpoint location 2.5199999999999996 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2169 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2170 = Id("body") } +subtract body { id2169 } from body { id2170 } +cylinder height 500 radius 0.4572 +#{ id2171 = Id("body") } +#{ id2172 = Id("body") } +intersect body { id2170 } { id2171 } +#{ id2173 = Id("body") } +#{id2174 = ( id2172 == id2173 ) ? id2171 : id2173} +brick x 1.26 y 1.26 z 500 +#{ id2175 = Id("body") } +intersect body { id2174 } { id2175 } +#{ id2176 = Id("body") } +body { id2176 } name "Cell_2" +move body { id2176 } midpoint location 2.5199999999999996 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2177 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2178 = Id("body") } +subtract body { id2177 } from body { id2178 } +body { id2178 } name "Cell_3" +move body { id2178 } midpoint location 2.5199999999999996 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2179 = Id("body") } +body { id2179 } name "Cell_4" +move body { id2179 } midpoint location 3.7799999999999994 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2180 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2181 = Id("body") } +subtract body { id2180 } from body { id2181 } +cylinder height 500 radius 0.4572 +#{ id2182 = Id("body") } +#{ id2183 = Id("body") } +intersect body { id2181 } { id2182 } +#{ id2184 = Id("body") } +#{id2185 = ( id2183 == id2184 ) ? id2182 : id2184} +brick x 1.26 y 1.26 z 500 +#{ id2186 = Id("body") } +intersect body { id2185 } { id2186 } +#{ id2187 = Id("body") } +body { id2187 } name "Cell_5" +move body { id2187 } midpoint location 3.7799999999999994 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2188 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2189 = Id("body") } +subtract body { id2188 } from body { id2189 } +body { id2189 } name "Cell_6" +move body { id2189 } midpoint location 3.7799999999999994 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2190 = Id("body") } +body { id2190 } name "Cell_1" +move body { id2190 } midpoint location 5.040000000000001 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2191 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2192 = Id("body") } +subtract body { id2191 } from body { id2192 } +cylinder height 500 radius 0.4572 +#{ id2193 = Id("body") } +#{ id2194 = Id("body") } +intersect body { id2192 } { id2193 } +#{ id2195 = Id("body") } +#{id2196 = ( id2194 == id2195 ) ? id2193 : id2195} +brick x 1.26 y 1.26 z 500 +#{ id2197 = Id("body") } +intersect body { id2196 } { id2197 } +#{ id2198 = Id("body") } +body { id2198 } name "Cell_2" +move body { id2198 } midpoint location 5.040000000000001 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2199 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2200 = Id("body") } +subtract body { id2199 } from body { id2200 } +body { id2200 } name "Cell_3" +move body { id2200 } midpoint location 5.040000000000001 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2201 = Id("body") } +body { id2201 } name "Cell_1" +move body { id2201 } midpoint location 6.299999999999999 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2202 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2203 = Id("body") } +subtract body { id2202 } from body { id2203 } +cylinder height 500 radius 0.4572 +#{ id2204 = Id("body") } +#{ id2205 = Id("body") } +intersect body { id2203 } { id2204 } +#{ id2206 = Id("body") } +#{id2207 = ( id2205 == id2206 ) ? id2204 : id2206} +brick x 1.26 y 1.26 z 500 +#{ id2208 = Id("body") } +intersect body { id2207 } { id2208 } +#{ id2209 = Id("body") } +body { id2209 } name "Cell_2" +move body { id2209 } midpoint location 6.299999999999999 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2210 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2211 = Id("body") } +subtract body { id2210 } from body { id2211 } +body { id2211 } name "Cell_3" +move body { id2211 } midpoint location 6.299999999999999 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2212 = Id("body") } +body { id2212 } name "Cell_4" +move body { id2212 } midpoint location 7.5600000000000005 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2213 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2214 = Id("body") } +subtract body { id2213 } from body { id2214 } +cylinder height 500 radius 0.4572 +#{ id2215 = Id("body") } +#{ id2216 = Id("body") } +intersect body { id2214 } { id2215 } +#{ id2217 = Id("body") } +#{id2218 = ( id2216 == id2217 ) ? id2215 : id2217} +brick x 1.26 y 1.26 z 500 +#{ id2219 = Id("body") } +intersect body { id2218 } { id2219 } +#{ id2220 = Id("body") } +body { id2220 } name "Cell_5" +move body { id2220 } midpoint location 7.5600000000000005 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2221 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2222 = Id("body") } +subtract body { id2221 } from body { id2222 } +body { id2222 } name "Cell_6" +move body { id2222 } midpoint location 7.5600000000000005 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2223 = Id("body") } +body { id2223 } name "Cell_1" +move body { id2223 } midpoint location 8.819999999999999 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2224 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2225 = Id("body") } +subtract body { id2224 } from body { id2225 } +cylinder height 500 radius 0.4572 +#{ id2226 = Id("body") } +#{ id2227 = Id("body") } +intersect body { id2225 } { id2226 } +#{ id2228 = Id("body") } +#{id2229 = ( id2227 == id2228 ) ? id2226 : id2228} +brick x 1.26 y 1.26 z 500 +#{ id2230 = Id("body") } +intersect body { id2229 } { id2230 } +#{ id2231 = Id("body") } +body { id2231 } name "Cell_2" +move body { id2231 } midpoint location 8.819999999999999 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2232 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2233 = Id("body") } +subtract body { id2232 } from body { id2233 } +body { id2233 } name "Cell_3" +move body { id2233 } midpoint location 8.819999999999999 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2234 = Id("body") } +body { id2234 } name "Cell_1" +move body { id2234 } midpoint location 10.08 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2235 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2236 = Id("body") } +subtract body { id2235 } from body { id2236 } +cylinder height 500 radius 0.4572 +#{ id2237 = Id("body") } +#{ id2238 = Id("body") } +intersect body { id2236 } { id2237 } +#{ id2239 = Id("body") } +#{id2240 = ( id2238 == id2239 ) ? id2237 : id2239} +brick x 1.26 y 1.26 z 500 +#{ id2241 = Id("body") } +intersect body { id2240 } { id2241 } +#{ id2242 = Id("body") } +body { id2242 } name "Cell_2" +move body { id2242 } midpoint location 10.08 3.7799999999999994 0 except z +cylinder height 500 radius 0.4572 +#{ id2243 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2244 = Id("body") } +subtract body { id2243 } from body { id2244 } +body { id2244 } name "Cell_3" +move body { id2244 } midpoint location 10.08 3.7799999999999994 0 except z +cylinder height 500 radius 0.39218 +#{ id2245 = Id("body") } +body { id2245 } name "Cell_1" +move body { id2245 } midpoint location -10.08 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2246 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2247 = Id("body") } +subtract body { id2246 } from body { id2247 } +cylinder height 500 radius 0.4572 +#{ id2248 = Id("body") } +#{ id2249 = Id("body") } +intersect body { id2247 } { id2248 } +#{ id2250 = Id("body") } +#{id2251 = ( id2249 == id2250 ) ? id2248 : id2250} +brick x 1.26 y 1.26 z 500 +#{ id2252 = Id("body") } +intersect body { id2251 } { id2252 } +#{ id2253 = Id("body") } +body { id2253 } name "Cell_2" +move body { id2253 } midpoint location -10.08 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2254 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2255 = Id("body") } +subtract body { id2254 } from body { id2255 } +body { id2255 } name "Cell_3" +move body { id2255 } midpoint location -10.08 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2256 = Id("body") } +body { id2256 } name "Cell_1" +move body { id2256 } midpoint location -8.82 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2257 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2258 = Id("body") } +subtract body { id2257 } from body { id2258 } +cylinder height 500 radius 0.4572 +#{ id2259 = Id("body") } +#{ id2260 = Id("body") } +intersect body { id2258 } { id2259 } +#{ id2261 = Id("body") } +#{id2262 = ( id2260 == id2261 ) ? id2259 : id2261} +brick x 1.26 y 1.26 z 500 +#{ id2263 = Id("body") } +intersect body { id2262 } { id2263 } +#{ id2264 = Id("body") } +body { id2264 } name "Cell_2" +move body { id2264 } midpoint location -8.82 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2265 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2266 = Id("body") } +subtract body { id2265 } from body { id2266 } +body { id2266 } name "Cell_3" +move body { id2266 } midpoint location -8.82 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2267 = Id("body") } +body { id2267 } name "Cell_1" +move body { id2267 } midpoint location -7.5600000000000005 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2268 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2269 = Id("body") } +subtract body { id2268 } from body { id2269 } +cylinder height 500 radius 0.4572 +#{ id2270 = Id("body") } +#{ id2271 = Id("body") } +intersect body { id2269 } { id2270 } +#{ id2272 = Id("body") } +#{id2273 = ( id2271 == id2272 ) ? id2270 : id2272} +brick x 1.26 y 1.26 z 500 +#{ id2274 = Id("body") } +intersect body { id2273 } { id2274 } +#{ id2275 = Id("body") } +body { id2275 } name "Cell_2" +move body { id2275 } midpoint location -7.5600000000000005 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2276 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2277 = Id("body") } +subtract body { id2276 } from body { id2277 } +body { id2277 } name "Cell_3" +move body { id2277 } midpoint location -7.5600000000000005 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2278 = Id("body") } +body { id2278 } name "Cell_1" +move body { id2278 } midpoint location -6.3 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2279 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2280 = Id("body") } +subtract body { id2279 } from body { id2280 } +cylinder height 500 radius 0.4572 +#{ id2281 = Id("body") } +#{ id2282 = Id("body") } +intersect body { id2280 } { id2281 } +#{ id2283 = Id("body") } +#{id2284 = ( id2282 == id2283 ) ? id2281 : id2283} +brick x 1.26 y 1.26 z 500 +#{ id2285 = Id("body") } +intersect body { id2284 } { id2285 } +#{ id2286 = Id("body") } +body { id2286 } name "Cell_2" +move body { id2286 } midpoint location -6.3 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2287 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2288 = Id("body") } +subtract body { id2287 } from body { id2288 } +body { id2288 } name "Cell_3" +move body { id2288 } midpoint location -6.3 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2289 = Id("body") } +body { id2289 } name "Cell_1" +move body { id2289 } midpoint location -5.04 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2290 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2291 = Id("body") } +subtract body { id2290 } from body { id2291 } +cylinder height 500 radius 0.4572 +#{ id2292 = Id("body") } +#{ id2293 = Id("body") } +intersect body { id2291 } { id2292 } +#{ id2294 = Id("body") } +#{id2295 = ( id2293 == id2294 ) ? id2292 : id2294} +brick x 1.26 y 1.26 z 500 +#{ id2296 = Id("body") } +intersect body { id2295 } { id2296 } +#{ id2297 = Id("body") } +body { id2297 } name "Cell_2" +move body { id2297 } midpoint location -5.04 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2298 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2299 = Id("body") } +subtract body { id2298 } from body { id2299 } +body { id2299 } name "Cell_3" +move body { id2299 } midpoint location -5.04 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2300 = Id("body") } +body { id2300 } name "Cell_1" +move body { id2300 } midpoint location -3.7800000000000002 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2301 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2302 = Id("body") } +subtract body { id2301 } from body { id2302 } +cylinder height 500 radius 0.4572 +#{ id2303 = Id("body") } +#{ id2304 = Id("body") } +intersect body { id2302 } { id2303 } +#{ id2305 = Id("body") } +#{id2306 = ( id2304 == id2305 ) ? id2303 : id2305} +brick x 1.26 y 1.26 z 500 +#{ id2307 = Id("body") } +intersect body { id2306 } { id2307 } +#{ id2308 = Id("body") } +body { id2308 } name "Cell_2" +move body { id2308 } midpoint location -3.7800000000000002 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2309 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2310 = Id("body") } +subtract body { id2309 } from body { id2310 } +body { id2310 } name "Cell_3" +move body { id2310 } midpoint location -3.7800000000000002 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2311 = Id("body") } +body { id2311 } name "Cell_1" +move body { id2311 } midpoint location -2.5199999999999996 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2312 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2313 = Id("body") } +subtract body { id2312 } from body { id2313 } +cylinder height 500 radius 0.4572 +#{ id2314 = Id("body") } +#{ id2315 = Id("body") } +intersect body { id2313 } { id2314 } +#{ id2316 = Id("body") } +#{id2317 = ( id2315 == id2316 ) ? id2314 : id2316} +brick x 1.26 y 1.26 z 500 +#{ id2318 = Id("body") } +intersect body { id2317 } { id2318 } +#{ id2319 = Id("body") } +body { id2319 } name "Cell_2" +move body { id2319 } midpoint location -2.5199999999999996 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2320 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2321 = Id("body") } +subtract body { id2320 } from body { id2321 } +body { id2321 } name "Cell_3" +move body { id2321 } midpoint location -2.5199999999999996 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2322 = Id("body") } +body { id2322 } name "Cell_1" +move body { id2322 } midpoint location -1.2599999999999998 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2323 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2324 = Id("body") } +subtract body { id2323 } from body { id2324 } +cylinder height 500 radius 0.4572 +#{ id2325 = Id("body") } +#{ id2326 = Id("body") } +intersect body { id2324 } { id2325 } +#{ id2327 = Id("body") } +#{id2328 = ( id2326 == id2327 ) ? id2325 : id2327} +brick x 1.26 y 1.26 z 500 +#{ id2329 = Id("body") } +intersect body { id2328 } { id2329 } +#{ id2330 = Id("body") } +body { id2330 } name "Cell_2" +move body { id2330 } midpoint location -1.2599999999999998 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2331 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2332 = Id("body") } +subtract body { id2331 } from body { id2332 } +body { id2332 } name "Cell_3" +move body { id2332 } midpoint location -1.2599999999999998 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2333 = Id("body") } +body { id2333 } name "Cell_1" +move body { id2333 } midpoint location 0.0 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2334 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2335 = Id("body") } +subtract body { id2334 } from body { id2335 } +cylinder height 500 radius 0.4572 +#{ id2336 = Id("body") } +#{ id2337 = Id("body") } +intersect body { id2335 } { id2336 } +#{ id2338 = Id("body") } +#{id2339 = ( id2337 == id2338 ) ? id2336 : id2338} +brick x 1.26 y 1.26 z 500 +#{ id2340 = Id("body") } +intersect body { id2339 } { id2340 } +#{ id2341 = Id("body") } +body { id2341 } name "Cell_2" +move body { id2341 } midpoint location 0.0 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2342 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2343 = Id("body") } +subtract body { id2342 } from body { id2343 } +body { id2343 } name "Cell_3" +move body { id2343 } midpoint location 0.0 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2344 = Id("body") } +body { id2344 } name "Cell_1" +move body { id2344 } midpoint location 1.2599999999999998 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2345 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2346 = Id("body") } +subtract body { id2345 } from body { id2346 } +cylinder height 500 radius 0.4572 +#{ id2347 = Id("body") } +#{ id2348 = Id("body") } +intersect body { id2346 } { id2347 } +#{ id2349 = Id("body") } +#{id2350 = ( id2348 == id2349 ) ? id2347 : id2349} +brick x 1.26 y 1.26 z 500 +#{ id2351 = Id("body") } +intersect body { id2350 } { id2351 } +#{ id2352 = Id("body") } +body { id2352 } name "Cell_2" +move body { id2352 } midpoint location 1.2599999999999998 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2353 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2354 = Id("body") } +subtract body { id2353 } from body { id2354 } +body { id2354 } name "Cell_3" +move body { id2354 } midpoint location 1.2599999999999998 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2355 = Id("body") } +body { id2355 } name "Cell_1" +move body { id2355 } midpoint location 2.5199999999999996 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2356 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2357 = Id("body") } +subtract body { id2356 } from body { id2357 } +cylinder height 500 radius 0.4572 +#{ id2358 = Id("body") } +#{ id2359 = Id("body") } +intersect body { id2357 } { id2358 } +#{ id2360 = Id("body") } +#{id2361 = ( id2359 == id2360 ) ? id2358 : id2360} +brick x 1.26 y 1.26 z 500 +#{ id2362 = Id("body") } +intersect body { id2361 } { id2362 } +#{ id2363 = Id("body") } +body { id2363 } name "Cell_2" +move body { id2363 } midpoint location 2.5199999999999996 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2364 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2365 = Id("body") } +subtract body { id2364 } from body { id2365 } +body { id2365 } name "Cell_3" +move body { id2365 } midpoint location 2.5199999999999996 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2366 = Id("body") } +body { id2366 } name "Cell_1" +move body { id2366 } midpoint location 3.7799999999999994 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2367 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2368 = Id("body") } +subtract body { id2367 } from body { id2368 } +cylinder height 500 radius 0.4572 +#{ id2369 = Id("body") } +#{ id2370 = Id("body") } +intersect body { id2368 } { id2369 } +#{ id2371 = Id("body") } +#{id2372 = ( id2370 == id2371 ) ? id2369 : id2371} +brick x 1.26 y 1.26 z 500 +#{ id2373 = Id("body") } +intersect body { id2372 } { id2373 } +#{ id2374 = Id("body") } +body { id2374 } name "Cell_2" +move body { id2374 } midpoint location 3.7799999999999994 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2375 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2376 = Id("body") } +subtract body { id2375 } from body { id2376 } +body { id2376 } name "Cell_3" +move body { id2376 } midpoint location 3.7799999999999994 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2377 = Id("body") } +body { id2377 } name "Cell_1" +move body { id2377 } midpoint location 5.040000000000001 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2378 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2379 = Id("body") } +subtract body { id2378 } from body { id2379 } +cylinder height 500 radius 0.4572 +#{ id2380 = Id("body") } +#{ id2381 = Id("body") } +intersect body { id2379 } { id2380 } +#{ id2382 = Id("body") } +#{id2383 = ( id2381 == id2382 ) ? id2380 : id2382} +brick x 1.26 y 1.26 z 500 +#{ id2384 = Id("body") } +intersect body { id2383 } { id2384 } +#{ id2385 = Id("body") } +body { id2385 } name "Cell_2" +move body { id2385 } midpoint location 5.040000000000001 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2386 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2387 = Id("body") } +subtract body { id2386 } from body { id2387 } +body { id2387 } name "Cell_3" +move body { id2387 } midpoint location 5.040000000000001 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2388 = Id("body") } +body { id2388 } name "Cell_1" +move body { id2388 } midpoint location 6.299999999999999 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2389 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2390 = Id("body") } +subtract body { id2389 } from body { id2390 } +cylinder height 500 radius 0.4572 +#{ id2391 = Id("body") } +#{ id2392 = Id("body") } +intersect body { id2390 } { id2391 } +#{ id2393 = Id("body") } +#{id2394 = ( id2392 == id2393 ) ? id2391 : id2393} +brick x 1.26 y 1.26 z 500 +#{ id2395 = Id("body") } +intersect body { id2394 } { id2395 } +#{ id2396 = Id("body") } +body { id2396 } name "Cell_2" +move body { id2396 } midpoint location 6.299999999999999 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2397 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2398 = Id("body") } +subtract body { id2397 } from body { id2398 } +body { id2398 } name "Cell_3" +move body { id2398 } midpoint location 6.299999999999999 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2399 = Id("body") } +body { id2399 } name "Cell_1" +move body { id2399 } midpoint location 7.5600000000000005 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2400 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2401 = Id("body") } +subtract body { id2400 } from body { id2401 } +cylinder height 500 radius 0.4572 +#{ id2402 = Id("body") } +#{ id2403 = Id("body") } +intersect body { id2401 } { id2402 } +#{ id2404 = Id("body") } +#{id2405 = ( id2403 == id2404 ) ? id2402 : id2404} +brick x 1.26 y 1.26 z 500 +#{ id2406 = Id("body") } +intersect body { id2405 } { id2406 } +#{ id2407 = Id("body") } +body { id2407 } name "Cell_2" +move body { id2407 } midpoint location 7.5600000000000005 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2408 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2409 = Id("body") } +subtract body { id2408 } from body { id2409 } +body { id2409 } name "Cell_3" +move body { id2409 } midpoint location 7.5600000000000005 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2410 = Id("body") } +body { id2410 } name "Cell_1" +move body { id2410 } midpoint location 8.819999999999999 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2411 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2412 = Id("body") } +subtract body { id2411 } from body { id2412 } +cylinder height 500 radius 0.4572 +#{ id2413 = Id("body") } +#{ id2414 = Id("body") } +intersect body { id2412 } { id2413 } +#{ id2415 = Id("body") } +#{id2416 = ( id2414 == id2415 ) ? id2413 : id2415} +brick x 1.26 y 1.26 z 500 +#{ id2417 = Id("body") } +intersect body { id2416 } { id2417 } +#{ id2418 = Id("body") } +body { id2418 } name "Cell_2" +move body { id2418 } midpoint location 8.819999999999999 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2419 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2420 = Id("body") } +subtract body { id2419 } from body { id2420 } +body { id2420 } name "Cell_3" +move body { id2420 } midpoint location 8.819999999999999 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2421 = Id("body") } +body { id2421 } name "Cell_1" +move body { id2421 } midpoint location 10.08 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2422 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2423 = Id("body") } +subtract body { id2422 } from body { id2423 } +cylinder height 500 radius 0.4572 +#{ id2424 = Id("body") } +#{ id2425 = Id("body") } +intersect body { id2423 } { id2424 } +#{ id2426 = Id("body") } +#{id2427 = ( id2425 == id2426 ) ? id2424 : id2426} +brick x 1.26 y 1.26 z 500 +#{ id2428 = Id("body") } +intersect body { id2427 } { id2428 } +#{ id2429 = Id("body") } +body { id2429 } name "Cell_2" +move body { id2429 } midpoint location 10.08 5.040000000000001 0 except z +cylinder height 500 radius 0.4572 +#{ id2430 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2431 = Id("body") } +subtract body { id2430 } from body { id2431 } +body { id2431 } name "Cell_3" +move body { id2431 } midpoint location 10.08 5.040000000000001 0 except z +cylinder height 500 radius 0.39218 +#{ id2432 = Id("body") } +body { id2432 } name "Cell_1" +move body { id2432 } midpoint location -10.08 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2433 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2434 = Id("body") } +subtract body { id2433 } from body { id2434 } +cylinder height 500 radius 0.4572 +#{ id2435 = Id("body") } +#{ id2436 = Id("body") } +intersect body { id2434 } { id2435 } +#{ id2437 = Id("body") } +#{id2438 = ( id2436 == id2437 ) ? id2435 : id2437} +brick x 1.26 y 1.26 z 500 +#{ id2439 = Id("body") } +intersect body { id2438 } { id2439 } +#{ id2440 = Id("body") } +body { id2440 } name "Cell_2" +move body { id2440 } midpoint location -10.08 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2441 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2442 = Id("body") } +subtract body { id2441 } from body { id2442 } +body { id2442 } name "Cell_3" +move body { id2442 } midpoint location -10.08 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2443 = Id("body") } +body { id2443 } name "Cell_1" +move body { id2443 } midpoint location -8.82 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2444 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2445 = Id("body") } +subtract body { id2444 } from body { id2445 } +cylinder height 500 radius 0.4572 +#{ id2446 = Id("body") } +#{ id2447 = Id("body") } +intersect body { id2445 } { id2446 } +#{ id2448 = Id("body") } +#{id2449 = ( id2447 == id2448 ) ? id2446 : id2448} +brick x 1.26 y 1.26 z 500 +#{ id2450 = Id("body") } +intersect body { id2449 } { id2450 } +#{ id2451 = Id("body") } +body { id2451 } name "Cell_2" +move body { id2451 } midpoint location -8.82 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2452 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2453 = Id("body") } +subtract body { id2452 } from body { id2453 } +body { id2453 } name "Cell_3" +move body { id2453 } midpoint location -8.82 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2454 = Id("body") } +body { id2454 } name "Cell_1" +move body { id2454 } midpoint location -7.5600000000000005 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2455 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2456 = Id("body") } +subtract body { id2455 } from body { id2456 } +cylinder height 500 radius 0.4572 +#{ id2457 = Id("body") } +#{ id2458 = Id("body") } +intersect body { id2456 } { id2457 } +#{ id2459 = Id("body") } +#{id2460 = ( id2458 == id2459 ) ? id2457 : id2459} +brick x 1.26 y 1.26 z 500 +#{ id2461 = Id("body") } +intersect body { id2460 } { id2461 } +#{ id2462 = Id("body") } +body { id2462 } name "Cell_2" +move body { id2462 } midpoint location -7.5600000000000005 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2463 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2464 = Id("body") } +subtract body { id2463 } from body { id2464 } +body { id2464 } name "Cell_3" +move body { id2464 } midpoint location -7.5600000000000005 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2465 = Id("body") } +body { id2465 } name "Cell_4" +move body { id2465 } midpoint location -6.3 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2466 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2467 = Id("body") } +subtract body { id2466 } from body { id2467 } +cylinder height 500 radius 0.4572 +#{ id2468 = Id("body") } +#{ id2469 = Id("body") } +intersect body { id2467 } { id2468 } +#{ id2470 = Id("body") } +#{id2471 = ( id2469 == id2470 ) ? id2468 : id2470} +brick x 1.26 y 1.26 z 500 +#{ id2472 = Id("body") } +intersect body { id2471 } { id2472 } +#{ id2473 = Id("body") } +body { id2473 } name "Cell_5" +move body { id2473 } midpoint location -6.3 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2474 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2475 = Id("body") } +subtract body { id2474 } from body { id2475 } +body { id2475 } name "Cell_6" +move body { id2475 } midpoint location -6.3 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2476 = Id("body") } +body { id2476 } name "Cell_1" +move body { id2476 } midpoint location -5.04 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2477 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2478 = Id("body") } +subtract body { id2477 } from body { id2478 } +cylinder height 500 radius 0.4572 +#{ id2479 = Id("body") } +#{ id2480 = Id("body") } +intersect body { id2478 } { id2479 } +#{ id2481 = Id("body") } +#{id2482 = ( id2480 == id2481 ) ? id2479 : id2481} +brick x 1.26 y 1.26 z 500 +#{ id2483 = Id("body") } +intersect body { id2482 } { id2483 } +#{ id2484 = Id("body") } +body { id2484 } name "Cell_2" +move body { id2484 } midpoint location -5.04 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2485 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2486 = Id("body") } +subtract body { id2485 } from body { id2486 } +body { id2486 } name "Cell_3" +move body { id2486 } midpoint location -5.04 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2487 = Id("body") } +body { id2487 } name "Cell_1" +move body { id2487 } midpoint location -3.7800000000000002 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2488 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2489 = Id("body") } +subtract body { id2488 } from body { id2489 } +cylinder height 500 radius 0.4572 +#{ id2490 = Id("body") } +#{ id2491 = Id("body") } +intersect body { id2489 } { id2490 } +#{ id2492 = Id("body") } +#{id2493 = ( id2491 == id2492 ) ? id2490 : id2492} +brick x 1.26 y 1.26 z 500 +#{ id2494 = Id("body") } +intersect body { id2493 } { id2494 } +#{ id2495 = Id("body") } +body { id2495 } name "Cell_2" +move body { id2495 } midpoint location -3.7800000000000002 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2496 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2497 = Id("body") } +subtract body { id2496 } from body { id2497 } +body { id2497 } name "Cell_3" +move body { id2497 } midpoint location -3.7800000000000002 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2498 = Id("body") } +body { id2498 } name "Cell_1" +move body { id2498 } midpoint location -2.5199999999999996 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2499 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2500 = Id("body") } +subtract body { id2499 } from body { id2500 } +cylinder height 500 radius 0.4572 +#{ id2501 = Id("body") } +#{ id2502 = Id("body") } +intersect body { id2500 } { id2501 } +#{ id2503 = Id("body") } +#{id2504 = ( id2502 == id2503 ) ? id2501 : id2503} +brick x 1.26 y 1.26 z 500 +#{ id2505 = Id("body") } +intersect body { id2504 } { id2505 } +#{ id2506 = Id("body") } +body { id2506 } name "Cell_2" +move body { id2506 } midpoint location -2.5199999999999996 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2507 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2508 = Id("body") } +subtract body { id2507 } from body { id2508 } +body { id2508 } name "Cell_3" +move body { id2508 } midpoint location -2.5199999999999996 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2509 = Id("body") } +body { id2509 } name "Cell_1" +move body { id2509 } midpoint location -1.2599999999999998 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2510 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2511 = Id("body") } +subtract body { id2510 } from body { id2511 } +cylinder height 500 radius 0.4572 +#{ id2512 = Id("body") } +#{ id2513 = Id("body") } +intersect body { id2511 } { id2512 } +#{ id2514 = Id("body") } +#{id2515 = ( id2513 == id2514 ) ? id2512 : id2514} +brick x 1.26 y 1.26 z 500 +#{ id2516 = Id("body") } +intersect body { id2515 } { id2516 } +#{ id2517 = Id("body") } +body { id2517 } name "Cell_2" +move body { id2517 } midpoint location -1.2599999999999998 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2518 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2519 = Id("body") } +subtract body { id2518 } from body { id2519 } +body { id2519 } name "Cell_3" +move body { id2519 } midpoint location -1.2599999999999998 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2520 = Id("body") } +body { id2520 } name "Cell_1" +move body { id2520 } midpoint location 0.0 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2521 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2522 = Id("body") } +subtract body { id2521 } from body { id2522 } +cylinder height 500 radius 0.4572 +#{ id2523 = Id("body") } +#{ id2524 = Id("body") } +intersect body { id2522 } { id2523 } +#{ id2525 = Id("body") } +#{id2526 = ( id2524 == id2525 ) ? id2523 : id2525} +brick x 1.26 y 1.26 z 500 +#{ id2527 = Id("body") } +intersect body { id2526 } { id2527 } +#{ id2528 = Id("body") } +body { id2528 } name "Cell_2" +move body { id2528 } midpoint location 0.0 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2529 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2530 = Id("body") } +subtract body { id2529 } from body { id2530 } +body { id2530 } name "Cell_3" +move body { id2530 } midpoint location 0.0 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2531 = Id("body") } +body { id2531 } name "Cell_1" +move body { id2531 } midpoint location 1.2599999999999998 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2532 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2533 = Id("body") } +subtract body { id2532 } from body { id2533 } +cylinder height 500 radius 0.4572 +#{ id2534 = Id("body") } +#{ id2535 = Id("body") } +intersect body { id2533 } { id2534 } +#{ id2536 = Id("body") } +#{id2537 = ( id2535 == id2536 ) ? id2534 : id2536} +brick x 1.26 y 1.26 z 500 +#{ id2538 = Id("body") } +intersect body { id2537 } { id2538 } +#{ id2539 = Id("body") } +body { id2539 } name "Cell_2" +move body { id2539 } midpoint location 1.2599999999999998 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2540 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2541 = Id("body") } +subtract body { id2540 } from body { id2541 } +body { id2541 } name "Cell_3" +move body { id2541 } midpoint location 1.2599999999999998 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2542 = Id("body") } +body { id2542 } name "Cell_1" +move body { id2542 } midpoint location 2.5199999999999996 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2543 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2544 = Id("body") } +subtract body { id2543 } from body { id2544 } +cylinder height 500 radius 0.4572 +#{ id2545 = Id("body") } +#{ id2546 = Id("body") } +intersect body { id2544 } { id2545 } +#{ id2547 = Id("body") } +#{id2548 = ( id2546 == id2547 ) ? id2545 : id2547} +brick x 1.26 y 1.26 z 500 +#{ id2549 = Id("body") } +intersect body { id2548 } { id2549 } +#{ id2550 = Id("body") } +body { id2550 } name "Cell_2" +move body { id2550 } midpoint location 2.5199999999999996 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2551 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2552 = Id("body") } +subtract body { id2551 } from body { id2552 } +body { id2552 } name "Cell_3" +move body { id2552 } midpoint location 2.5199999999999996 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2553 = Id("body") } +body { id2553 } name "Cell_1" +move body { id2553 } midpoint location 3.7799999999999994 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2554 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2555 = Id("body") } +subtract body { id2554 } from body { id2555 } +cylinder height 500 radius 0.4572 +#{ id2556 = Id("body") } +#{ id2557 = Id("body") } +intersect body { id2555 } { id2556 } +#{ id2558 = Id("body") } +#{id2559 = ( id2557 == id2558 ) ? id2556 : id2558} +brick x 1.26 y 1.26 z 500 +#{ id2560 = Id("body") } +intersect body { id2559 } { id2560 } +#{ id2561 = Id("body") } +body { id2561 } name "Cell_2" +move body { id2561 } midpoint location 3.7799999999999994 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2562 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2563 = Id("body") } +subtract body { id2562 } from body { id2563 } +body { id2563 } name "Cell_3" +move body { id2563 } midpoint location 3.7799999999999994 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2564 = Id("body") } +body { id2564 } name "Cell_1" +move body { id2564 } midpoint location 5.040000000000001 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2565 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2566 = Id("body") } +subtract body { id2565 } from body { id2566 } +cylinder height 500 radius 0.4572 +#{ id2567 = Id("body") } +#{ id2568 = Id("body") } +intersect body { id2566 } { id2567 } +#{ id2569 = Id("body") } +#{id2570 = ( id2568 == id2569 ) ? id2567 : id2569} +brick x 1.26 y 1.26 z 500 +#{ id2571 = Id("body") } +intersect body { id2570 } { id2571 } +#{ id2572 = Id("body") } +body { id2572 } name "Cell_2" +move body { id2572 } midpoint location 5.040000000000001 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2573 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2574 = Id("body") } +subtract body { id2573 } from body { id2574 } +body { id2574 } name "Cell_3" +move body { id2574 } midpoint location 5.040000000000001 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2575 = Id("body") } +body { id2575 } name "Cell_4" +move body { id2575 } midpoint location 6.299999999999999 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2576 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2577 = Id("body") } +subtract body { id2576 } from body { id2577 } +cylinder height 500 radius 0.4572 +#{ id2578 = Id("body") } +#{ id2579 = Id("body") } +intersect body { id2577 } { id2578 } +#{ id2580 = Id("body") } +#{id2581 = ( id2579 == id2580 ) ? id2578 : id2580} +brick x 1.26 y 1.26 z 500 +#{ id2582 = Id("body") } +intersect body { id2581 } { id2582 } +#{ id2583 = Id("body") } +body { id2583 } name "Cell_5" +move body { id2583 } midpoint location 6.299999999999999 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2584 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2585 = Id("body") } +subtract body { id2584 } from body { id2585 } +body { id2585 } name "Cell_6" +move body { id2585 } midpoint location 6.299999999999999 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2586 = Id("body") } +body { id2586 } name "Cell_1" +move body { id2586 } midpoint location 7.5600000000000005 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2587 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2588 = Id("body") } +subtract body { id2587 } from body { id2588 } +cylinder height 500 radius 0.4572 +#{ id2589 = Id("body") } +#{ id2590 = Id("body") } +intersect body { id2588 } { id2589 } +#{ id2591 = Id("body") } +#{id2592 = ( id2590 == id2591 ) ? id2589 : id2591} +brick x 1.26 y 1.26 z 500 +#{ id2593 = Id("body") } +intersect body { id2592 } { id2593 } +#{ id2594 = Id("body") } +body { id2594 } name "Cell_2" +move body { id2594 } midpoint location 7.5600000000000005 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2595 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2596 = Id("body") } +subtract body { id2595 } from body { id2596 } +body { id2596 } name "Cell_3" +move body { id2596 } midpoint location 7.5600000000000005 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2597 = Id("body") } +body { id2597 } name "Cell_1" +move body { id2597 } midpoint location 8.819999999999999 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2598 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2599 = Id("body") } +subtract body { id2598 } from body { id2599 } +cylinder height 500 radius 0.4572 +#{ id2600 = Id("body") } +#{ id2601 = Id("body") } +intersect body { id2599 } { id2600 } +#{ id2602 = Id("body") } +#{id2603 = ( id2601 == id2602 ) ? id2600 : id2602} +brick x 1.26 y 1.26 z 500 +#{ id2604 = Id("body") } +intersect body { id2603 } { id2604 } +#{ id2605 = Id("body") } +body { id2605 } name "Cell_2" +move body { id2605 } midpoint location 8.819999999999999 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2606 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2607 = Id("body") } +subtract body { id2606 } from body { id2607 } +body { id2607 } name "Cell_3" +move body { id2607 } midpoint location 8.819999999999999 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2608 = Id("body") } +body { id2608 } name "Cell_1" +move body { id2608 } midpoint location 10.08 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2609 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2610 = Id("body") } +subtract body { id2609 } from body { id2610 } +cylinder height 500 radius 0.4572 +#{ id2611 = Id("body") } +#{ id2612 = Id("body") } +intersect body { id2610 } { id2611 } +#{ id2613 = Id("body") } +#{id2614 = ( id2612 == id2613 ) ? id2611 : id2613} +brick x 1.26 y 1.26 z 500 +#{ id2615 = Id("body") } +intersect body { id2614 } { id2615 } +#{ id2616 = Id("body") } +body { id2616 } name "Cell_2" +move body { id2616 } midpoint location 10.08 6.299999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2617 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2618 = Id("body") } +subtract body { id2617 } from body { id2618 } +body { id2618 } name "Cell_3" +move body { id2618 } midpoint location 10.08 6.299999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2619 = Id("body") } +body { id2619 } name "Cell_1" +move body { id2619 } midpoint location -10.08 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2620 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2621 = Id("body") } +subtract body { id2620 } from body { id2621 } +cylinder height 500 radius 0.4572 +#{ id2622 = Id("body") } +#{ id2623 = Id("body") } +intersect body { id2621 } { id2622 } +#{ id2624 = Id("body") } +#{id2625 = ( id2623 == id2624 ) ? id2622 : id2624} +brick x 1.26 y 1.26 z 500 +#{ id2626 = Id("body") } +intersect body { id2625 } { id2626 } +#{ id2627 = Id("body") } +body { id2627 } name "Cell_2" +move body { id2627 } midpoint location -10.08 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2628 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2629 = Id("body") } +subtract body { id2628 } from body { id2629 } +body { id2629 } name "Cell_3" +move body { id2629 } midpoint location -10.08 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2630 = Id("body") } +body { id2630 } name "Cell_1" +move body { id2630 } midpoint location -8.82 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2631 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2632 = Id("body") } +subtract body { id2631 } from body { id2632 } +cylinder height 500 radius 0.4572 +#{ id2633 = Id("body") } +#{ id2634 = Id("body") } +intersect body { id2632 } { id2633 } +#{ id2635 = Id("body") } +#{id2636 = ( id2634 == id2635 ) ? id2633 : id2635} +brick x 1.26 y 1.26 z 500 +#{ id2637 = Id("body") } +intersect body { id2636 } { id2637 } +#{ id2638 = Id("body") } +body { id2638 } name "Cell_2" +move body { id2638 } midpoint location -8.82 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2639 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2640 = Id("body") } +subtract body { id2639 } from body { id2640 } +body { id2640 } name "Cell_3" +move body { id2640 } midpoint location -8.82 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2641 = Id("body") } +body { id2641 } name "Cell_1" +move body { id2641 } midpoint location -7.5600000000000005 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2642 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2643 = Id("body") } +subtract body { id2642 } from body { id2643 } +cylinder height 500 radius 0.4572 +#{ id2644 = Id("body") } +#{ id2645 = Id("body") } +intersect body { id2643 } { id2644 } +#{ id2646 = Id("body") } +#{id2647 = ( id2645 == id2646 ) ? id2644 : id2646} +brick x 1.26 y 1.26 z 500 +#{ id2648 = Id("body") } +intersect body { id2647 } { id2648 } +#{ id2649 = Id("body") } +body { id2649 } name "Cell_2" +move body { id2649 } midpoint location -7.5600000000000005 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2650 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2651 = Id("body") } +subtract body { id2650 } from body { id2651 } +body { id2651 } name "Cell_3" +move body { id2651 } midpoint location -7.5600000000000005 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2652 = Id("body") } +body { id2652 } name "Cell_1" +move body { id2652 } midpoint location -6.3 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2653 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2654 = Id("body") } +subtract body { id2653 } from body { id2654 } +cylinder height 500 radius 0.4572 +#{ id2655 = Id("body") } +#{ id2656 = Id("body") } +intersect body { id2654 } { id2655 } +#{ id2657 = Id("body") } +#{id2658 = ( id2656 == id2657 ) ? id2655 : id2657} +brick x 1.26 y 1.26 z 500 +#{ id2659 = Id("body") } +intersect body { id2658 } { id2659 } +#{ id2660 = Id("body") } +body { id2660 } name "Cell_2" +move body { id2660 } midpoint location -6.3 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2661 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2662 = Id("body") } +subtract body { id2661 } from body { id2662 } +body { id2662 } name "Cell_3" +move body { id2662 } midpoint location -6.3 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2663 = Id("body") } +body { id2663 } name "Cell_1" +move body { id2663 } midpoint location -5.04 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2664 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2665 = Id("body") } +subtract body { id2664 } from body { id2665 } +cylinder height 500 radius 0.4572 +#{ id2666 = Id("body") } +#{ id2667 = Id("body") } +intersect body { id2665 } { id2666 } +#{ id2668 = Id("body") } +#{id2669 = ( id2667 == id2668 ) ? id2666 : id2668} +brick x 1.26 y 1.26 z 500 +#{ id2670 = Id("body") } +intersect body { id2669 } { id2670 } +#{ id2671 = Id("body") } +body { id2671 } name "Cell_2" +move body { id2671 } midpoint location -5.04 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2672 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2673 = Id("body") } +subtract body { id2672 } from body { id2673 } +body { id2673 } name "Cell_3" +move body { id2673 } midpoint location -5.04 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2674 = Id("body") } +body { id2674 } name "Cell_4" +move body { id2674 } midpoint location -3.7800000000000002 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2675 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2676 = Id("body") } +subtract body { id2675 } from body { id2676 } +cylinder height 500 radius 0.4572 +#{ id2677 = Id("body") } +#{ id2678 = Id("body") } +intersect body { id2676 } { id2677 } +#{ id2679 = Id("body") } +#{id2680 = ( id2678 == id2679 ) ? id2677 : id2679} +brick x 1.26 y 1.26 z 500 +#{ id2681 = Id("body") } +intersect body { id2680 } { id2681 } +#{ id2682 = Id("body") } +body { id2682 } name "Cell_5" +move body { id2682 } midpoint location -3.7800000000000002 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2683 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2684 = Id("body") } +subtract body { id2683 } from body { id2684 } +body { id2684 } name "Cell_6" +move body { id2684 } midpoint location -3.7800000000000002 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2685 = Id("body") } +body { id2685 } name "Cell_1" +move body { id2685 } midpoint location -2.5199999999999996 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2686 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2687 = Id("body") } +subtract body { id2686 } from body { id2687 } +cylinder height 500 radius 0.4572 +#{ id2688 = Id("body") } +#{ id2689 = Id("body") } +intersect body { id2687 } { id2688 } +#{ id2690 = Id("body") } +#{id2691 = ( id2689 == id2690 ) ? id2688 : id2690} +brick x 1.26 y 1.26 z 500 +#{ id2692 = Id("body") } +intersect body { id2691 } { id2692 } +#{ id2693 = Id("body") } +body { id2693 } name "Cell_2" +move body { id2693 } midpoint location -2.5199999999999996 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2694 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2695 = Id("body") } +subtract body { id2694 } from body { id2695 } +body { id2695 } name "Cell_3" +move body { id2695 } midpoint location -2.5199999999999996 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2696 = Id("body") } +body { id2696 } name "Cell_1" +move body { id2696 } midpoint location -1.2599999999999998 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2697 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2698 = Id("body") } +subtract body { id2697 } from body { id2698 } +cylinder height 500 radius 0.4572 +#{ id2699 = Id("body") } +#{ id2700 = Id("body") } +intersect body { id2698 } { id2699 } +#{ id2701 = Id("body") } +#{id2702 = ( id2700 == id2701 ) ? id2699 : id2701} +brick x 1.26 y 1.26 z 500 +#{ id2703 = Id("body") } +intersect body { id2702 } { id2703 } +#{ id2704 = Id("body") } +body { id2704 } name "Cell_2" +move body { id2704 } midpoint location -1.2599999999999998 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2705 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2706 = Id("body") } +subtract body { id2705 } from body { id2706 } +body { id2706 } name "Cell_3" +move body { id2706 } midpoint location -1.2599999999999998 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2707 = Id("body") } +body { id2707 } name "Cell_4" +move body { id2707 } midpoint location 0.0 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2708 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2709 = Id("body") } +subtract body { id2708 } from body { id2709 } +cylinder height 500 radius 0.4572 +#{ id2710 = Id("body") } +#{ id2711 = Id("body") } +intersect body { id2709 } { id2710 } +#{ id2712 = Id("body") } +#{id2713 = ( id2711 == id2712 ) ? id2710 : id2712} +brick x 1.26 y 1.26 z 500 +#{ id2714 = Id("body") } +intersect body { id2713 } { id2714 } +#{ id2715 = Id("body") } +body { id2715 } name "Cell_5" +move body { id2715 } midpoint location 0.0 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2716 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2717 = Id("body") } +subtract body { id2716 } from body { id2717 } +body { id2717 } name "Cell_6" +move body { id2717 } midpoint location 0.0 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2718 = Id("body") } +body { id2718 } name "Cell_1" +move body { id2718 } midpoint location 1.2599999999999998 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2719 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2720 = Id("body") } +subtract body { id2719 } from body { id2720 } +cylinder height 500 radius 0.4572 +#{ id2721 = Id("body") } +#{ id2722 = Id("body") } +intersect body { id2720 } { id2721 } +#{ id2723 = Id("body") } +#{id2724 = ( id2722 == id2723 ) ? id2721 : id2723} +brick x 1.26 y 1.26 z 500 +#{ id2725 = Id("body") } +intersect body { id2724 } { id2725 } +#{ id2726 = Id("body") } +body { id2726 } name "Cell_2" +move body { id2726 } midpoint location 1.2599999999999998 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2727 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2728 = Id("body") } +subtract body { id2727 } from body { id2728 } +body { id2728 } name "Cell_3" +move body { id2728 } midpoint location 1.2599999999999998 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2729 = Id("body") } +body { id2729 } name "Cell_1" +move body { id2729 } midpoint location 2.5199999999999996 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2730 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2731 = Id("body") } +subtract body { id2730 } from body { id2731 } +cylinder height 500 radius 0.4572 +#{ id2732 = Id("body") } +#{ id2733 = Id("body") } +intersect body { id2731 } { id2732 } +#{ id2734 = Id("body") } +#{id2735 = ( id2733 == id2734 ) ? id2732 : id2734} +brick x 1.26 y 1.26 z 500 +#{ id2736 = Id("body") } +intersect body { id2735 } { id2736 } +#{ id2737 = Id("body") } +body { id2737 } name "Cell_2" +move body { id2737 } midpoint location 2.5199999999999996 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2738 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2739 = Id("body") } +subtract body { id2738 } from body { id2739 } +body { id2739 } name "Cell_3" +move body { id2739 } midpoint location 2.5199999999999996 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2740 = Id("body") } +body { id2740 } name "Cell_4" +move body { id2740 } midpoint location 3.7799999999999994 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2741 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2742 = Id("body") } +subtract body { id2741 } from body { id2742 } +cylinder height 500 radius 0.4572 +#{ id2743 = Id("body") } +#{ id2744 = Id("body") } +intersect body { id2742 } { id2743 } +#{ id2745 = Id("body") } +#{id2746 = ( id2744 == id2745 ) ? id2743 : id2745} +brick x 1.26 y 1.26 z 500 +#{ id2747 = Id("body") } +intersect body { id2746 } { id2747 } +#{ id2748 = Id("body") } +body { id2748 } name "Cell_5" +move body { id2748 } midpoint location 3.7799999999999994 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2749 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2750 = Id("body") } +subtract body { id2749 } from body { id2750 } +body { id2750 } name "Cell_6" +move body { id2750 } midpoint location 3.7799999999999994 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2751 = Id("body") } +body { id2751 } name "Cell_1" +move body { id2751 } midpoint location 5.040000000000001 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2752 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2753 = Id("body") } +subtract body { id2752 } from body { id2753 } +cylinder height 500 radius 0.4572 +#{ id2754 = Id("body") } +#{ id2755 = Id("body") } +intersect body { id2753 } { id2754 } +#{ id2756 = Id("body") } +#{id2757 = ( id2755 == id2756 ) ? id2754 : id2756} +brick x 1.26 y 1.26 z 500 +#{ id2758 = Id("body") } +intersect body { id2757 } { id2758 } +#{ id2759 = Id("body") } +body { id2759 } name "Cell_2" +move body { id2759 } midpoint location 5.040000000000001 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2760 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2761 = Id("body") } +subtract body { id2760 } from body { id2761 } +body { id2761 } name "Cell_3" +move body { id2761 } midpoint location 5.040000000000001 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2762 = Id("body") } +body { id2762 } name "Cell_1" +move body { id2762 } midpoint location 6.299999999999999 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2763 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2764 = Id("body") } +subtract body { id2763 } from body { id2764 } +cylinder height 500 radius 0.4572 +#{ id2765 = Id("body") } +#{ id2766 = Id("body") } +intersect body { id2764 } { id2765 } +#{ id2767 = Id("body") } +#{id2768 = ( id2766 == id2767 ) ? id2765 : id2767} +brick x 1.26 y 1.26 z 500 +#{ id2769 = Id("body") } +intersect body { id2768 } { id2769 } +#{ id2770 = Id("body") } +body { id2770 } name "Cell_2" +move body { id2770 } midpoint location 6.299999999999999 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2771 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2772 = Id("body") } +subtract body { id2771 } from body { id2772 } +body { id2772 } name "Cell_3" +move body { id2772 } midpoint location 6.299999999999999 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2773 = Id("body") } +body { id2773 } name "Cell_1" +move body { id2773 } midpoint location 7.5600000000000005 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2774 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2775 = Id("body") } +subtract body { id2774 } from body { id2775 } +cylinder height 500 radius 0.4572 +#{ id2776 = Id("body") } +#{ id2777 = Id("body") } +intersect body { id2775 } { id2776 } +#{ id2778 = Id("body") } +#{id2779 = ( id2777 == id2778 ) ? id2776 : id2778} +brick x 1.26 y 1.26 z 500 +#{ id2780 = Id("body") } +intersect body { id2779 } { id2780 } +#{ id2781 = Id("body") } +body { id2781 } name "Cell_2" +move body { id2781 } midpoint location 7.5600000000000005 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2782 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2783 = Id("body") } +subtract body { id2782 } from body { id2783 } +body { id2783 } name "Cell_3" +move body { id2783 } midpoint location 7.5600000000000005 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2784 = Id("body") } +body { id2784 } name "Cell_1" +move body { id2784 } midpoint location 8.819999999999999 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2785 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2786 = Id("body") } +subtract body { id2785 } from body { id2786 } +cylinder height 500 radius 0.4572 +#{ id2787 = Id("body") } +#{ id2788 = Id("body") } +intersect body { id2786 } { id2787 } +#{ id2789 = Id("body") } +#{id2790 = ( id2788 == id2789 ) ? id2787 : id2789} +brick x 1.26 y 1.26 z 500 +#{ id2791 = Id("body") } +intersect body { id2790 } { id2791 } +#{ id2792 = Id("body") } +body { id2792 } name "Cell_2" +move body { id2792 } midpoint location 8.819999999999999 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2793 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2794 = Id("body") } +subtract body { id2793 } from body { id2794 } +body { id2794 } name "Cell_3" +move body { id2794 } midpoint location 8.819999999999999 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2795 = Id("body") } +body { id2795 } name "Cell_1" +move body { id2795 } midpoint location 10.08 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2796 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2797 = Id("body") } +subtract body { id2796 } from body { id2797 } +cylinder height 500 radius 0.4572 +#{ id2798 = Id("body") } +#{ id2799 = Id("body") } +intersect body { id2797 } { id2798 } +#{ id2800 = Id("body") } +#{id2801 = ( id2799 == id2800 ) ? id2798 : id2800} +brick x 1.26 y 1.26 z 500 +#{ id2802 = Id("body") } +intersect body { id2801 } { id2802 } +#{ id2803 = Id("body") } +body { id2803 } name "Cell_2" +move body { id2803 } midpoint location 10.08 7.5600000000000005 0 except z +cylinder height 500 radius 0.4572 +#{ id2804 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2805 = Id("body") } +subtract body { id2804 } from body { id2805 } +body { id2805 } name "Cell_3" +move body { id2805 } midpoint location 10.08 7.5600000000000005 0 except z +cylinder height 500 radius 0.39218 +#{ id2806 = Id("body") } +body { id2806 } name "Cell_1" +move body { id2806 } midpoint location -10.08 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2807 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2808 = Id("body") } +subtract body { id2807 } from body { id2808 } +cylinder height 500 radius 0.4572 +#{ id2809 = Id("body") } +#{ id2810 = Id("body") } +intersect body { id2808 } { id2809 } +#{ id2811 = Id("body") } +#{id2812 = ( id2810 == id2811 ) ? id2809 : id2811} +brick x 1.26 y 1.26 z 500 +#{ id2813 = Id("body") } +intersect body { id2812 } { id2813 } +#{ id2814 = Id("body") } +body { id2814 } name "Cell_2" +move body { id2814 } midpoint location -10.08 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2815 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2816 = Id("body") } +subtract body { id2815 } from body { id2816 } +body { id2816 } name "Cell_3" +move body { id2816 } midpoint location -10.08 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2817 = Id("body") } +body { id2817 } name "Cell_1" +move body { id2817 } midpoint location -8.82 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2818 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2819 = Id("body") } +subtract body { id2818 } from body { id2819 } +cylinder height 500 radius 0.4572 +#{ id2820 = Id("body") } +#{ id2821 = Id("body") } +intersect body { id2819 } { id2820 } +#{ id2822 = Id("body") } +#{id2823 = ( id2821 == id2822 ) ? id2820 : id2822} +brick x 1.26 y 1.26 z 500 +#{ id2824 = Id("body") } +intersect body { id2823 } { id2824 } +#{ id2825 = Id("body") } +body { id2825 } name "Cell_2" +move body { id2825 } midpoint location -8.82 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2826 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2827 = Id("body") } +subtract body { id2826 } from body { id2827 } +body { id2827 } name "Cell_3" +move body { id2827 } midpoint location -8.82 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2828 = Id("body") } +body { id2828 } name "Cell_1" +move body { id2828 } midpoint location -7.5600000000000005 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2829 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2830 = Id("body") } +subtract body { id2829 } from body { id2830 } +cylinder height 500 radius 0.4572 +#{ id2831 = Id("body") } +#{ id2832 = Id("body") } +intersect body { id2830 } { id2831 } +#{ id2833 = Id("body") } +#{id2834 = ( id2832 == id2833 ) ? id2831 : id2833} +brick x 1.26 y 1.26 z 500 +#{ id2835 = Id("body") } +intersect body { id2834 } { id2835 } +#{ id2836 = Id("body") } +body { id2836 } name "Cell_2" +move body { id2836 } midpoint location -7.5600000000000005 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2837 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2838 = Id("body") } +subtract body { id2837 } from body { id2838 } +body { id2838 } name "Cell_3" +move body { id2838 } midpoint location -7.5600000000000005 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2839 = Id("body") } +body { id2839 } name "Cell_1" +move body { id2839 } midpoint location -6.3 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2840 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2841 = Id("body") } +subtract body { id2840 } from body { id2841 } +cylinder height 500 radius 0.4572 +#{ id2842 = Id("body") } +#{ id2843 = Id("body") } +intersect body { id2841 } { id2842 } +#{ id2844 = Id("body") } +#{id2845 = ( id2843 == id2844 ) ? id2842 : id2844} +brick x 1.26 y 1.26 z 500 +#{ id2846 = Id("body") } +intersect body { id2845 } { id2846 } +#{ id2847 = Id("body") } +body { id2847 } name "Cell_2" +move body { id2847 } midpoint location -6.3 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2848 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2849 = Id("body") } +subtract body { id2848 } from body { id2849 } +body { id2849 } name "Cell_3" +move body { id2849 } midpoint location -6.3 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2850 = Id("body") } +body { id2850 } name "Cell_1" +move body { id2850 } midpoint location -5.04 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2851 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2852 = Id("body") } +subtract body { id2851 } from body { id2852 } +cylinder height 500 radius 0.4572 +#{ id2853 = Id("body") } +#{ id2854 = Id("body") } +intersect body { id2852 } { id2853 } +#{ id2855 = Id("body") } +#{id2856 = ( id2854 == id2855 ) ? id2853 : id2855} +brick x 1.26 y 1.26 z 500 +#{ id2857 = Id("body") } +intersect body { id2856 } { id2857 } +#{ id2858 = Id("body") } +body { id2858 } name "Cell_2" +move body { id2858 } midpoint location -5.04 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2859 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2860 = Id("body") } +subtract body { id2859 } from body { id2860 } +body { id2860 } name "Cell_3" +move body { id2860 } midpoint location -5.04 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2861 = Id("body") } +body { id2861 } name "Cell_1" +move body { id2861 } midpoint location -3.7800000000000002 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2862 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2863 = Id("body") } +subtract body { id2862 } from body { id2863 } +cylinder height 500 radius 0.4572 +#{ id2864 = Id("body") } +#{ id2865 = Id("body") } +intersect body { id2863 } { id2864 } +#{ id2866 = Id("body") } +#{id2867 = ( id2865 == id2866 ) ? id2864 : id2866} +brick x 1.26 y 1.26 z 500 +#{ id2868 = Id("body") } +intersect body { id2867 } { id2868 } +#{ id2869 = Id("body") } +body { id2869 } name "Cell_2" +move body { id2869 } midpoint location -3.7800000000000002 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2870 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2871 = Id("body") } +subtract body { id2870 } from body { id2871 } +body { id2871 } name "Cell_3" +move body { id2871 } midpoint location -3.7800000000000002 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2872 = Id("body") } +body { id2872 } name "Cell_1" +move body { id2872 } midpoint location -2.5199999999999996 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2873 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2874 = Id("body") } +subtract body { id2873 } from body { id2874 } +cylinder height 500 radius 0.4572 +#{ id2875 = Id("body") } +#{ id2876 = Id("body") } +intersect body { id2874 } { id2875 } +#{ id2877 = Id("body") } +#{id2878 = ( id2876 == id2877 ) ? id2875 : id2877} +brick x 1.26 y 1.26 z 500 +#{ id2879 = Id("body") } +intersect body { id2878 } { id2879 } +#{ id2880 = Id("body") } +body { id2880 } name "Cell_2" +move body { id2880 } midpoint location -2.5199999999999996 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2881 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2882 = Id("body") } +subtract body { id2881 } from body { id2882 } +body { id2882 } name "Cell_3" +move body { id2882 } midpoint location -2.5199999999999996 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2883 = Id("body") } +body { id2883 } name "Cell_1" +move body { id2883 } midpoint location -1.2599999999999998 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2884 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2885 = Id("body") } +subtract body { id2884 } from body { id2885 } +cylinder height 500 radius 0.4572 +#{ id2886 = Id("body") } +#{ id2887 = Id("body") } +intersect body { id2885 } { id2886 } +#{ id2888 = Id("body") } +#{id2889 = ( id2887 == id2888 ) ? id2886 : id2888} +brick x 1.26 y 1.26 z 500 +#{ id2890 = Id("body") } +intersect body { id2889 } { id2890 } +#{ id2891 = Id("body") } +body { id2891 } name "Cell_2" +move body { id2891 } midpoint location -1.2599999999999998 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2892 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2893 = Id("body") } +subtract body { id2892 } from body { id2893 } +body { id2893 } name "Cell_3" +move body { id2893 } midpoint location -1.2599999999999998 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2894 = Id("body") } +body { id2894 } name "Cell_1" +move body { id2894 } midpoint location 0.0 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2895 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2896 = Id("body") } +subtract body { id2895 } from body { id2896 } +cylinder height 500 radius 0.4572 +#{ id2897 = Id("body") } +#{ id2898 = Id("body") } +intersect body { id2896 } { id2897 } +#{ id2899 = Id("body") } +#{id2900 = ( id2898 == id2899 ) ? id2897 : id2899} +brick x 1.26 y 1.26 z 500 +#{ id2901 = Id("body") } +intersect body { id2900 } { id2901 } +#{ id2902 = Id("body") } +body { id2902 } name "Cell_2" +move body { id2902 } midpoint location 0.0 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2903 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2904 = Id("body") } +subtract body { id2903 } from body { id2904 } +body { id2904 } name "Cell_3" +move body { id2904 } midpoint location 0.0 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2905 = Id("body") } +body { id2905 } name "Cell_1" +move body { id2905 } midpoint location 1.2599999999999998 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2906 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2907 = Id("body") } +subtract body { id2906 } from body { id2907 } +cylinder height 500 radius 0.4572 +#{ id2908 = Id("body") } +#{ id2909 = Id("body") } +intersect body { id2907 } { id2908 } +#{ id2910 = Id("body") } +#{id2911 = ( id2909 == id2910 ) ? id2908 : id2910} +brick x 1.26 y 1.26 z 500 +#{ id2912 = Id("body") } +intersect body { id2911 } { id2912 } +#{ id2913 = Id("body") } +body { id2913 } name "Cell_2" +move body { id2913 } midpoint location 1.2599999999999998 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2914 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2915 = Id("body") } +subtract body { id2914 } from body { id2915 } +body { id2915 } name "Cell_3" +move body { id2915 } midpoint location 1.2599999999999998 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2916 = Id("body") } +body { id2916 } name "Cell_1" +move body { id2916 } midpoint location 2.5199999999999996 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2917 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2918 = Id("body") } +subtract body { id2917 } from body { id2918 } +cylinder height 500 radius 0.4572 +#{ id2919 = Id("body") } +#{ id2920 = Id("body") } +intersect body { id2918 } { id2919 } +#{ id2921 = Id("body") } +#{id2922 = ( id2920 == id2921 ) ? id2919 : id2921} +brick x 1.26 y 1.26 z 500 +#{ id2923 = Id("body") } +intersect body { id2922 } { id2923 } +#{ id2924 = Id("body") } +body { id2924 } name "Cell_2" +move body { id2924 } midpoint location 2.5199999999999996 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2925 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2926 = Id("body") } +subtract body { id2925 } from body { id2926 } +body { id2926 } name "Cell_3" +move body { id2926 } midpoint location 2.5199999999999996 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2927 = Id("body") } +body { id2927 } name "Cell_1" +move body { id2927 } midpoint location 3.7799999999999994 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2928 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2929 = Id("body") } +subtract body { id2928 } from body { id2929 } +cylinder height 500 radius 0.4572 +#{ id2930 = Id("body") } +#{ id2931 = Id("body") } +intersect body { id2929 } { id2930 } +#{ id2932 = Id("body") } +#{id2933 = ( id2931 == id2932 ) ? id2930 : id2932} +brick x 1.26 y 1.26 z 500 +#{ id2934 = Id("body") } +intersect body { id2933 } { id2934 } +#{ id2935 = Id("body") } +body { id2935 } name "Cell_2" +move body { id2935 } midpoint location 3.7799999999999994 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2936 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2937 = Id("body") } +subtract body { id2936 } from body { id2937 } +body { id2937 } name "Cell_3" +move body { id2937 } midpoint location 3.7799999999999994 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2938 = Id("body") } +body { id2938 } name "Cell_1" +move body { id2938 } midpoint location 5.040000000000001 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2939 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2940 = Id("body") } +subtract body { id2939 } from body { id2940 } +cylinder height 500 radius 0.4572 +#{ id2941 = Id("body") } +#{ id2942 = Id("body") } +intersect body { id2940 } { id2941 } +#{ id2943 = Id("body") } +#{id2944 = ( id2942 == id2943 ) ? id2941 : id2943} +brick x 1.26 y 1.26 z 500 +#{ id2945 = Id("body") } +intersect body { id2944 } { id2945 } +#{ id2946 = Id("body") } +body { id2946 } name "Cell_2" +move body { id2946 } midpoint location 5.040000000000001 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2947 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2948 = Id("body") } +subtract body { id2947 } from body { id2948 } +body { id2948 } name "Cell_3" +move body { id2948 } midpoint location 5.040000000000001 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2949 = Id("body") } +body { id2949 } name "Cell_1" +move body { id2949 } midpoint location 6.299999999999999 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2950 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2951 = Id("body") } +subtract body { id2950 } from body { id2951 } +cylinder height 500 radius 0.4572 +#{ id2952 = Id("body") } +#{ id2953 = Id("body") } +intersect body { id2951 } { id2952 } +#{ id2954 = Id("body") } +#{id2955 = ( id2953 == id2954 ) ? id2952 : id2954} +brick x 1.26 y 1.26 z 500 +#{ id2956 = Id("body") } +intersect body { id2955 } { id2956 } +#{ id2957 = Id("body") } +body { id2957 } name "Cell_2" +move body { id2957 } midpoint location 6.299999999999999 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2958 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2959 = Id("body") } +subtract body { id2958 } from body { id2959 } +body { id2959 } name "Cell_3" +move body { id2959 } midpoint location 6.299999999999999 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2960 = Id("body") } +body { id2960 } name "Cell_1" +move body { id2960 } midpoint location 7.5600000000000005 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2961 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2962 = Id("body") } +subtract body { id2961 } from body { id2962 } +cylinder height 500 radius 0.4572 +#{ id2963 = Id("body") } +#{ id2964 = Id("body") } +intersect body { id2962 } { id2963 } +#{ id2965 = Id("body") } +#{id2966 = ( id2964 == id2965 ) ? id2963 : id2965} +brick x 1.26 y 1.26 z 500 +#{ id2967 = Id("body") } +intersect body { id2966 } { id2967 } +#{ id2968 = Id("body") } +body { id2968 } name "Cell_2" +move body { id2968 } midpoint location 7.5600000000000005 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2969 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2970 = Id("body") } +subtract body { id2969 } from body { id2970 } +body { id2970 } name "Cell_3" +move body { id2970 } midpoint location 7.5600000000000005 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2971 = Id("body") } +body { id2971 } name "Cell_1" +move body { id2971 } midpoint location 8.819999999999999 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2972 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2973 = Id("body") } +subtract body { id2972 } from body { id2973 } +cylinder height 500 radius 0.4572 +#{ id2974 = Id("body") } +#{ id2975 = Id("body") } +intersect body { id2973 } { id2974 } +#{ id2976 = Id("body") } +#{id2977 = ( id2975 == id2976 ) ? id2974 : id2976} +brick x 1.26 y 1.26 z 500 +#{ id2978 = Id("body") } +intersect body { id2977 } { id2978 } +#{ id2979 = Id("body") } +body { id2979 } name "Cell_2" +move body { id2979 } midpoint location 8.819999999999999 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2980 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2981 = Id("body") } +subtract body { id2980 } from body { id2981 } +body { id2981 } name "Cell_3" +move body { id2981 } midpoint location 8.819999999999999 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2982 = Id("body") } +body { id2982 } name "Cell_1" +move body { id2982 } midpoint location 10.08 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2983 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2984 = Id("body") } +subtract body { id2983 } from body { id2984 } +cylinder height 500 radius 0.4572 +#{ id2985 = Id("body") } +#{ id2986 = Id("body") } +intersect body { id2984 } { id2985 } +#{ id2987 = Id("body") } +#{id2988 = ( id2986 == id2987 ) ? id2985 : id2987} +brick x 1.26 y 1.26 z 500 +#{ id2989 = Id("body") } +intersect body { id2988 } { id2989 } +#{ id2990 = Id("body") } +body { id2990 } name "Cell_2" +move body { id2990 } midpoint location 10.08 8.819999999999999 0 except z +cylinder height 500 radius 0.4572 +#{ id2991 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2992 = Id("body") } +subtract body { id2991 } from body { id2992 } +body { id2992 } name "Cell_3" +move body { id2992 } midpoint location 10.08 8.819999999999999 0 except z +cylinder height 500 radius 0.39218 +#{ id2993 = Id("body") } +body { id2993 } name "Cell_1" +move body { id2993 } midpoint location -10.08 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id2994 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id2995 = Id("body") } +subtract body { id2994 } from body { id2995 } +cylinder height 500 radius 0.4572 +#{ id2996 = Id("body") } +#{ id2997 = Id("body") } +intersect body { id2995 } { id2996 } +#{ id2998 = Id("body") } +#{id2999 = ( id2997 == id2998 ) ? id2996 : id2998} +brick x 1.26 y 1.26 z 500 +#{ id3000 = Id("body") } +intersect body { id2999 } { id3000 } +#{ id3001 = Id("body") } +body { id3001 } name "Cell_2" +move body { id3001 } midpoint location -10.08 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3002 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3003 = Id("body") } +subtract body { id3002 } from body { id3003 } +body { id3003 } name "Cell_3" +move body { id3003 } midpoint location -10.08 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3004 = Id("body") } +body { id3004 } name "Cell_1" +move body { id3004 } midpoint location -8.82 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3005 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3006 = Id("body") } +subtract body { id3005 } from body { id3006 } +cylinder height 500 radius 0.4572 +#{ id3007 = Id("body") } +#{ id3008 = Id("body") } +intersect body { id3006 } { id3007 } +#{ id3009 = Id("body") } +#{id3010 = ( id3008 == id3009 ) ? id3007 : id3009} +brick x 1.26 y 1.26 z 500 +#{ id3011 = Id("body") } +intersect body { id3010 } { id3011 } +#{ id3012 = Id("body") } +body { id3012 } name "Cell_2" +move body { id3012 } midpoint location -8.82 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3013 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3014 = Id("body") } +subtract body { id3013 } from body { id3014 } +body { id3014 } name "Cell_3" +move body { id3014 } midpoint location -8.82 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3015 = Id("body") } +body { id3015 } name "Cell_1" +move body { id3015 } midpoint location -7.5600000000000005 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3016 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3017 = Id("body") } +subtract body { id3016 } from body { id3017 } +cylinder height 500 radius 0.4572 +#{ id3018 = Id("body") } +#{ id3019 = Id("body") } +intersect body { id3017 } { id3018 } +#{ id3020 = Id("body") } +#{id3021 = ( id3019 == id3020 ) ? id3018 : id3020} +brick x 1.26 y 1.26 z 500 +#{ id3022 = Id("body") } +intersect body { id3021 } { id3022 } +#{ id3023 = Id("body") } +body { id3023 } name "Cell_2" +move body { id3023 } midpoint location -7.5600000000000005 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3024 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3025 = Id("body") } +subtract body { id3024 } from body { id3025 } +body { id3025 } name "Cell_3" +move body { id3025 } midpoint location -7.5600000000000005 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3026 = Id("body") } +body { id3026 } name "Cell_1" +move body { id3026 } midpoint location -6.3 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3027 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3028 = Id("body") } +subtract body { id3027 } from body { id3028 } +cylinder height 500 radius 0.4572 +#{ id3029 = Id("body") } +#{ id3030 = Id("body") } +intersect body { id3028 } { id3029 } +#{ id3031 = Id("body") } +#{id3032 = ( id3030 == id3031 ) ? id3029 : id3031} +brick x 1.26 y 1.26 z 500 +#{ id3033 = Id("body") } +intersect body { id3032 } { id3033 } +#{ id3034 = Id("body") } +body { id3034 } name "Cell_2" +move body { id3034 } midpoint location -6.3 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3035 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3036 = Id("body") } +subtract body { id3035 } from body { id3036 } +body { id3036 } name "Cell_3" +move body { id3036 } midpoint location -6.3 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3037 = Id("body") } +body { id3037 } name "Cell_1" +move body { id3037 } midpoint location -5.04 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3038 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3039 = Id("body") } +subtract body { id3038 } from body { id3039 } +cylinder height 500 radius 0.4572 +#{ id3040 = Id("body") } +#{ id3041 = Id("body") } +intersect body { id3039 } { id3040 } +#{ id3042 = Id("body") } +#{id3043 = ( id3041 == id3042 ) ? id3040 : id3042} +brick x 1.26 y 1.26 z 500 +#{ id3044 = Id("body") } +intersect body { id3043 } { id3044 } +#{ id3045 = Id("body") } +body { id3045 } name "Cell_2" +move body { id3045 } midpoint location -5.04 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3046 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3047 = Id("body") } +subtract body { id3046 } from body { id3047 } +body { id3047 } name "Cell_3" +move body { id3047 } midpoint location -5.04 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3048 = Id("body") } +body { id3048 } name "Cell_1" +move body { id3048 } midpoint location -3.7800000000000002 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3049 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3050 = Id("body") } +subtract body { id3049 } from body { id3050 } +cylinder height 500 radius 0.4572 +#{ id3051 = Id("body") } +#{ id3052 = Id("body") } +intersect body { id3050 } { id3051 } +#{ id3053 = Id("body") } +#{id3054 = ( id3052 == id3053 ) ? id3051 : id3053} +brick x 1.26 y 1.26 z 500 +#{ id3055 = Id("body") } +intersect body { id3054 } { id3055 } +#{ id3056 = Id("body") } +body { id3056 } name "Cell_2" +move body { id3056 } midpoint location -3.7800000000000002 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3057 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3058 = Id("body") } +subtract body { id3057 } from body { id3058 } +body { id3058 } name "Cell_3" +move body { id3058 } midpoint location -3.7800000000000002 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3059 = Id("body") } +body { id3059 } name "Cell_1" +move body { id3059 } midpoint location -2.5199999999999996 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3060 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3061 = Id("body") } +subtract body { id3060 } from body { id3061 } +cylinder height 500 radius 0.4572 +#{ id3062 = Id("body") } +#{ id3063 = Id("body") } +intersect body { id3061 } { id3062 } +#{ id3064 = Id("body") } +#{id3065 = ( id3063 == id3064 ) ? id3062 : id3064} +brick x 1.26 y 1.26 z 500 +#{ id3066 = Id("body") } +intersect body { id3065 } { id3066 } +#{ id3067 = Id("body") } +body { id3067 } name "Cell_2" +move body { id3067 } midpoint location -2.5199999999999996 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3068 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3069 = Id("body") } +subtract body { id3068 } from body { id3069 } +body { id3069 } name "Cell_3" +move body { id3069 } midpoint location -2.5199999999999996 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3070 = Id("body") } +body { id3070 } name "Cell_1" +move body { id3070 } midpoint location -1.2599999999999998 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3071 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3072 = Id("body") } +subtract body { id3071 } from body { id3072 } +cylinder height 500 radius 0.4572 +#{ id3073 = Id("body") } +#{ id3074 = Id("body") } +intersect body { id3072 } { id3073 } +#{ id3075 = Id("body") } +#{id3076 = ( id3074 == id3075 ) ? id3073 : id3075} +brick x 1.26 y 1.26 z 500 +#{ id3077 = Id("body") } +intersect body { id3076 } { id3077 } +#{ id3078 = Id("body") } +body { id3078 } name "Cell_2" +move body { id3078 } midpoint location -1.2599999999999998 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3079 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3080 = Id("body") } +subtract body { id3079 } from body { id3080 } +body { id3080 } name "Cell_3" +move body { id3080 } midpoint location -1.2599999999999998 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3081 = Id("body") } +body { id3081 } name "Cell_1" +move body { id3081 } midpoint location 0.0 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3082 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3083 = Id("body") } +subtract body { id3082 } from body { id3083 } +cylinder height 500 radius 0.4572 +#{ id3084 = Id("body") } +#{ id3085 = Id("body") } +intersect body { id3083 } { id3084 } +#{ id3086 = Id("body") } +#{id3087 = ( id3085 == id3086 ) ? id3084 : id3086} +brick x 1.26 y 1.26 z 500 +#{ id3088 = Id("body") } +intersect body { id3087 } { id3088 } +#{ id3089 = Id("body") } +body { id3089 } name "Cell_2" +move body { id3089 } midpoint location 0.0 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3090 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3091 = Id("body") } +subtract body { id3090 } from body { id3091 } +body { id3091 } name "Cell_3" +move body { id3091 } midpoint location 0.0 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3092 = Id("body") } +body { id3092 } name "Cell_1" +move body { id3092 } midpoint location 1.2599999999999998 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3093 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3094 = Id("body") } +subtract body { id3093 } from body { id3094 } +cylinder height 500 radius 0.4572 +#{ id3095 = Id("body") } +#{ id3096 = Id("body") } +intersect body { id3094 } { id3095 } +#{ id3097 = Id("body") } +#{id3098 = ( id3096 == id3097 ) ? id3095 : id3097} +brick x 1.26 y 1.26 z 500 +#{ id3099 = Id("body") } +intersect body { id3098 } { id3099 } +#{ id3100 = Id("body") } +body { id3100 } name "Cell_2" +move body { id3100 } midpoint location 1.2599999999999998 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3101 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3102 = Id("body") } +subtract body { id3101 } from body { id3102 } +body { id3102 } name "Cell_3" +move body { id3102 } midpoint location 1.2599999999999998 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3103 = Id("body") } +body { id3103 } name "Cell_1" +move body { id3103 } midpoint location 2.5199999999999996 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3104 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3105 = Id("body") } +subtract body { id3104 } from body { id3105 } +cylinder height 500 radius 0.4572 +#{ id3106 = Id("body") } +#{ id3107 = Id("body") } +intersect body { id3105 } { id3106 } +#{ id3108 = Id("body") } +#{id3109 = ( id3107 == id3108 ) ? id3106 : id3108} +brick x 1.26 y 1.26 z 500 +#{ id3110 = Id("body") } +intersect body { id3109 } { id3110 } +#{ id3111 = Id("body") } +body { id3111 } name "Cell_2" +move body { id3111 } midpoint location 2.5199999999999996 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3112 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3113 = Id("body") } +subtract body { id3112 } from body { id3113 } +body { id3113 } name "Cell_3" +move body { id3113 } midpoint location 2.5199999999999996 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3114 = Id("body") } +body { id3114 } name "Cell_1" +move body { id3114 } midpoint location 3.7799999999999994 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3115 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3116 = Id("body") } +subtract body { id3115 } from body { id3116 } +cylinder height 500 radius 0.4572 +#{ id3117 = Id("body") } +#{ id3118 = Id("body") } +intersect body { id3116 } { id3117 } +#{ id3119 = Id("body") } +#{id3120 = ( id3118 == id3119 ) ? id3117 : id3119} +brick x 1.26 y 1.26 z 500 +#{ id3121 = Id("body") } +intersect body { id3120 } { id3121 } +#{ id3122 = Id("body") } +body { id3122 } name "Cell_2" +move body { id3122 } midpoint location 3.7799999999999994 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3123 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3124 = Id("body") } +subtract body { id3123 } from body { id3124 } +body { id3124 } name "Cell_3" +move body { id3124 } midpoint location 3.7799999999999994 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3125 = Id("body") } +body { id3125 } name "Cell_1" +move body { id3125 } midpoint location 5.040000000000001 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3126 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3127 = Id("body") } +subtract body { id3126 } from body { id3127 } +cylinder height 500 radius 0.4572 +#{ id3128 = Id("body") } +#{ id3129 = Id("body") } +intersect body { id3127 } { id3128 } +#{ id3130 = Id("body") } +#{id3131 = ( id3129 == id3130 ) ? id3128 : id3130} +brick x 1.26 y 1.26 z 500 +#{ id3132 = Id("body") } +intersect body { id3131 } { id3132 } +#{ id3133 = Id("body") } +body { id3133 } name "Cell_2" +move body { id3133 } midpoint location 5.040000000000001 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3134 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3135 = Id("body") } +subtract body { id3134 } from body { id3135 } +body { id3135 } name "Cell_3" +move body { id3135 } midpoint location 5.040000000000001 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3136 = Id("body") } +body { id3136 } name "Cell_1" +move body { id3136 } midpoint location 6.299999999999999 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3137 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3138 = Id("body") } +subtract body { id3137 } from body { id3138 } +cylinder height 500 radius 0.4572 +#{ id3139 = Id("body") } +#{ id3140 = Id("body") } +intersect body { id3138 } { id3139 } +#{ id3141 = Id("body") } +#{id3142 = ( id3140 == id3141 ) ? id3139 : id3141} +brick x 1.26 y 1.26 z 500 +#{ id3143 = Id("body") } +intersect body { id3142 } { id3143 } +#{ id3144 = Id("body") } +body { id3144 } name "Cell_2" +move body { id3144 } midpoint location 6.299999999999999 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3145 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3146 = Id("body") } +subtract body { id3145 } from body { id3146 } +body { id3146 } name "Cell_3" +move body { id3146 } midpoint location 6.299999999999999 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3147 = Id("body") } +body { id3147 } name "Cell_1" +move body { id3147 } midpoint location 7.5600000000000005 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3148 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3149 = Id("body") } +subtract body { id3148 } from body { id3149 } +cylinder height 500 radius 0.4572 +#{ id3150 = Id("body") } +#{ id3151 = Id("body") } +intersect body { id3149 } { id3150 } +#{ id3152 = Id("body") } +#{id3153 = ( id3151 == id3152 ) ? id3150 : id3152} +brick x 1.26 y 1.26 z 500 +#{ id3154 = Id("body") } +intersect body { id3153 } { id3154 } +#{ id3155 = Id("body") } +body { id3155 } name "Cell_2" +move body { id3155 } midpoint location 7.5600000000000005 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3156 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3157 = Id("body") } +subtract body { id3156 } from body { id3157 } +body { id3157 } name "Cell_3" +move body { id3157 } midpoint location 7.5600000000000005 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3158 = Id("body") } +body { id3158 } name "Cell_1" +move body { id3158 } midpoint location 8.819999999999999 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3159 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3160 = Id("body") } +subtract body { id3159 } from body { id3160 } +cylinder height 500 radius 0.4572 +#{ id3161 = Id("body") } +#{ id3162 = Id("body") } +intersect body { id3160 } { id3161 } +#{ id3163 = Id("body") } +#{id3164 = ( id3162 == id3163 ) ? id3161 : id3163} +brick x 1.26 y 1.26 z 500 +#{ id3165 = Id("body") } +intersect body { id3164 } { id3165 } +#{ id3166 = Id("body") } +body { id3166 } name "Cell_2" +move body { id3166 } midpoint location 8.819999999999999 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3167 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3168 = Id("body") } +subtract body { id3167 } from body { id3168 } +body { id3168 } name "Cell_3" +move body { id3168 } midpoint location 8.819999999999999 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3169 = Id("body") } +body { id3169 } name "Cell_1" +move body { id3169 } midpoint location 10.08 10.08 0 except z +cylinder height 500 radius 0.39218 +#{ id3170 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3171 = Id("body") } +subtract body { id3170 } from body { id3171 } +cylinder height 500 radius 0.4572 +#{ id3172 = Id("body") } +#{ id3173 = Id("body") } +intersect body { id3171 } { id3172 } +#{ id3174 = Id("body") } +#{id3175 = ( id3173 == id3174 ) ? id3172 : id3174} +brick x 1.26 y 1.26 z 500 +#{ id3176 = Id("body") } +intersect body { id3175 } { id3176 } +#{ id3177 = Id("body") } +body { id3177 } name "Cell_2" +move body { id3177 } midpoint location 10.08 10.08 0 except z +cylinder height 500 radius 0.4572 +#{ id3178 = Id("body") } +brick x 1.26 y 1.26 z 500 +#{ id3179 = Id("body") } +subtract body { id3178 } from body { id3179 } +body { id3179 } name "Cell_3" +move body { id3179 } midpoint location 10.08 10.08 0 except z diff --git a/test/gold/cylinder.jou b/test/gold/cylinder.jou new file mode 100644 index 0000000..6cf2377 --- /dev/null +++ b/test/gold/cylinder.jou @@ -0,0 +1,9 @@ +set graphics off +set journal off +#CELL 3 +cylinder height 500 radius 6.0 +#{ id1 = Id("body") } +body { id1 } rotate 90.0 about Y +body { id1 } rotate 45.0 about Z +body { id1 } name "Cell_3" +group "mat:void" add body { id1 } diff --git a/test/gold/pincell.jou b/test/gold/pincell.jou index c16552b..d836cc1 100644 --- a/test/gold/pincell.jou +++ b/test/gold/pincell.jou @@ -4,7 +4,7 @@ set journal off cylinder height 500 radius 0.39218 #{ id1 = Id("body") } body { id1 } name "Cell_1" -group "Material_1" add body { id1 } +group "mat:UO2 fuel at 2.4% wt enrichme" add body { id1 } #CELL 2 cylinder height 500 radius 0.39218 #{ id2 = Id("body") } @@ -18,7 +18,7 @@ intersect body { id3 } { id4 } #{ id6 = Id("body") } #{id7 = ( id5 == id6 ) ? id4 : id6} body { id7 } name "Cell_2" -group "Material_2" add body { id7 } +group "mat:Helium for gap" add body { id7 } #CELL 3 cylinder height 500 radius 0.40005 #{ id8 = Id("body") } @@ -32,7 +32,7 @@ intersect body { id9 } { id10 } #{ id12 = Id("body") } #{id13 = ( id11 == id12 ) ? id10 : id12} body { id13 } name "Cell_3" -group "Material_3" add body { id13 } +group "mat:Zircaloy 4" add body { id13 } #CELL 4 cylinder height 500 radius 0.4572 #{ id14 = Id("body") } @@ -68,4 +68,4 @@ intersect body { id27 } { id28 } #{ id30 = Id("body") } #{id31 = ( id29 == id30 ) ? id28 : id30} body { id31 } name "Cell_4" -group "Material_4" add body { id31 } +group "mat:Borated water" add body { id31 } diff --git a/test/gold/pincell_cell1.jou b/test/gold/pincell_cell1.jou index 37a6924..3dcf1f7 100644 --- a/test/gold/pincell_cell1.jou +++ b/test/gold/pincell_cell1.jou @@ -2,4 +2,4 @@ cylinder height 500 radius 0.39218 #{ id1 = Id("body") } body { id1 } name "Cell_1" -group "Material_1" add body { id1 } +group "mat:UO2 fuel at 2.4% wt enrichme" add body { id1 } diff --git a/test/gold/pincell_cell2.jou b/test/gold/pincell_cell2.jou index 17bb5d3..d9d38d5 100644 --- a/test/gold/pincell_cell2.jou +++ b/test/gold/pincell_cell2.jou @@ -11,4 +11,4 @@ intersect body { id3 } { id4 } #{ id6 = Id("body") } #{id7 = ( id5 == id6 ) ? id4 : id6} body { id7 } name "Cell_2" -group "Material_2" add body { id7 } +group "mat:Helium for gap" add body { id7 } diff --git a/test/gold/pincell_cell3.jou b/test/gold/pincell_cell3.jou index 6221709..ab0f7ae 100644 --- a/test/gold/pincell_cell3.jou +++ b/test/gold/pincell_cell3.jou @@ -11,4 +11,4 @@ intersect body { id9 } { id10 } #{ id12 = Id("body") } #{id13 = ( id11 == id12 ) ? id10 : id12} body { id13 } name "Cell_3" -group "Material_3" add body { id13 } +group "mat:Zircaloy 4" add body { id13 } diff --git a/test/gold/pincell_cell4.jou b/test/gold/pincell_cell4.jou index 46846f7..5d5be87 100644 --- a/test/gold/pincell_cell4.jou +++ b/test/gold/pincell_cell4.jou @@ -33,4 +33,4 @@ intersect body { id27 } { id28 } #{ id30 = Id("body") } #{id31 = ( id29 == id30 ) ? id28 : id30} body { id31 } name "Cell_4" -group "Material_4" add body { id31 } +group "mat:Borated water" add body { id31 } diff --git a/test/gold/x_cone.jou b/test/gold/x_cone.jou new file mode 100644 index 0000000..c7f0acc --- /dev/null +++ b/test/gold/x_cone.jou @@ -0,0 +1,9 @@ +set graphics off +set journal off +#CELL 4 +create frustum height 500 radius 50.0 top 0 +#{ id1 = Id("body") } +rotate body { id1 } about y angle 90 +body { id1 } move 30.0 3.0 5.0 +body { id1 } name "Cell_4" +group "mat:void" add body { id1 } diff --git a/test/gold/x_torus.jou b/test/gold/x_torus.jou new file mode 100644 index 0000000..ea404e1 --- /dev/null +++ b/test/gold/x_torus.jou @@ -0,0 +1,9 @@ +set graphics off +set journal off +#CELL 7 +torus major radius 5.0 minor radius 2.0 +#{ id1 = Id("body") } +rotate body { id1 } about y angle 90 +body { id1 } move 10.0 10.0 10.0 +body { id1 } name "Cell_7" +group "mat:void" add body { id1 } diff --git a/test/gold/xcylinder.jou b/test/gold/xcylinder.jou new file mode 100644 index 0000000..c9cadc9 --- /dev/null +++ b/test/gold/xcylinder.jou @@ -0,0 +1,9 @@ +set graphics off +set journal off +#CELL 1 +cylinder height 500 radius 1.0 +#{ id1 = Id("body") } +rotate body { id1 } about y angle 90 +body { id1 } move 0 10.0 5.0 +body { id1 } name "Cell_1" +group "mat:void" add body { id1 } diff --git a/test/gold/y_cone.jou b/test/gold/y_cone.jou new file mode 100644 index 0000000..5f77230 --- /dev/null +++ b/test/gold/y_cone.jou @@ -0,0 +1,9 @@ +set graphics off +set journal off +#CELL 5 +create frustum height 500 radius 31.622776601683793 top 0 +#{ id1 = Id("body") } +rotate body { id1 } about x angle 90 +body { id1 } move 40.0 20.0 7.0 +body { id1 } name "Cell_5" +group "mat:void" add body { id1 } diff --git a/test/gold/y_torus.jou b/test/gold/y_torus.jou new file mode 100644 index 0000000..5d1ab93 --- /dev/null +++ b/test/gold/y_torus.jou @@ -0,0 +1,9 @@ +set graphics off +set journal off +#CELL 8 +torus major radius 5.0 minor radius 2.0 +#{ id1 = Id("body") } +rotate body { id1 } about x angle 90 +body { id1 } move -10.0 -10.0 -10.0 +body { id1 } name "Cell_8" +group "mat:void" add body { id1 } diff --git a/test/gold/ycylinder.jou b/test/gold/ycylinder.jou new file mode 100644 index 0000000..d554ece --- /dev/null +++ b/test/gold/ycylinder.jou @@ -0,0 +1,9 @@ +set graphics off +set journal off +#CELL 2 +cylinder height 500 radius 1.0 +#{ id1 = Id("body") } +rotate body { id1 } about x angle 90 +body { id1 } move 10.0 0 5.0 +body { id1 } name "Cell_2" +group "mat:void" add body { id1 } diff --git a/test/gold/z_cone.jou b/test/gold/z_cone.jou new file mode 100644 index 0000000..e77b6eb --- /dev/null +++ b/test/gold/z_cone.jou @@ -0,0 +1,8 @@ +set graphics off +set journal off +#CELL 6 +create frustum height 500 radius 22.360679774997898 top 0 +#{ id1 = Id("body") } +body { id1 } move 50.0 10.0 2.0 +body { id1 } name "Cell_6" +group "mat:void" add body { id1 } diff --git a/test/gold/z_torus.jou b/test/gold/z_torus.jou new file mode 100644 index 0000000..1887e7f --- /dev/null +++ b/test/gold/z_torus.jou @@ -0,0 +1,8 @@ +set graphics off +set journal off +#CELL 9 +torus major radius 5.0 minor radius 2.0 +#{ id1 = Id("body") } +body { id1 } move 50.0 50.0 50.0 +body { id1 } name "Cell_9" +group "mat:void" add body { id1 } diff --git a/test/lattice-hexagonal.jou b/test/lattice-hexagonal.jou new file mode 100644 index 0000000..ca412d7 --- /dev/null +++ b/test/lattice-hexagonal.jou @@ -0,0 +1,645 @@ +set graphics off +set journal off +#CELL 1 +create prism height 2.0 sides 6 radius 0.5 +#{ id1 = Id("body") } +rotate body { id1 } about z angle 30 +body { id1 } name "cell 4" +move body { id1 } midpoint location 0.0 1.7320508075688772 0.0 +cylinder height 2.0 radius 0.4 +#{ id2 = Id("body") } +body { id2 } name "cell 5" +move body { id2 } midpoint location 0.75 1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id3 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id4 = Id("body") } +rotate body { id4 } about z angle 30 +subtract body { id3 } from body { id4 } +body { id4 } name "cell 6" +move body { id4 } midpoint location 0.75 1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id5 = Id("body") } +body { id5 } name "cell 5" +move body { id5 } midpoint location 1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id6 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id7 = Id("body") } +rotate body { id7 } about z angle 30 +subtract body { id6 } from body { id7 } +body { id7 } name "cell 6" +move body { id7 } midpoint location 1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id8 = Id("body") } +body { id8 } name "cell 5" +move body { id8 } midpoint location 1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id9 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id10 = Id("body") } +rotate body { id10 } about z angle 30 +subtract body { id9 } from body { id10 } +body { id10 } name "cell 6" +move body { id10 } midpoint location 1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id11 = Id("body") } +body { id11 } name "cell 5" +move body { id11 } midpoint location 1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id12 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id13 = Id("body") } +rotate body { id13 } about z angle 30 +subtract body { id12 } from body { id13 } +body { id13 } name "cell 6" +move body { id13 } midpoint location 1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id14 = Id("body") } +body { id14 } name "cell 5" +move body { id14 } midpoint location 0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id15 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id16 = Id("body") } +rotate body { id16 } about z angle 30 +subtract body { id15 } from body { id16 } +body { id16 } name "cell 6" +move body { id16 } midpoint location 0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id17 = Id("body") } +body { id17 } name "cell 5" +move body { id17 } midpoint location 0.0 -1.7320508075688772 0.0 +cylinder height 2.0 radius 0.4 +#{ id18 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id19 = Id("body") } +rotate body { id19 } about z angle 30 +subtract body { id18 } from body { id19 } +body { id19 } name "cell 6" +move body { id19 } midpoint location 0.0 -1.7320508075688772 0.0 +cylinder height 2.0 radius 0.4 +#{ id20 = Id("body") } +body { id20 } name "cell 5" +move body { id20 } midpoint location -0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id21 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id22 = Id("body") } +rotate body { id22 } about z angle 30 +subtract body { id21 } from body { id22 } +body { id22 } name "cell 6" +move body { id22 } midpoint location -0.75 -1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id23 = Id("body") } +body { id23 } name "cell 5" +move body { id23 } midpoint location -1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id24 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id25 = Id("body") } +rotate body { id25 } about z angle 30 +subtract body { id24 } from body { id25 } +body { id25 } name "cell 6" +move body { id25 } midpoint location -1.5 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id26 = Id("body") } +body { id26 } name "cell 5" +move body { id26 } midpoint location -1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id27 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id28 = Id("body") } +rotate body { id28 } about z angle 30 +subtract body { id27 } from body { id28 } +body { id28 } name "cell 6" +move body { id28 } midpoint location -1.5 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id29 = Id("body") } +body { id29 } name "cell 5" +move body { id29 } midpoint location -1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id30 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id31 = Id("body") } +rotate body { id31 } about z angle 30 +subtract body { id30 } from body { id31 } +body { id31 } name "cell 6" +move body { id31 } midpoint location -1.5 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id32 = Id("body") } +body { id32 } name "cell 5" +move body { id32 } midpoint location -0.75 1.299038105676658 0.0 +cylinder height 2.0 radius 0.4 +#{ id33 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id34 = Id("body") } +rotate body { id34 } about z angle 30 +subtract body { id33 } from body { id34 } +body { id34 } name "cell 6" +move body { id34 } midpoint location -0.75 1.299038105676658 0.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id35 = Id("body") } +rotate body { id35 } about z angle 30 +body { id35 } name "cell 4" +move body { id35 } midpoint location 5.302876193624534e-17 0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id36 = Id("body") } +body { id36 } name "cell 5" +move body { id36 } midpoint location 0.7499999999999999 0.4330127018922193 0.0 +cylinder height 2.0 radius 0.4 +#{ id37 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id38 = Id("body") } +rotate body { id38 } about z angle 30 +subtract body { id37 } from body { id38 } +body { id38 } name "cell 6" +move body { id38 } midpoint location 0.7499999999999999 0.4330127018922193 0.0 +cylinder height 2.0 radius 0.4 +#{ id39 = Id("body") } +body { id39 } name "cell 5" +move body { id39 } midpoint location 0.75 -0.43301270189221913 0.0 +cylinder height 2.0 radius 0.4 +#{ id40 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id41 = Id("body") } +rotate body { id41 } about z angle 30 +subtract body { id40 } from body { id41 } +body { id41 } name "cell 6" +move body { id41 } midpoint location 0.75 -0.43301270189221913 0.0 +cylinder height 2.0 radius 0.4 +#{ id42 = Id("body") } +body { id42 } name "cell 5" +move body { id42 } midpoint location 5.302876193624534e-17 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id43 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id44 = Id("body") } +rotate body { id44 } about z angle 30 +subtract body { id43 } from body { id44 } +body { id44 } name "cell 6" +move body { id44 } midpoint location 5.302876193624534e-17 -0.8660254037844386 0.0 +cylinder height 2.0 radius 0.4 +#{ id45 = Id("body") } +body { id45 } name "cell 5" +move body { id45 } midpoint location -0.7499999999999998 -0.4330127018922196 0.0 +cylinder height 2.0 radius 0.4 +#{ id46 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id47 = Id("body") } +rotate body { id47 } about z angle 30 +subtract body { id46 } from body { id47 } +body { id47 } name "cell 6" +move body { id47 } midpoint location -0.7499999999999998 -0.4330127018922196 0.0 +cylinder height 2.0 radius 0.4 +#{ id48 = Id("body") } +body { id48 } name "cell 5" +move body { id48 } midpoint location -0.7499999999999999 0.4330127018922194 0.0 +cylinder height 2.0 radius 0.4 +#{ id49 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id50 = Id("body") } +rotate body { id50 } about z angle 30 +subtract body { id49 } from body { id50 } +body { id50 } name "cell 6" +move body { id50 } midpoint location -0.7499999999999999 0.4330127018922194 0.0 +cylinder height 2.0 radius 0.4 +#{ id51 = Id("body") } +body { id51 } name "cell 5" +move body { id51 } midpoint location 0.0 0.0 0.0 +cylinder height 2.0 radius 0.4 +#{ id52 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id53 = Id("body") } +rotate body { id53 } about z angle 30 +subtract body { id52 } from body { id53 } +body { id53 } name "cell 6" +move body { id53 } midpoint location 0.0 0.0 0.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id54 = Id("body") } +rotate body { id54 } about z angle 30 +body { id54 } name "cell 4" +move body { id54 } midpoint location 0.0 1.7320508075688772 2.0 +cylinder height 2.0 radius 0.4 +#{ id55 = Id("body") } +body { id55 } name "cell 2" +move body { id55 } midpoint location 0.75 1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id56 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id57 = Id("body") } +rotate body { id57 } about z angle 30 +subtract body { id56 } from body { id57 } +body { id57 } name "cell 3" +move body { id57 } midpoint location 0.75 1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id58 = Id("body") } +body { id58 } name "cell 2" +move body { id58 } midpoint location 1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id59 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id60 = Id("body") } +rotate body { id60 } about z angle 30 +subtract body { id59 } from body { id60 } +body { id60 } name "cell 3" +move body { id60 } midpoint location 1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id61 = Id("body") } +body { id61 } name "cell 2" +move body { id61 } midpoint location 1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id62 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id63 = Id("body") } +rotate body { id63 } about z angle 30 +subtract body { id62 } from body { id63 } +body { id63 } name "cell 3" +move body { id63 } midpoint location 1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id64 = Id("body") } +body { id64 } name "cell 2" +move body { id64 } midpoint location 1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id65 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id66 = Id("body") } +rotate body { id66 } about z angle 30 +subtract body { id65 } from body { id66 } +body { id66 } name "cell 3" +move body { id66 } midpoint location 1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id67 = Id("body") } +body { id67 } name "cell 2" +move body { id67 } midpoint location 0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id68 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id69 = Id("body") } +rotate body { id69 } about z angle 30 +subtract body { id68 } from body { id69 } +body { id69 } name "cell 3" +move body { id69 } midpoint location 0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id70 = Id("body") } +body { id70 } name "cell 2" +move body { id70 } midpoint location 0.0 -1.7320508075688772 2.0 +cylinder height 2.0 radius 0.4 +#{ id71 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id72 = Id("body") } +rotate body { id72 } about z angle 30 +subtract body { id71 } from body { id72 } +body { id72 } name "cell 3" +move body { id72 } midpoint location 0.0 -1.7320508075688772 2.0 +cylinder height 2.0 radius 0.4 +#{ id73 = Id("body") } +body { id73 } name "cell 2" +move body { id73 } midpoint location -0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id74 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id75 = Id("body") } +rotate body { id75 } about z angle 30 +subtract body { id74 } from body { id75 } +body { id75 } name "cell 3" +move body { id75 } midpoint location -0.75 -1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id76 = Id("body") } +body { id76 } name "cell 2" +move body { id76 } midpoint location -1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id77 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id78 = Id("body") } +rotate body { id78 } about z angle 30 +subtract body { id77 } from body { id78 } +body { id78 } name "cell 3" +move body { id78 } midpoint location -1.5 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id79 = Id("body") } +body { id79 } name "cell 2" +move body { id79 } midpoint location -1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id80 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id81 = Id("body") } +rotate body { id81 } about z angle 30 +subtract body { id80 } from body { id81 } +body { id81 } name "cell 3" +move body { id81 } midpoint location -1.5 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id82 = Id("body") } +body { id82 } name "cell 2" +move body { id82 } midpoint location -1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id83 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id84 = Id("body") } +rotate body { id84 } about z angle 30 +subtract body { id83 } from body { id84 } +body { id84 } name "cell 3" +move body { id84 } midpoint location -1.5 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id85 = Id("body") } +body { id85 } name "cell 2" +move body { id85 } midpoint location -0.75 1.299038105676658 2.0 +cylinder height 2.0 radius 0.4 +#{ id86 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id87 = Id("body") } +rotate body { id87 } about z angle 30 +subtract body { id86 } from body { id87 } +body { id87 } name "cell 3" +move body { id87 } midpoint location -0.75 1.299038105676658 2.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id88 = Id("body") } +rotate body { id88 } about z angle 30 +body { id88 } name "cell 4" +move body { id88 } midpoint location 5.302876193624534e-17 0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id89 = Id("body") } +body { id89 } name "cell 2" +move body { id89 } midpoint location 0.7499999999999999 0.4330127018922193 2.0 +cylinder height 2.0 radius 0.4 +#{ id90 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id91 = Id("body") } +rotate body { id91 } about z angle 30 +subtract body { id90 } from body { id91 } +body { id91 } name "cell 3" +move body { id91 } midpoint location 0.7499999999999999 0.4330127018922193 2.0 +cylinder height 2.0 radius 0.4 +#{ id92 = Id("body") } +body { id92 } name "cell 2" +move body { id92 } midpoint location 0.75 -0.43301270189221913 2.0 +cylinder height 2.0 radius 0.4 +#{ id93 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id94 = Id("body") } +rotate body { id94 } about z angle 30 +subtract body { id93 } from body { id94 } +body { id94 } name "cell 3" +move body { id94 } midpoint location 0.75 -0.43301270189221913 2.0 +cylinder height 2.0 radius 0.4 +#{ id95 = Id("body") } +body { id95 } name "cell 2" +move body { id95 } midpoint location 5.302876193624534e-17 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id96 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id97 = Id("body") } +rotate body { id97 } about z angle 30 +subtract body { id96 } from body { id97 } +body { id97 } name "cell 3" +move body { id97 } midpoint location 5.302876193624534e-17 -0.8660254037844386 2.0 +cylinder height 2.0 radius 0.4 +#{ id98 = Id("body") } +body { id98 } name "cell 2" +move body { id98 } midpoint location -0.7499999999999998 -0.4330127018922196 2.0 +cylinder height 2.0 radius 0.4 +#{ id99 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id100 = Id("body") } +rotate body { id100 } about z angle 30 +subtract body { id99 } from body { id100 } +body { id100 } name "cell 3" +move body { id100 } midpoint location -0.7499999999999998 -0.4330127018922196 2.0 +cylinder height 2.0 radius 0.4 +#{ id101 = Id("body") } +body { id101 } name "cell 2" +move body { id101 } midpoint location -0.7499999999999999 0.4330127018922194 2.0 +cylinder height 2.0 radius 0.4 +#{ id102 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id103 = Id("body") } +rotate body { id103 } about z angle 30 +subtract body { id102 } from body { id103 } +body { id103 } name "cell 3" +move body { id103 } midpoint location -0.7499999999999999 0.4330127018922194 2.0 +cylinder height 2.0 radius 0.4 +#{ id104 = Id("body") } +body { id104 } name "cell 2" +move body { id104 } midpoint location 0.0 0.0 2.0 +cylinder height 2.0 radius 0.4 +#{ id105 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id106 = Id("body") } +rotate body { id106 } about z angle 30 +subtract body { id105 } from body { id106 } +body { id106 } name "cell 3" +move body { id106 } midpoint location 0.0 0.0 2.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id107 = Id("body") } +rotate body { id107 } about z angle 30 +body { id107 } name "cell 4" +move body { id107 } midpoint location 0.0 1.7320508075688772 4.0 +cylinder height 2.0 radius 0.4 +#{ id108 = Id("body") } +body { id108 } name "cell 5" +move body { id108 } midpoint location 0.75 1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id109 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id110 = Id("body") } +rotate body { id110 } about z angle 30 +subtract body { id109 } from body { id110 } +body { id110 } name "cell 6" +move body { id110 } midpoint location 0.75 1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id111 = Id("body") } +body { id111 } name "cell 5" +move body { id111 } midpoint location 1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id112 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id113 = Id("body") } +rotate body { id113 } about z angle 30 +subtract body { id112 } from body { id113 } +body { id113 } name "cell 6" +move body { id113 } midpoint location 1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id114 = Id("body") } +body { id114 } name "cell 5" +move body { id114 } midpoint location 1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id115 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id116 = Id("body") } +rotate body { id116 } about z angle 30 +subtract body { id115 } from body { id116 } +body { id116 } name "cell 6" +move body { id116 } midpoint location 1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id117 = Id("body") } +body { id117 } name "cell 5" +move body { id117 } midpoint location 1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id118 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id119 = Id("body") } +rotate body { id119 } about z angle 30 +subtract body { id118 } from body { id119 } +body { id119 } name "cell 6" +move body { id119 } midpoint location 1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id120 = Id("body") } +body { id120 } name "cell 5" +move body { id120 } midpoint location 0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id121 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id122 = Id("body") } +rotate body { id122 } about z angle 30 +subtract body { id121 } from body { id122 } +body { id122 } name "cell 6" +move body { id122 } midpoint location 0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id123 = Id("body") } +body { id123 } name "cell 5" +move body { id123 } midpoint location 0.0 -1.7320508075688772 4.0 +cylinder height 2.0 radius 0.4 +#{ id124 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id125 = Id("body") } +rotate body { id125 } about z angle 30 +subtract body { id124 } from body { id125 } +body { id125 } name "cell 6" +move body { id125 } midpoint location 0.0 -1.7320508075688772 4.0 +cylinder height 2.0 radius 0.4 +#{ id126 = Id("body") } +body { id126 } name "cell 5" +move body { id126 } midpoint location -0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id127 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id128 = Id("body") } +rotate body { id128 } about z angle 30 +subtract body { id127 } from body { id128 } +body { id128 } name "cell 6" +move body { id128 } midpoint location -0.75 -1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id129 = Id("body") } +body { id129 } name "cell 5" +move body { id129 } midpoint location -1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id130 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id131 = Id("body") } +rotate body { id131 } about z angle 30 +subtract body { id130 } from body { id131 } +body { id131 } name "cell 6" +move body { id131 } midpoint location -1.5 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id132 = Id("body") } +body { id132 } name "cell 5" +move body { id132 } midpoint location -1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id133 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id134 = Id("body") } +rotate body { id134 } about z angle 30 +subtract body { id133 } from body { id134 } +body { id134 } name "cell 6" +move body { id134 } midpoint location -1.5 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id135 = Id("body") } +body { id135 } name "cell 5" +move body { id135 } midpoint location -1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id136 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id137 = Id("body") } +rotate body { id137 } about z angle 30 +subtract body { id136 } from body { id137 } +body { id137 } name "cell 6" +move body { id137 } midpoint location -1.5 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id138 = Id("body") } +body { id138 } name "cell 5" +move body { id138 } midpoint location -0.75 1.299038105676658 4.0 +cylinder height 2.0 radius 0.4 +#{ id139 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id140 = Id("body") } +rotate body { id140 } about z angle 30 +subtract body { id139 } from body { id140 } +body { id140 } name "cell 6" +move body { id140 } midpoint location -0.75 1.299038105676658 4.0 +create prism height 2.0 sides 6 radius 0.5 +#{ id141 = Id("body") } +rotate body { id141 } about z angle 30 +body { id141 } name "cell 4" +move body { id141 } midpoint location 5.302876193624534e-17 0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id142 = Id("body") } +body { id142 } name "cell 5" +move body { id142 } midpoint location 0.7499999999999999 0.4330127018922193 4.0 +cylinder height 2.0 radius 0.4 +#{ id143 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id144 = Id("body") } +rotate body { id144 } about z angle 30 +subtract body { id143 } from body { id144 } +body { id144 } name "cell 6" +move body { id144 } midpoint location 0.7499999999999999 0.4330127018922193 4.0 +cylinder height 2.0 radius 0.4 +#{ id145 = Id("body") } +body { id145 } name "cell 5" +move body { id145 } midpoint location 0.75 -0.43301270189221913 4.0 +cylinder height 2.0 radius 0.4 +#{ id146 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id147 = Id("body") } +rotate body { id147 } about z angle 30 +subtract body { id146 } from body { id147 } +body { id147 } name "cell 6" +move body { id147 } midpoint location 0.75 -0.43301270189221913 4.0 +cylinder height 2.0 radius 0.4 +#{ id148 = Id("body") } +body { id148 } name "cell 5" +move body { id148 } midpoint location 5.302876193624534e-17 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id149 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id150 = Id("body") } +rotate body { id150 } about z angle 30 +subtract body { id149 } from body { id150 } +body { id150 } name "cell 6" +move body { id150 } midpoint location 5.302876193624534e-17 -0.8660254037844386 4.0 +cylinder height 2.0 radius 0.4 +#{ id151 = Id("body") } +body { id151 } name "cell 5" +move body { id151 } midpoint location -0.7499999999999998 -0.4330127018922196 4.0 +cylinder height 2.0 radius 0.4 +#{ id152 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id153 = Id("body") } +rotate body { id153 } about z angle 30 +subtract body { id152 } from body { id153 } +body { id153 } name "cell 6" +move body { id153 } midpoint location -0.7499999999999998 -0.4330127018922196 4.0 +cylinder height 2.0 radius 0.4 +#{ id154 = Id("body") } +body { id154 } name "cell 5" +move body { id154 } midpoint location -0.7499999999999999 0.4330127018922194 4.0 +cylinder height 2.0 radius 0.4 +#{ id155 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id156 = Id("body") } +rotate body { id156 } about z angle 30 +subtract body { id155 } from body { id156 } +body { id156 } name "cell 6" +move body { id156 } midpoint location -0.7499999999999999 0.4330127018922194 4.0 +cylinder height 2.0 radius 0.4 +#{ id157 = Id("body") } +body { id157 } name "cell 5" +move body { id157 } midpoint location 0.0 0.0 4.0 +cylinder height 2.0 radius 0.4 +#{ id158 = Id("body") } +create prism height 2.0 sides 6 radius 0.5 +#{ id159 = Id("body") } +rotate body { id159 } about z angle 30 +subtract body { id158 } from body { id159 } +body { id159 } name "cell 6" +move body { id159 } midpoint location 0.0 0.0 4.0 diff --git a/test/local_tests.py b/test/local_tests.py new file mode 100644 index 0000000..cca6246 --- /dev/null +++ b/test/local_tests.py @@ -0,0 +1,33 @@ +import functools + +import openmc + +from openmc_cad_adapter import to_cubit_journal + +from .test_utilities import diff_gold_file + + +def openmc_reset(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + openmc.reset_auto_ids() + func(*args, **kwargs) + return wrapper + + +@openmc_reset +def test_xcylinder(request): + x_cyl = openmc.XCylinder(r=1.0, y0=10.0, z0=5.0) + g = openmc.Geometry([openmc.Cell(region=-x_cyl)]) + to_cubit_journal(g, world=(500, 500, 500), filename='xcylinder.jou') + diff_gold_file('xcylinder.jou') + + +@openmc_reset +def test_ycylinder(request): + y_cyl = openmc.YCylinder(r=1.0, x0=10.0, z0=5.0) + g = openmc.Geometry([openmc.Cell(region=-y_cyl)]) + to_cubit_journal(g, world=(500, 500, 500), filename='ycylinder.jou') + diff_gold_file('ycylinder.jou') + + diff --git a/test/materials.xml b/test/materials.xml new file mode 100644 index 0000000..b4be91c --- /dev/null +++ b/test/materials.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/pincell.jou b/test/pincell.jou new file mode 100644 index 0000000..c16552b --- /dev/null +++ b/test/pincell.jou @@ -0,0 +1,71 @@ +set graphics off +set journal off +#CELL 1 +cylinder height 500 radius 0.39218 +#{ id1 = Id("body") } +body { id1 } name "Cell_1" +group "Material_1" add body { id1 } +#CELL 2 +cylinder height 500 radius 0.39218 +#{ id2 = Id("body") } +brick x 500 y 500 z 500 +#{ id3 = Id("body") } +subtract body { id2 } from body { id3 } +cylinder height 500 radius 0.40005 +#{ id4 = Id("body") } +#{ id5 = Id("body") } +intersect body { id3 } { id4 } +#{ id6 = Id("body") } +#{id7 = ( id5 == id6 ) ? id4 : id6} +body { id7 } name "Cell_2" +group "Material_2" add body { id7 } +#CELL 3 +cylinder height 500 radius 0.40005 +#{ id8 = Id("body") } +brick x 500 y 500 z 500 +#{ id9 = Id("body") } +subtract body { id8 } from body { id9 } +cylinder height 500 radius 0.4572 +#{ id10 = Id("body") } +#{ id11 = Id("body") } +intersect body { id9 } { id10 } +#{ id12 = Id("body") } +#{id13 = ( id11 == id12 ) ? id10 : id12} +body { id13 } name "Cell_3" +group "Material_3" add body { id13 } +#CELL 4 +cylinder height 500 radius 0.4572 +#{ id14 = Id("body") } +brick x 500 y 500 z 500 +#{ id15 = Id("body") } +subtract body { id14 } from body { id15 } +brick x 500 y 500 z 500 +#{ id16 = Id("body") } +section body { id16 } with xplane offset -0.62992 +#{ id17 = Id("body") } +intersect body { id15 } { id16 } +#{ id18 = Id("body") } +#{id19 = ( id17 == id18 ) ? id16 : id18} +brick x 500 y 500 z 500 +#{ id20 = Id("body") } +section body { id20 } with xplane offset 0.62992 reverse +#{ id21 = Id("body") } +intersect body { id19 } { id20 } +#{ id22 = Id("body") } +#{id23 = ( id21 == id22 ) ? id20 : id22} +brick x 500 y 500 z 500 +#{ id24 = Id("body") } +section body { id24 } with yplane offset -0.62992 +#{ id25 = Id("body") } +intersect body { id23 } { id24 } +#{ id26 = Id("body") } +#{id27 = ( id25 == id26 ) ? id24 : id26} +brick x 500 y 500 z 500 +#{ id28 = Id("body") } +section body { id28 } with yplane offset 0.62992 reverse +#{ id29 = Id("body") } +intersect body { id27 } { id28 } +#{ id30 = Id("body") } +#{id31 = ( id29 == id30 ) ? id28 : id30} +body { id31 } name "Cell_4" +group "Material_4" add body { id31 } diff --git a/test/pincell_cell1.jou b/test/pincell_cell1.jou new file mode 100644 index 0000000..37a6924 --- /dev/null +++ b/test/pincell_cell1.jou @@ -0,0 +1,5 @@ +#CELL 1 +cylinder height 500 radius 0.39218 +#{ id1 = Id("body") } +body { id1 } name "Cell_1" +group "Material_1" add body { id1 } diff --git a/test/pincell_cell2.jou b/test/pincell_cell2.jou new file mode 100644 index 0000000..17bb5d3 --- /dev/null +++ b/test/pincell_cell2.jou @@ -0,0 +1,14 @@ +#CELL 2 +cylinder height 500 radius 0.39218 +#{ id2 = Id("body") } +brick x 500 y 500 z 500 +#{ id3 = Id("body") } +subtract body { id2 } from body { id3 } +cylinder height 500 radius 0.40005 +#{ id4 = Id("body") } +#{ id5 = Id("body") } +intersect body { id3 } { id4 } +#{ id6 = Id("body") } +#{id7 = ( id5 == id6 ) ? id4 : id6} +body { id7 } name "Cell_2" +group "Material_2" add body { id7 } diff --git a/test/pincell_cell3.jou b/test/pincell_cell3.jou new file mode 100644 index 0000000..6221709 --- /dev/null +++ b/test/pincell_cell3.jou @@ -0,0 +1,14 @@ +#CELL 3 +cylinder height 500 radius 0.40005 +#{ id8 = Id("body") } +brick x 500 y 500 z 500 +#{ id9 = Id("body") } +subtract body { id8 } from body { id9 } +cylinder height 500 radius 0.4572 +#{ id10 = Id("body") } +#{ id11 = Id("body") } +intersect body { id9 } { id10 } +#{ id12 = Id("body") } +#{id13 = ( id11 == id12 ) ? id10 : id12} +body { id13 } name "Cell_3" +group "Material_3" add body { id13 } diff --git a/test/pincell_cell4.jou b/test/pincell_cell4.jou new file mode 100644 index 0000000..46846f7 --- /dev/null +++ b/test/pincell_cell4.jou @@ -0,0 +1,36 @@ +#CELL 4 +cylinder height 500 radius 0.4572 +#{ id14 = Id("body") } +brick x 500 y 500 z 500 +#{ id15 = Id("body") } +subtract body { id14 } from body { id15 } +brick x 500 y 500 z 500 +#{ id16 = Id("body") } +section body { id16 } with xplane offset -0.62992 +#{ id17 = Id("body") } +intersect body { id15 } { id16 } +#{ id18 = Id("body") } +#{id19 = ( id17 == id18 ) ? id16 : id18} +brick x 500 y 500 z 500 +#{ id20 = Id("body") } +section body { id20 } with xplane offset 0.62992 reverse +#{ id21 = Id("body") } +intersect body { id19 } { id20 } +#{ id22 = Id("body") } +#{id23 = ( id21 == id22 ) ? id20 : id22} +brick x 500 y 500 z 500 +#{ id24 = Id("body") } +section body { id24 } with yplane offset -0.62992 +#{ id25 = Id("body") } +intersect body { id23 } { id24 } +#{ id26 = Id("body") } +#{id27 = ( id25 == id26 ) ? id24 : id26} +brick x 500 y 500 z 500 +#{ id28 = Id("body") } +section body { id28 } with yplane offset 0.62992 reverse +#{ id29 = Id("body") } +intersect body { id27 } { id28 } +#{ id30 = Id("body") } +#{id31 = ( id29 == id30 ) ? id28 : id30} +body { id31 } name "Cell_4" +group "Material_4" add body { id31 } diff --git a/test/plots.xml b/test/plots.xml new file mode 100644 index 0000000..4732ec0 --- /dev/null +++ b/test/plots.xml @@ -0,0 +1,13 @@ + + + + 400 400 + 0 0 0 + 6 6 + + + 400 400 + 0 0 0 + 8 8 + + diff --git a/test/settings.xml b/test/settings.xml new file mode 100644 index 0000000..ea5f614 --- /dev/null +++ b/test/settings.xml @@ -0,0 +1,23 @@ + + + eigenvalue + 10000 + 20 + 10 + + 0.0005 + std_dev + + + + -1 -1 -1 1 1 1 + + + true + + + + true + 100 + + diff --git a/test/tallies.xml b/test/tallies.xml new file mode 100644 index 0000000..c934516 --- /dev/null +++ b/test/tallies.xml @@ -0,0 +1,10 @@ + + + + 101 + + + 1 + total + + diff --git a/test/test_examples.py b/test/test_examples.py index 491b2b2..ed61fa0 100644 --- a/test/test_examples.py +++ b/test/test_examples.py @@ -10,33 +10,37 @@ from openmc_cad_adapter import to_cubit_journal import openmc +from test import diff_files + examples = ["pincell/build_xml.py", "lattice/hexagonal/build_xml.py", "assembly/assembly.py"] + if 'OPENMC_EXAMPLES_DIR' not in os.environ: raise EnvironmentError('Variable OPENMC_EXAMPLES_DIR is required') -OPENMC_EXAMPLES_DIR = Path(os.environ['OPENMC_EXAMPLES_DIR']).resolve() - -def diff_files(a, b): - if not filecmp.cmp(a, b): - print(''.join(difflib.unified_diff(open(a, 'r').readlines(), - open(b, 'r').readlines()))) - raise RuntimeError(f'{a} and {b} are different') +OPENMC_EXAMPLES_DIR = Path(os.environ['OPENMC_EXAMPLES_DIR']).resolve() def example_name(example): return '-'.join(example.split('/')[:-1]) +def generate_example_xml(example): + if 'assembly' in example: + subprocess.Popen(['python', str(OPENMC_EXAMPLES_DIR / example), '--generate']).wait() + else: + exec(open(OPENMC_EXAMPLES_DIR / example).read()) + + @pytest.mark.parametrize("example", examples, ids=example_name) -def test_examples(example, request): +def test_examples(example, request, run_in_tmpdir): openmc.reset_auto_ids() - exec(open(OPENMC_EXAMPLES_DIR / example).read()) + generate_example_xml(example) openmc.reset_auto_ids() model = openmc.Model.from_xml() @@ -49,7 +53,7 @@ def test_examples(example, request): diff_files(output, gold_file) -def test_cell_by_cell_conversion(request): +def test_cell_by_cell_conversion(request, run_in_tmpdir): openmc.reset_auto_ids() exec(open(OPENMC_EXAMPLES_DIR / "pincell/build_xml.py").read()) @@ -67,12 +71,12 @@ def test_cell_by_cell_conversion(request): gold_file = request.path.parent / Path('gold') / Path(output) diff_files(output, gold_file) + @pytest.mark.parametrize("example", examples, ids=example_name) -def test_examples_cli(example, request): +def test_examples_cli(example, request, run_in_tmpdir): openmc.reset_auto_ids() - example_path = OPENMC_EXAMPLES_DIR / example - exec(open(example_path).read()) + generate_example_xml(example) openmc.reset_auto_ids() world = [500, 500, 500] @@ -84,4 +88,4 @@ def test_examples_cli(example, request): raise RuntimeError(f'Command {" ".join(cmd)} failed') gold_file = request.path.parent / Path('gold') / Path(output) - diff_files(output, gold_file) + diff_files(output, gold_file) \ No newline at end of file diff --git a/test/test_local.py b/test/test_local.py new file mode 100644 index 0000000..22a1e19 --- /dev/null +++ b/test/test_local.py @@ -0,0 +1,87 @@ +import openmc +import pytest + +from openmc_cad_adapter import to_cubit_journal + +from .test_utilities import diff_gold_file +from test import run_in_tmpdir + + +# Test the XCylinder and YCylinder classes, the ZCylinder surface is tested +# extensively in the OpenMC example tests + +def test_xcylinder(request, run_in_tmpdir): + x_cyl = openmc.XCylinder(r=1.0, y0=10.0, z0=5.0) + g = openmc.Geometry([openmc.Cell(region=-x_cyl)]) + to_cubit_journal(g, world=(500, 500, 500), filename='xcylinder.jou') + diff_gold_file('xcylinder.jou') + + +def test_ycylinder(request, run_in_tmpdir): + y_cyl = openmc.YCylinder(r=1.0, x0=10.0, z0=5.0) + g = openmc.Geometry([openmc.Cell(region=-y_cyl)]) + to_cubit_journal(g, world=(500, 500, 500), filename='ycylinder.jou') + diff_gold_file('ycylinder.jou') + + +def test_cylinder(request, run_in_tmpdir): + cyl = openmc.Cylinder(x0=0.0, y0=0.0, z0=0.0, r=6.0, dx=0.7071, dy=0.7071, dz=0.0) + g = openmc.Geometry([openmc.Cell(region=-cyl)]) + to_cubit_journal(g, world=(500, 500, 500), filename='cylinder.jou') + diff_gold_file('cylinder.jou') + + +def test_x_cone(request, run_in_tmpdir): + x_cone = openmc.XCone(x0=30.0, y0=3.0, z0=5.0, r2=5.0) + g = openmc.Geometry([openmc.Cell(region=-x_cone)]) + to_cubit_journal(g, world=(500, 500, 500), filename='x_cone.jou') + diff_gold_file('x_cone.jou') + + +def test_y_cone(request, run_in_tmpdir): + y_cone = openmc.YCone(x0=40.0, y0=20.0, z0=7.0, r2=2.0) + g = openmc.Geometry([openmc.Cell(region=-y_cone)]) + to_cubit_journal(g, world=(500, 500, 500), filename='y_cone.jou') + diff_gold_file('y_cone.jou') + + +def test_z_cone(request, run_in_tmpdir): + z_cone = openmc.ZCone(x0=50.0, y0=10.0, z0=2.0, r2=1.0) + g = openmc.Geometry([openmc.Cell(region=-z_cone)]) + to_cubit_journal(g, world=(500, 500, 500), filename='z_cone.jou') + diff_gold_file('z_cone.jou') + + +def test_x_torus(request, run_in_tmpdir): + x_torus = openmc.XTorus(x0=10.0, y0=10.0, z0=10.0, a=5.0, b=2.0, c=2.0) + g = openmc.Geometry([openmc.Cell(region=-x_torus)]) + to_cubit_journal(g, world=(500, 500, 500), filename='x_torus.jou') + diff_gold_file('x_torus.jou') + + +def test_y_torus(request, run_in_tmpdir): + y_torus = openmc.YTorus(x0=-10.0, y0=-10.0, z0=-10.0, a=5.0, b=2.0, c=2.0) + g = openmc.Geometry([openmc.Cell(region=-y_torus)]) + to_cubit_journal(g, world=(500, 500, 500), filename='y_torus.jou') + diff_gold_file('y_torus.jou') + + +def test_z_torus(request, run_in_tmpdir): + z_torus = openmc.ZTorus(x0=50.0, y0=50.0, z0=50.0, a=5.0, b=2.0, c=2.0) + g = openmc.Geometry([openmc.Cell(region=-z_torus)]) + to_cubit_journal(g, world=(500, 500, 500), filename='z_torus.jou') + diff_gold_file('z_torus.jou') + + +def test_torus_diff_radii(request, run_in_tmpdir): + with pytest.raises(ValueError): + z_torus = openmc.ZTorus(x0=50.0, y0=50.0, z0=50.0, a=5.0, b=2.0, c=3.0) + g = openmc.Geometry([openmc.Cell(region=-z_torus)]) + to_cubit_journal(g, world=(500, 500, 500), filename='a_torus.jou') + + +def test_general_cone(request, run_in_tmpdir): + with pytest.raises(NotImplementedError): + cone = openmc.Cone(x0=0.0, y0=0.0, z0=0.0, r2=6.0, dx=1, dy=1, dz=1) + g = openmc.Geometry([openmc.Cell(region=-cone)]) + to_cubit_journal(g, world=(500, 500, 500), filename='cone.jou') \ No newline at end of file diff --git a/test/test_utilities.py b/test/test_utilities.py new file mode 100644 index 0000000..9f6ac2e --- /dev/null +++ b/test/test_utilities.py @@ -0,0 +1,26 @@ +import os +import shutil +import difflib +import filecmp + +from test import test_config + +def diff_files(test_output, gold_file): + + if test_config['update']: + os.makedirs(os.path.dirname(gold_file), exist_ok=True) + shutil.copy(test_output, gold_file) + + if not filecmp.cmp(test_output, gold_file): + print(''.join(difflib.unified_diff(open(test_output, 'r').readlines(), + open(gold_file, 'r').readlines()))) + raise RuntimeError(f'{test_output} and {gold_file} are different') + + +def diff_gold_file(gold_file, request=None): + if request is not None: + gold_file = request.path.parent / gold_file + b = request.path.parent / 'gold' / gold_file.name + else: + b = os.path.join(os.path.dirname(__file__), 'gold', os.path.basename(gold_file)) + diff_files(gold_file, b) \ No newline at end of file diff --git a/test/xcylinder.jou b/test/xcylinder.jou new file mode 100644 index 0000000..2f4cf29 --- /dev/null +++ b/test/xcylinder.jou @@ -0,0 +1,8 @@ +set graphics off +set journal off +#CELL 1 +cylinder height 500 radius 1.0 +#{ id1 = Id("body") } +rotate body { id1 } about y angle 90 +body { id1 } move 0 10.0 5.0 +body { id1 } name "Cell_1" diff --git a/test/ycylinder.jou b/test/ycylinder.jou new file mode 100644 index 0000000..c72b62a --- /dev/null +++ b/test/ycylinder.jou @@ -0,0 +1,8 @@ +set graphics off +set journal off +#CELL 2 +cylinder height 500 radius 1.0 +#{ id1 = Id("body") } +rotate body { id1 } about x angle 90 +body { id1 } move 10.0 0 5.0 +body { id1 } name "Cell_2"