def moveWorkpieceZero(self): """ This function is called when the Option=>Move WP Zero Menu is clicked. """ title = self.tr('Workpiece zero offset') units = "[in]" if g.config.metric == 0 else "[mm]" label = [ self.tr("Offset %s axis %s:") % (g.config.vars.Axis_letters['ax1_letter'], units), self.tr("Offset %s axis %s:") % (g.config.vars.Axis_letters['ax2_letter'], units) ] value = [self.cont_dx, self.cont_dy] MoveWpzDialog = PopUpDialog(title, label, value, True) if MoveWpzDialog.result is None: return if MoveWpzDialog.result == 'Auto': minx = sys.float_info.max miny = sys.float_info.max for shape in self.shapes: if not shape.isDisabled(): minx = min(minx, shape.topLeft.x) miny = min(miny, shape.bottomRight.y) self.cont_dx = self.entityRoot.p0.x - minx self.cont_dy = self.entityRoot.p0.y - miny else: self.cont_dx = float(MoveWpzDialog.result[0]) self.cont_dy = float(MoveWpzDialog.result[1]) self.entityRoot.p0.x = self.cont_dx self.entityRoot.p0.y = self.cont_dy self.d2g.small_reload()
def rotateAll(self): title = self.tr('Rotate Contour') label = [self.tr("Rotate Contour by deg:")] # TODO should we support radians for drawing unit non metric? value = [degrees(self.cont_rotate)] RotEntDialog = PopUpDialog(title, label, value) if RotEntDialog.result is None: return self.cont_rotate = radians(float(RotEntDialog.result[0])) self.entityRoot.rot = self.cont_rotate self.d2g.small_reload()
def scaleAll(self): title = self.tr('Scale Contour') label = [self.tr("Scale Contour by factor:")] value = [self.cont_scale] ScaEntDialog = PopUpDialog(title, label, value) if ScaEntDialog.result is None: return self.cont_scale = float(ScaEntDialog.result[0]) self.entityRoot.sca = self.cont_scale self.d2g.small_reload()
def setTolerances(self): title = self.tr('Contour tolerances') units = "in" if g.config.metric == 0 else "mm" label = [self.tr("Tolerance for common points [%s]:") % units, self.tr("Tolerance for curve fitting [%s]:") % units] value = [g.config.point_tolerance, g.config.fitting_tolerance] logger.debug(self.tr("set Tolerances")) SetTolDialog = PopUpDialog(title, label, value) if SetTolDialog.result is None: return g.config.point_tolerance = float(SetTolDialog.result[0]) g.config.fitting_tolerance = float(SetTolDialog.result[1]) self.d2g.reload() # set tolerances requires a complete reload