Exemplo n.º 1
0
    def plot_line(self, p1, p2, fast=False):
        p1 = vector.vec_add(p1, self._cnc_offset)
        p2 = vector.vec_add(p2, self._cnc_offset)

        if p1 != self._current_pos:
            if self._current_z != self._move_z:
                self._append_tool_up_cmd()
            self._append_quick_move_cmd(p1)

        if self._current_z != self._plot_z:
            self._append_tool_down_cmd()

        self._append_precise_move_cmd(p2, fast)
Exemplo n.º 2
0
    def _plan_vertical_obround(position, radius, size, path: ToolPath,
                               move_to_pos):
        border_pos_1 = vector.vec_add(position, (radius, size / 2))
        border_pos_2 = vector.vec_add(position, (-radius, size / 2))
        border_pos_3 = vector.vec_add(position, (-radius, -size / 2))
        border_pos_4 = vector.vec_add(position, (radius, -size / 2))

        if move_to_pos:
            path.move_to(border_pos_1)
        else:
            path.plot_to(border_pos_1)

        path.plot_arc((-radius, 0), border_pos_2, True)
        path.plot_to(border_pos_3)
        path.plot_arc((radius, 0), border_pos_4, True)
        path.plot_to(border_pos_1)
Exemplo n.º 3
0
    def _plan_horizontal_obround(position, radius, size, path: ToolPath,
                                 move_to_pos):
        border_pos_1 = vector.vec_add(position, (-size / 2, radius))
        border_pos_2 = vector.vec_add(position, (-size / 2, -radius))
        border_pos_3 = vector.vec_add(position, (size / 2, -radius))
        border_pos_4 = vector.vec_add(position, (size / 2, radius))

        if move_to_pos:
            path.move_to(border_pos_1)
        else:
            path.plot_to(border_pos_1)

        path.plot_arc((0, -radius), border_pos_2, True)
        path.plot_to(border_pos_3)
        path.plot_arc((0, radius), border_pos_4, True)
        path.plot_to(border_pos_1)
Exemplo n.º 4
0
    def move_to(self, p):
        p = vector.vec_add(p, self._cnc_offset)

        if p != self._current_pos:
            if self._current_z != self._move_z:
                self._append_tool_up_cmd()
            self._append_quick_move_cmd(p)
Exemplo n.º 5
0
    def plot_circle(self, center):
        center = vector.vec_add(center, self._cnc_offset)

        if self._current_z != self._plot_z:
            self._append_tool_down_cmd()

        self._append_slow_cw_circle_move(
            vector.vec_sub(center, self._current_pos), False)
Exemplo n.º 6
0
    def plot_arc(self, r_center, stop, ccw):
        stop = vector.vec_add(stop, self._cnc_offset)

        if self._current_z != self._plot_z:
            self._append_tool_down_cmd()

        if ccw:
            self._append_ccw_slow_arc_cmd(r_center, stop, False)
        else:
            self._append_cw_slow_arc_cmd(r_center, stop, False)
Exemplo n.º 7
0
    def plot_to(self, p, fast=False):
        p = vector.vec_add(p, self._cnc_offset)

        if p == self._current_pos:
            return

        if self._current_z != self._plot_z:
            self._append_tool_down_cmd()

        self._append_precise_move_cmd(p, fast)
Exemplo n.º 8
0
 def translate(self, v):
     self.lower_left = vector.vec_add(self.lower_left, v)
     self.upper_right = vector.vec_add(self.upper_right, v)
Exemplo n.º 9
0
 def translate(self, v):
     for i in range(len(self.points)):
         self.points[i] = vector.vec_add(self.points[i], v)
Exemplo n.º 10
0
 def translate(self, v):
     self.start = vector.vec_add(self.start, v)
     self.end = vector.vec_add(self.end, v)
Exemplo n.º 11
0
 def get_start_pos(self):
     if self.horizontal:
         return vector.vec_add(self.position, (-self.size / 2, self.radius))
     return vector.vec_add(self.position, (self.radius, self.size / 2))
Exemplo n.º 12
0
 def translate(self, v):
     self.position = vector.vec_add(self.position, v)
Exemplo n.º 13
0
 def get_start_pos(self):
     return vector.vec_add(self.center, (self.radius, 0))
Exemplo n.º 14
0
 def translate(self, v):
     self.center = vector.vec_add(self.center, v)