- pt_line constrain

- Scalable quadrant view
This commit is contained in:
bklronin
2024-06-25 15:22:10 +02:00
parent b197e52cf3
commit ac9176fbd3
5 changed files with 620 additions and 90 deletions

50
main.py
View File

@@ -53,12 +53,19 @@ class MainWindow(QMainWindow):
###Modes
self.ui.pb_linetool.pressed.connect(self.act_line_mode)
self.ui.pb_con_ptpt.pressed.connect(self.act_constrain_pt_pt_mode)
self.ui.pb_con_line.pressed.connect(self.act_constrain_pt_line_mode)
self.ui.pb_con_horiz.pressed.connect(self.act_constrain_horiz_line_mode)
self.ui.pb_con_vert.pressed.connect(self.act_constrain_vert_line_mode)
self.ui.pb_con_dist.pressed.connect(self.act_constrain_distance_mode)
### Operations
self.ui.pb_extrdop.pressed.connect(self.send_extrude)
self.ui.pb_cutop.pressed.connect(self.send_cut)
self.ui.pb_del_body.pressed.connect(self.del_body)
self.sketchWidget.constrain_done.connect(self.constrain_finished)
def add_wp_origin(self):
#Select orientation
#orientation, ok = Q .getDouble(self, 'Extrude Length', 'Enter a mm value:', decimals=2)
@@ -70,14 +77,48 @@ class MainWindow(QMainWindow):
#self.sketchWidget.points = []
else:
self.sketchWidget.mouse_mode = None
self.sketchWidget.line_buffer = None
self.sketchWidget.points = []
def act_constrain_pt_pt_mode(self):
if not self.ui.pb_linetool.isChecked():
self.sketchWidget.mouse_mode = 'pt_pt'
#self.sketchWidget.points = []
else:
self.sketchWidget.mouse_mode = None
self.sketchWidget.line_buffer = None
def act_constrain_pt_line_mode(self):
if not self.ui.pb_linetool.isChecked():
self.sketchWidget.mouse_mode = 'pt_line'
else:
self.sketchWidget.mouse_mode = None
self.sketchWidget.line_buffer = None
def act_constrain_horiz_line_mode(self):
if not self.ui.pb_con_horiz.isChecked():
self.sketchWidget.mouse_mode = 'horiz'
else:
self.sketchWidget.mouse_mode = None
self.sketchWidget.line_buffer = None
def act_constrain_vert_line_mode(self):
if not self.ui.pb_con_vert.isChecked():
self.sketchWidget.mouse_mode = 'vert'
else:
self.sketchWidget.mouse_mode = None
self.sketchWidget.line_buffer = None
def act_constrain_distance_mode(self):
if not self.ui.pb_con_vert.isChecked():
self.sketchWidget.mouse_mode = 'distance'
else:
self.sketchWidget.mouse_mode = None
self.sketchWidget.line_buffer = None
def constrain_finished(self):
self.ui.pb_con_ptpt.setChecked(False)
self.ui.pb_con_line.setChecked(False)
self.ui.pb_con_dist.setChecked(False)
def view_update(self):
print("Update")
@@ -192,6 +233,9 @@ class MainWindow(QMainWindow):
# UI to mesh
points = self.translate_points_tup(points)
if points[-1] == points[0]:
result = points.pop()
print("removed last point for mesh")
length , ok = QInputDialog.getDouble(self, 'Extrude Length', 'Enter a mm value:', decimals=2)
#TODO : Implement cancel
@@ -310,4 +354,6 @@ if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec()
app.exec()
#pyside6-uic gui.ui > Gui.py -g python