Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio n. 9
0
 def translate(self, v):
     for i in range(len(self.points)):
         self.points[i] = vector.vec_add(self.points[i], v)
Esempio n. 10
0
 def translate(self, v):
     self.start = vector.vec_add(self.start, v)
     self.end = vector.vec_add(self.end, v)
Esempio 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))
Esempio n. 12
0
 def translate(self, v):
     self.position = vector.vec_add(self.position, v)
Esempio n. 13
0
 def get_start_pos(self):
     return vector.vec_add(self.center, (self.radius, 0))
Esempio n. 14
0
 def translate(self, v):
     self.center = vector.vec_add(self.center, v)