Beispiel #1
0
 def test_fillet_fuse(self):
     s1 = cm.sphere(1.0)
     s2 = cm.box(4.0, 4.0, 4.0)
     s2.translate((0.0, -2.0, -2.0))
     s3 = cm.fillet_fuse(s1, s2, 0.5)
     v3 = s3.volume()
     # print v3, 4.0*4.0*4.0 + 0.5*4.0/3.0*math.pi*1.0**3
     # empirical
     self.assert_(
         close(v3,
               0.2 + 4.0 * 4.0 * 4.0 + 0.5 * 4.0 / 3.0 * math.pi * 1.0**3,
               0.1))
Beispiel #2
0
 def test_fillet_fuse(self):
     s1 = cm.sphere(1.0)
     s2 = cm.box(4.0, 4.0, 4.0)
     s2.translate((0.0, -2.0, -2.0))
     s3 = cm.fillet_fuse(s1, s2, 0.5)
     v3 = s3.volume()
     #print v3, 4.0*4.0*4.0 + 0.5*4.0/3.0*math.pi*1.0**3
     # empirical
     self.assert_(close(v3,
                        0.2 + 4.0 * 4.0 * 4.0 +
                        0.5 * 4.0 / 3.0 * math.pi * 1.0 ** 3,
                        0.1))
Beispiel #3
0
    def geometry(self):
        r"""Part geometry

        Returns
        -------
        Solid

        """
        tail = cm.box(self.tail_length + (self.outer_diameter / 2 +
                                          self.inner_diameter / 2) / 2,
                      self.tail_thickness, self.length)
        tail.translate((0., -self.tail_thickness / 2, 0.))
        tail.translate(((self.outer_diameter / 2 + self.inner_diameter / 2) / 2,
                        0, 0))
        return cm.fillet_fuse(super(TubeWithTail, self).geometry, tail, 2.)
Beispiel #4
0
    def geometry(self):
        r"""Part geometry

        Returns
        -------
        Solid : the tube with a guide as a ccad solid

        """
        main_cyl = cm.cylinder(self.outer_diameter / 2, self.length)
        small_tube = cm.cylinder(
            self.thickness_around_small_hole + self.small_hole_diameter / 2 +
            0.1, self.length)
        small_hole = cm.cylinder(self.small_hole_diameter / 2, self.length)
        small_tube.translate(
            (self.outer_diameter / 2 + self.small_hole_distance_to_od +
             self.small_hole_diameter / 2, 0, 0))
        small_hole.translate(
            (self.outer_diameter / 2 + self.small_hole_distance_to_od +
             self.small_hole_diameter / 2, 0, 0))

        return cm.fillet_fuse(main_cyl, small_tube, 200) -\
            cm.cylinder(self.inner_diameter / 2, self.length) - small_hole