|
@@ -1435,6 +1435,29 @@ class GerberGenPrefGroupUI(OptionsGroupUI):
|
|
|
grid0.addWidget(self.gerber_zeros_label, 5, 0)
|
|
grid0.addWidget(self.gerber_zeros_label, 5, 0)
|
|
|
grid0.addWidget(self.gerber_zeros_radio, 5, 1, 1, 2)
|
|
grid0.addWidget(self.gerber_zeros_radio, 5, 1, 1, 2)
|
|
|
|
|
|
|
|
|
|
+ separator_line = QtWidgets.QFrame()
|
|
|
|
|
+ separator_line.setFrameShape(QtWidgets.QFrame.HLine)
|
|
|
|
|
+ separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
|
|
|
|
+ grid0.addWidget(separator_line, 6, 0, 1, 3)
|
|
|
|
|
+
|
|
|
|
|
+ # Apertures Cleaning
|
|
|
|
|
+ self.gerber_clean_cb = FCCheckBox(label='%s' % _('Clean Apertures'))
|
|
|
|
|
+ self.gerber_clean_cb.setToolTip(
|
|
|
|
|
+ _("Will remove apertures that do not have geometry\n"
|
|
|
|
|
+ "thus lowering the number of apertures in the Gerber object.")
|
|
|
|
|
+ )
|
|
|
|
|
+ grid0.addWidget(self.gerber_clean_cb, 7, 0, 1, 3)
|
|
|
|
|
+
|
|
|
|
|
+ # Apply Extra Buffering
|
|
|
|
|
+ self.gerber_extra_buffering = FCCheckBox(label='%s' % _('Polarity change buffer'))
|
|
|
|
|
+ self.gerber_extra_buffering.setToolTip(
|
|
|
|
|
+ _("Will apply extra buffering for the\n"
|
|
|
|
|
+ "solid geometry when we have polarity changes.\n"
|
|
|
|
|
+ "May help loading Gerber files that otherwise\n"
|
|
|
|
|
+ "do not load correctly.")
|
|
|
|
|
+ )
|
|
|
|
|
+ grid0.addWidget(self.gerber_extra_buffering, 8, 0, 1, 3)
|
|
|
|
|
+
|
|
|
self.layout.addStretch()
|
|
self.layout.addStretch()
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1528,6 +1551,11 @@ class GerberOptPrefGroupUI(OptionsGroupUI):
|
|
|
)
|
|
)
|
|
|
grid0.addWidget(self.combine_passes_cb, 5, 0, 1, 2)
|
|
grid0.addWidget(self.combine_passes_cb, 5, 0, 1, 2)
|
|
|
|
|
|
|
|
|
|
+ separator_line = QtWidgets.QFrame()
|
|
|
|
|
+ separator_line.setFrameShape(QtWidgets.QFrame.HLine)
|
|
|
|
|
+ separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
|
|
|
|
+ grid0.addWidget(separator_line, 6, 0, 1, 2)
|
|
|
|
|
+
|
|
|
# ## Clear non-copper regions
|
|
# ## Clear non-copper regions
|
|
|
self.clearcopper_label = QtWidgets.QLabel("<b>%s:</b>" % _("Non-copper regions"))
|
|
self.clearcopper_label = QtWidgets.QLabel("<b>%s:</b>" % _("Non-copper regions"))
|
|
|
self.clearcopper_label.setToolTip(
|
|
self.clearcopper_label.setToolTip(
|
|
@@ -1564,6 +1592,11 @@ class GerberOptPrefGroupUI(OptionsGroupUI):
|
|
|
)
|
|
)
|
|
|
grid1.addWidget(self.noncopper_rounded_cb, 1, 0, 1, 2)
|
|
grid1.addWidget(self.noncopper_rounded_cb, 1, 0, 1, 2)
|
|
|
|
|
|
|
|
|
|
+ separator_line = QtWidgets.QFrame()
|
|
|
|
|
+ separator_line.setFrameShape(QtWidgets.QFrame.HLine)
|
|
|
|
|
+ separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
|
|
|
|
+ grid1.addWidget(separator_line, 2, 0, 1, 2)
|
|
|
|
|
+
|
|
|
# ## Bounding box
|
|
# ## Bounding box
|
|
|
self.boundingbox_label = QtWidgets.QLabel('<b>%s:</b>' % _('Bounding Box'))
|
|
self.boundingbox_label = QtWidgets.QLabel('<b>%s:</b>' % _('Bounding Box'))
|
|
|
self.layout.addWidget(self.boundingbox_label)
|
|
self.layout.addWidget(self.boundingbox_label)
|
|
@@ -1634,6 +1667,11 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
)
|
|
)
|
|
|
grid0.addWidget(self.aperture_table_visibility_cb, 1, 0, 1, 2)
|
|
grid0.addWidget(self.aperture_table_visibility_cb, 1, 0, 1, 2)
|
|
|
|
|
|
|
|
|
|
+ separator_line = QtWidgets.QFrame()
|
|
|
|
|
+ separator_line.setFrameShape(QtWidgets.QFrame.HLine)
|
|
|
|
|
+ separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
|
|
|
|
+ grid0.addWidget(separator_line, 2, 0, 1, 2)
|
|
|
|
|
+
|
|
|
# Tool Type
|
|
# Tool Type
|
|
|
self.tool_type_label = QtWidgets.QLabel('<b>%s</b>' % _('Tool Type'))
|
|
self.tool_type_label = QtWidgets.QLabel('<b>%s</b>' % _('Tool Type'))
|
|
|
self.tool_type_label.setToolTip(
|
|
self.tool_type_label.setToolTip(
|
|
@@ -1645,8 +1683,8 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
self.tool_type_radio = RadioSet([{'label': 'Circular', 'value': 'circular'},
|
|
self.tool_type_radio = RadioSet([{'label': 'Circular', 'value': 'circular'},
|
|
|
{'label': 'V-Shape', 'value': 'v'}])
|
|
{'label': 'V-Shape', 'value': 'v'}])
|
|
|
|
|
|
|
|
- grid0.addWidget(self.tool_type_label, 2, 0)
|
|
|
|
|
- grid0.addWidget(self.tool_type_radio, 2, 1, 1, 2)
|
|
|
|
|
|
|
+ grid0.addWidget(self.tool_type_label, 3, 0)
|
|
|
|
|
+ grid0.addWidget(self.tool_type_radio, 3, 1, 1, 2)
|
|
|
|
|
|
|
|
# Tip Dia
|
|
# Tip Dia
|
|
|
self.tipdialabel = QtWidgets.QLabel('%s:' % _('V-Tip Dia'))
|
|
self.tipdialabel = QtWidgets.QLabel('%s:' % _('V-Tip Dia'))
|
|
@@ -1658,8 +1696,8 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
self.tipdia_spinner.set_range(-99.9999, 99.9999)
|
|
self.tipdia_spinner.set_range(-99.9999, 99.9999)
|
|
|
self.tipdia_spinner.setSingleStep(0.1)
|
|
self.tipdia_spinner.setSingleStep(0.1)
|
|
|
self.tipdia_spinner.setWrapping(True)
|
|
self.tipdia_spinner.setWrapping(True)
|
|
|
- grid0.addWidget(self.tipdialabel, 3, 0)
|
|
|
|
|
- grid0.addWidget(self.tipdia_spinner, 3, 1, 1, 2)
|
|
|
|
|
|
|
+ grid0.addWidget(self.tipdialabel, 4, 0)
|
|
|
|
|
+ grid0.addWidget(self.tipdia_spinner, 4, 1, 1, 2)
|
|
|
|
|
|
|
|
# Tip Angle
|
|
# Tip Angle
|
|
|
self.tipanglelabel = QtWidgets.QLabel('%s:' % _('V-Tip Angle'))
|
|
self.tipanglelabel = QtWidgets.QLabel('%s:' % _('V-Tip Angle'))
|
|
@@ -1671,8 +1709,8 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
self.tipangle_spinner.set_range(0, 180)
|
|
self.tipangle_spinner.set_range(0, 180)
|
|
|
self.tipangle_spinner.setSingleStep(5)
|
|
self.tipangle_spinner.setSingleStep(5)
|
|
|
self.tipangle_spinner.setWrapping(True)
|
|
self.tipangle_spinner.setWrapping(True)
|
|
|
- grid0.addWidget(self.tipanglelabel, 4, 0)
|
|
|
|
|
- grid0.addWidget(self.tipangle_spinner, 4, 1, 1, 2)
|
|
|
|
|
|
|
+ grid0.addWidget(self.tipanglelabel, 5, 0)
|
|
|
|
|
+ grid0.addWidget(self.tipangle_spinner, 5, 1, 1, 2)
|
|
|
|
|
|
|
|
# Cut Z
|
|
# Cut Z
|
|
|
self.cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z'))
|
|
self.cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z'))
|
|
@@ -1686,8 +1724,8 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
self.cutz_spinner.setSingleStep(0.1)
|
|
self.cutz_spinner.setSingleStep(0.1)
|
|
|
self.cutz_spinner.setWrapping(True)
|
|
self.cutz_spinner.setWrapping(True)
|
|
|
|
|
|
|
|
- grid0.addWidget(self.cutzlabel, 5, 0)
|
|
|
|
|
- grid0.addWidget(self.cutz_spinner, 5, 1, 1, 2)
|
|
|
|
|
|
|
+ grid0.addWidget(self.cutzlabel, 6, 0)
|
|
|
|
|
+ grid0.addWidget(self.cutz_spinner, 6, 1, 1, 2)
|
|
|
|
|
|
|
|
# Isolation Type
|
|
# Isolation Type
|
|
|
self.iso_type_label = QtWidgets.QLabel('%s:' % _('Isolation Type'))
|
|
self.iso_type_label = QtWidgets.QLabel('%s:' % _('Isolation Type'))
|
|
@@ -1705,8 +1743,13 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
{'label': _('Exterior'), 'value': 'ext'},
|
|
{'label': _('Exterior'), 'value': 'ext'},
|
|
|
{'label': _('Interior'), 'value': 'int'}])
|
|
{'label': _('Interior'), 'value': 'int'}])
|
|
|
|
|
|
|
|
- grid0.addWidget(self.iso_type_label, 6, 0,)
|
|
|
|
|
- grid0.addWidget(self.iso_type_radio, 6, 1, 1, 2)
|
|
|
|
|
|
|
+ grid0.addWidget(self.iso_type_label, 7, 0,)
|
|
|
|
|
+ grid0.addWidget(self.iso_type_radio, 7, 1, 1, 2)
|
|
|
|
|
+
|
|
|
|
|
+ separator_line = QtWidgets.QFrame()
|
|
|
|
|
+ separator_line.setFrameShape(QtWidgets.QFrame.HLine)
|
|
|
|
|
+ separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
|
|
|
|
+ grid0.addWidget(separator_line, 8, 0, 1, 2)
|
|
|
|
|
|
|
|
# Buffering Type
|
|
# Buffering Type
|
|
|
buffering_label = QtWidgets.QLabel('%s:' % _('Buffering'))
|
|
buffering_label = QtWidgets.QLabel('%s:' % _('Buffering'))
|
|
@@ -1718,8 +1761,8 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
)
|
|
)
|
|
|
self.buffering_radio = RadioSet([{'label': _('None'), 'value': 'no'},
|
|
self.buffering_radio = RadioSet([{'label': _('None'), 'value': 'no'},
|
|
|
{'label': _('Full'), 'value': 'full'}])
|
|
{'label': _('Full'), 'value': 'full'}])
|
|
|
- grid0.addWidget(buffering_label, 7, 0)
|
|
|
|
|
- grid0.addWidget(self.buffering_radio, 7, 1)
|
|
|
|
|
|
|
+ grid0.addWidget(buffering_label, 9, 0)
|
|
|
|
|
+ grid0.addWidget(self.buffering_radio, 9, 1)
|
|
|
|
|
|
|
|
# Simplification
|
|
# Simplification
|
|
|
self.simplify_cb = FCCheckBox(label=_('Simplify'))
|
|
self.simplify_cb = FCCheckBox(label=_('Simplify'))
|
|
@@ -1728,7 +1771,7 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
"loaded with simplification having a set tolerance.\n"
|
|
"loaded with simplification having a set tolerance.\n"
|
|
|
"<<WARNING>>: Don't change this unless you know what you are doing !!!")
|
|
"<<WARNING>>: Don't change this unless you know what you are doing !!!")
|
|
|
)
|
|
)
|
|
|
- grid0.addWidget(self.simplify_cb, 8, 0, 1, 2)
|
|
|
|
|
|
|
+ grid0.addWidget(self.simplify_cb, 10, 0, 1, 2)
|
|
|
|
|
|
|
|
# Simplification tolerance
|
|
# Simplification tolerance
|
|
|
self.simplification_tol_label = QtWidgets.QLabel(_('Tolerance'))
|
|
self.simplification_tol_label = QtWidgets.QLabel(_('Tolerance'))
|
|
@@ -1740,8 +1783,8 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
|
|
self.simplification_tol_spinner.setRange(0.00000, 0.01000)
|
|
self.simplification_tol_spinner.setRange(0.00000, 0.01000)
|
|
|
self.simplification_tol_spinner.setSingleStep(0.0001)
|
|
self.simplification_tol_spinner.setSingleStep(0.0001)
|
|
|
|
|
|
|
|
- grid0.addWidget(self.simplification_tol_label, 9, 0)
|
|
|
|
|
- grid0.addWidget(self.simplification_tol_spinner, 9, 1)
|
|
|
|
|
|
|
+ grid0.addWidget(self.simplification_tol_label, 11, 0)
|
|
|
|
|
+ grid0.addWidget(self.simplification_tol_spinner, 11, 1)
|
|
|
self.ois_simplif = OptionalInputSection(
|
|
self.ois_simplif = OptionalInputSection(
|
|
|
self.simplify_cb,
|
|
self.simplify_cb,
|
|
|
[
|
|
[
|