Merge remote-tracking branch 'remotes/jpcgt/flatcam/Beta' into Beta
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from FlatCAMObj import *
|
||||
@@ -31,7 +31,7 @@ class ToolCalculator(FlatCAMTool):
|
||||
|
||||
self.app = app
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
@@ -42,14 +42,14 @@ class ToolCalculator(FlatCAMTool):
|
||||
""")
|
||||
self.layout.addWidget(title_label)
|
||||
|
||||
######################
|
||||
## Units Calculator ##
|
||||
######################
|
||||
#################### ##
|
||||
# ## Units Calculator # ##
|
||||
#################### ##
|
||||
|
||||
self.unists_spacer_label = QtWidgets.QLabel(" ")
|
||||
self.layout.addWidget(self.unists_spacer_label)
|
||||
|
||||
## Title of the Units Calculator
|
||||
# ## Title of the Units Calculator
|
||||
units_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.unitsName)
|
||||
self.layout.addWidget(units_label)
|
||||
|
||||
@@ -76,18 +76,18 @@ class ToolCalculator(FlatCAMTool):
|
||||
grid_units_layout.addWidget(self.inch_entry, 1, 1)
|
||||
|
||||
|
||||
############################
|
||||
## V-shape Tool Calculator ##
|
||||
############################
|
||||
########################## ##
|
||||
# ## V-shape Tool Calculator # ##
|
||||
########################## ##
|
||||
|
||||
self.v_shape_spacer_label = QtWidgets.QLabel(" ")
|
||||
self.layout.addWidget(self.v_shape_spacer_label)
|
||||
|
||||
## Title of the V-shape Tools Calculator
|
||||
# ## Title of the V-shape Tools Calculator
|
||||
v_shape_title_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.v_shapeName)
|
||||
self.layout.addWidget(v_shape_title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form_layout = QtWidgets.QFormLayout()
|
||||
self.layout.addLayout(form_layout)
|
||||
|
||||
@@ -127,7 +127,7 @@ class ToolCalculator(FlatCAMTool):
|
||||
form_layout.addRow(self.cutDepth_label, self.cutDepth_entry)
|
||||
form_layout.addRow(self.effectiveToolDia_label, self.effectiveToolDia_entry)
|
||||
|
||||
## Buttons
|
||||
# ## Buttons
|
||||
self.calculate_vshape_button = QtWidgets.QPushButton(_("Calculate"))
|
||||
# self.calculate_button.setFixedWidth(70)
|
||||
self.calculate_vshape_button.setToolTip(
|
||||
@@ -139,14 +139,14 @@ class ToolCalculator(FlatCAMTool):
|
||||
form_layout.addRow(self.empty_label, self.calculate_vshape_button)
|
||||
|
||||
|
||||
####################################
|
||||
## ElectroPlating Tool Calculator ##
|
||||
####################################
|
||||
################################## ##
|
||||
# ## ElectroPlating Tool Calculator # ##
|
||||
################################## ##
|
||||
|
||||
self.plate_spacer_label = QtWidgets.QLabel(" ")
|
||||
self.layout.addWidget(self.plate_spacer_label)
|
||||
|
||||
## Title of the ElectroPlating Tools Calculator
|
||||
# ## Title of the ElectroPlating Tools Calculator
|
||||
plate_title_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.eplateName)
|
||||
plate_title_label.setToolTip(
|
||||
_("This calculator is useful for those who plate the via/pad/drill holes,\n"
|
||||
@@ -154,7 +154,7 @@ class ToolCalculator(FlatCAMTool):
|
||||
)
|
||||
self.layout.addWidget(plate_title_label)
|
||||
|
||||
## Plate Form Layout
|
||||
# ## Plate Form Layout
|
||||
plate_form_layout = QtWidgets.QFormLayout()
|
||||
self.layout.addLayout(plate_form_layout)
|
||||
|
||||
@@ -210,7 +210,7 @@ class ToolCalculator(FlatCAMTool):
|
||||
plate_form_layout.addRow(self.cvaluelabel, self.cvalue_entry)
|
||||
plate_form_layout.addRow(self.timelabel, self.time_entry)
|
||||
|
||||
## Buttons
|
||||
# ## Buttons
|
||||
self.calculate_plate_button = QtWidgets.QPushButton(_("Calculate"))
|
||||
# self.calculate_button.setFixedWidth(70)
|
||||
self.calculate_plate_button.setToolTip(
|
||||
@@ -223,7 +223,7 @@ class ToolCalculator(FlatCAMTool):
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.cutDepth_entry.textChanged.connect(self.on_calculate_tool_dia)
|
||||
self.cutDepth_entry.editingFinished.connect(self.on_calculate_tool_dia)
|
||||
self.tipDia_entry.editingFinished.connect(self.on_calculate_tool_dia)
|
||||
@@ -264,7 +264,7 @@ class ToolCalculator(FlatCAMTool):
|
||||
def set_tool_ui(self):
|
||||
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
|
||||
|
||||
## Initialize form
|
||||
# ## Initialize form
|
||||
self.mm_entry.set_value('0')
|
||||
self.inch_entry.set_value('0')
|
||||
|
||||
|
||||
@@ -415,7 +415,7 @@ class CutOut(FlatCAMTool):
|
||||
object_geo = cutout_obj.solid_geometry
|
||||
|
||||
try:
|
||||
_ = iter(object_geo)
|
||||
__ = iter(object_geo)
|
||||
except TypeError:
|
||||
object_geo = [object_geo]
|
||||
|
||||
@@ -424,7 +424,8 @@ class CutOut(FlatCAMTool):
|
||||
geo = (geo.buffer(margin + abs(dia / 2))).exterior
|
||||
|
||||
# Get min and max data for each object as we just cut rectangles across X or Y
|
||||
xmin, ymin, xmax, ymax = geo.bounds
|
||||
xmin, ymin, xmax, ymax = recursive_bounds(geo)
|
||||
|
||||
px = 0.5 * (xmin + xmax) + margin
|
||||
py = 0.5 * (ymin + ymax) + margin
|
||||
lenx = (xmax - xmin) + (margin * 2)
|
||||
@@ -475,6 +476,11 @@ class CutOut(FlatCAMTool):
|
||||
solid_geo.append(geo)
|
||||
|
||||
geo_obj.solid_geometry = deepcopy(solid_geo)
|
||||
xmin, ymin, xmax, ymax = recursive_bounds(geo_obj.solid_geometry)
|
||||
geo_obj.options['xmin'] = xmin
|
||||
geo_obj.options['ymin'] = ymin
|
||||
geo_obj.options['xmax'] = xmax
|
||||
geo_obj.options['ymax'] = ymax
|
||||
|
||||
outname = cutout_obj.options["name"] + "_cutout"
|
||||
self.app.new_object('geometry', outname, geo_init)
|
||||
@@ -565,7 +571,7 @@ class CutOut(FlatCAMTool):
|
||||
object_geo = cutout_obj.solid_geometry
|
||||
|
||||
try:
|
||||
_ = iter(object_geo)
|
||||
__ = iter(object_geo)
|
||||
except TypeError:
|
||||
object_geo = [object_geo]
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
def __init__(self, app):
|
||||
FlatCAMTool.__init__(self, app)
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
@@ -34,11 +34,11 @@ class DblSidedTool(FlatCAMTool):
|
||||
self.empty_lb = QtWidgets.QLabel("")
|
||||
self.layout.addWidget(self.empty_lb)
|
||||
|
||||
## Grid Layout
|
||||
# ## Grid Layout
|
||||
grid_lay = QtWidgets.QGridLayout()
|
||||
self.layout.addLayout(grid_lay)
|
||||
|
||||
## Gerber Object to mirror
|
||||
# ## Gerber Object to mirror
|
||||
self.gerber_object_combo = QtWidgets.QComboBox()
|
||||
self.gerber_object_combo.setModel(self.app.collection)
|
||||
self.gerber_object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
|
||||
@@ -62,7 +62,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
grid_lay.addWidget(self.gerber_object_combo, 1, 0)
|
||||
grid_lay.addWidget(self.mirror_gerber_button, 1, 1)
|
||||
|
||||
## Excellon Object to mirror
|
||||
# ## Excellon Object to mirror
|
||||
self.exc_object_combo = QtWidgets.QComboBox()
|
||||
self.exc_object_combo.setModel(self.app.collection)
|
||||
self.exc_object_combo.setRootModelIndex(self.app.collection.index(1, 0, QtCore.QModelIndex()))
|
||||
@@ -86,7 +86,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
grid_lay.addWidget(self.exc_object_combo, 3, 0)
|
||||
grid_lay.addWidget(self.mirror_exc_button, 3, 1)
|
||||
|
||||
## Geometry Object to mirror
|
||||
# ## Geometry Object to mirror
|
||||
self.geo_object_combo = QtWidgets.QComboBox()
|
||||
self.geo_object_combo.setModel(self.app.collection)
|
||||
self.geo_object_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
|
||||
@@ -110,11 +110,11 @@ class DblSidedTool(FlatCAMTool):
|
||||
grid_lay.addWidget(self.geo_object_combo, 5, 0)
|
||||
grid_lay.addWidget(self.mirror_geo_button, 5, 1)
|
||||
|
||||
## Grid Layout
|
||||
# ## Grid Layout
|
||||
grid_lay1 = QtWidgets.QGridLayout()
|
||||
self.layout.addLayout(grid_lay1)
|
||||
|
||||
## Axis
|
||||
# ## Axis
|
||||
self.mirror_axis = RadioSet([{'label': 'X', 'value': 'X'},
|
||||
{'label': 'Y', 'value': 'Y'}])
|
||||
self.mirax_label = QtWidgets.QLabel(_("Mirror Axis:"))
|
||||
@@ -127,7 +127,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
grid_lay1.addWidget(self.mirax_label, 7, 0)
|
||||
grid_lay1.addWidget(self.mirror_axis, 7, 1)
|
||||
|
||||
## Axis Location
|
||||
# ## Axis Location
|
||||
self.axis_location = RadioSet([{'label': 'Point', 'value': 'point'},
|
||||
{'label': 'Box', 'value': 'box'}])
|
||||
self.axloc_label = QtWidgets.QLabel(_("Axis Ref:"))
|
||||
@@ -143,11 +143,11 @@ class DblSidedTool(FlatCAMTool):
|
||||
self.empty_lb2 = QtWidgets.QLabel("")
|
||||
grid_lay1.addWidget(self.empty_lb2, 9, 0)
|
||||
|
||||
## Grid Layout
|
||||
# ## Grid Layout
|
||||
grid_lay2 = QtWidgets.QGridLayout()
|
||||
self.layout.addLayout(grid_lay2)
|
||||
|
||||
## Point/Box
|
||||
# ## Point/Box
|
||||
self.point_box_container = QtWidgets.QVBoxLayout()
|
||||
self.pb_label = QtWidgets.QLabel("<b>%s</b>" % _('Point/Box Reference:'))
|
||||
self.pb_label.setToolTip(
|
||||
@@ -189,7 +189,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
self.box_combo_type.hide()
|
||||
|
||||
|
||||
## Alignment holes
|
||||
# ## Alignment holes
|
||||
self.ah_label = QtWidgets.QLabel("<b>%s</b>" % _('Alignment Drill Coordinates:'))
|
||||
self.ah_label.setToolTip(
|
||||
_( "Alignment holes (x1, y1), (x2, y2), ... "
|
||||
@@ -220,7 +220,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
grid_lay3.addWidget(self.alignment_holes, 0, 0)
|
||||
grid_lay3.addWidget(self.add_drill_point_button, 0, 1)
|
||||
|
||||
## Drill diameter for alignment holes
|
||||
# ## Drill diameter for alignment holes
|
||||
self.dt_label = QtWidgets.QLabel("<b>%s</b>:" % _('Alignment Drill Diameter'))
|
||||
self.dt_label.setToolTip(
|
||||
_("Diameter of the drill for the "
|
||||
@@ -243,7 +243,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
hlay2 = QtWidgets.QHBoxLayout()
|
||||
self.layout.addLayout(hlay2)
|
||||
|
||||
## Buttons
|
||||
# ## Buttons
|
||||
self.create_alignment_hole_button = QtWidgets.QPushButton(_("Create Excellon Object"))
|
||||
self.create_alignment_hole_button.setToolTip(
|
||||
_("Creates an Excellon Object containing the\n"
|
||||
@@ -261,7 +261,7 @@ class DblSidedTool(FlatCAMTool):
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.create_alignment_hole_button.clicked.connect(self.on_create_alignment_holes)
|
||||
self.mirror_gerber_button.clicked.connect(self.on_mirror_gerber)
|
||||
self.mirror_exc_button.clicked.connect(self.on_mirror_exc)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
|
||||
@@ -165,7 +165,7 @@ class Film(FlatCAMTool):
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.film_object_button.clicked.connect(self.on_film_creation)
|
||||
self.tf_type_obj_combo.currentIndexChanged.connect(self.on_type_obj_index_changed)
|
||||
self.tf_type_box_combo.currentIndexChanged.connect(self.on_type_box_index_changed)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
|
||||
@@ -144,7 +144,7 @@ class ToolImage(FlatCAMTool):
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.import_button.clicked.connect(self.on_file_importimage)
|
||||
|
||||
def run(self, toggle=True):
|
||||
@@ -173,7 +173,7 @@ class ToolImage(FlatCAMTool):
|
||||
FlatCAMTool.install(self, icon, separator, **kwargs)
|
||||
|
||||
def set_tool_ui(self):
|
||||
## Initialize form
|
||||
# ## Initialize form
|
||||
self.dpi_entry.set_value(96)
|
||||
self.image_type.set_value('black')
|
||||
self.mask_bw_entry.set_value(250)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from FlatCAMObj import *
|
||||
@@ -32,11 +32,11 @@ class Measurement(FlatCAMTool):
|
||||
self.canvas = self.app.plotcanvas
|
||||
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower()
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("<font size=4><b>%s</b></font><br>" % self.toolName)
|
||||
self.layout.addWidget(title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form_layout = QtWidgets.QFormLayout()
|
||||
self.layout.addLayout(form_layout)
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from FlatCAMObj import *
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Modified by: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from copy import copy,deepcopy
|
||||
@@ -38,7 +38,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
||||
self.tools_box.setContentsMargins(0, 0, 0, 0)
|
||||
self.tools_frame.setLayout(self.tools_box)
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
@@ -49,11 +49,11 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
||||
""")
|
||||
self.tools_box.addWidget(title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form_layout = QtWidgets.QFormLayout()
|
||||
self.tools_box.addLayout(form_layout)
|
||||
|
||||
## Object
|
||||
# ## Object
|
||||
self.object_combo = QtWidgets.QComboBox()
|
||||
self.object_combo.setModel(self.app.collection)
|
||||
self.object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
|
||||
@@ -68,7 +68,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
||||
form_layout.addRow(self.object_label, self.object_combo)
|
||||
form_layout.addRow(e_lab_0)
|
||||
|
||||
#### Tools ####
|
||||
#### Tools ## ##
|
||||
self.tools_table_label = QtWidgets.QLabel('<b>%s</b>' % _('Tools Table'))
|
||||
self.tools_table_label.setToolTip(
|
||||
_("Tools pool from which the algorithm\n"
|
||||
@@ -113,7 +113,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
||||
self.empty_label = QtWidgets.QLabel('')
|
||||
self.tools_box.addWidget(self.empty_label)
|
||||
|
||||
#### Add a new Tool ####
|
||||
#### Add a new Tool ## ##
|
||||
hlay = QtWidgets.QHBoxLayout()
|
||||
self.tools_box.addLayout(hlay)
|
||||
|
||||
@@ -420,7 +420,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
||||
self.tools_table.setItem(row_no, 1, dia) # Diameter
|
||||
self.tools_table.setCellWidget(row_no, 2, tool_type_item)
|
||||
|
||||
### REMEMBER: THIS COLUMN IS HIDDEN IN OBJECTUI.PY ###
|
||||
# ## REMEMBER: THIS COLUMN IS HIDDEN IN OBJECTUI.PY # ##
|
||||
self.tools_table.setItem(row_no, 3, tool_uid_item) # Tool unique ID
|
||||
|
||||
# make the diameter column editable
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 4/23/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from shapely.geometry import Point, Polygon, LineString
|
||||
@@ -1242,9 +1242,9 @@ class ToolPDF(FlatCAMTool):
|
||||
new_el['follow'] = pdf_geo.exterior
|
||||
apertures_dict[str(aperture)]['geometry'].append(deepcopy(new_el))
|
||||
|
||||
# ###############################################
|
||||
# ############################################# ##
|
||||
# store the found geometry for filling the path #
|
||||
# ###############################################
|
||||
# ############################################# ##
|
||||
|
||||
# in case that a color change to white (transparent) occurred
|
||||
if flag_clear_geo is True:
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Modified: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from copy import copy,deepcopy
|
||||
@@ -29,7 +29,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
FlatCAMTool.__init__(self, app)
|
||||
Geometry.__init__(self, geo_steps_per_circle=self.app.defaults["geometry_circle_steps"])
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
@@ -47,11 +47,11 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
self.tools_box.setContentsMargins(0, 0, 0, 0)
|
||||
self.tools_frame.setLayout(self.tools_box)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form_layout = QtWidgets.QFormLayout()
|
||||
self.tools_box.addLayout(form_layout)
|
||||
|
||||
## Object
|
||||
# ## Object
|
||||
self.object_combo = QtWidgets.QComboBox()
|
||||
self.object_combo.setModel(self.app.collection)
|
||||
self.object_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
|
||||
@@ -65,7 +65,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
form_layout.addRow(self.object_label, self.object_combo)
|
||||
form_layout.addRow(e_lab_0)
|
||||
|
||||
#### Tools ####
|
||||
#### Tools ## ##
|
||||
self.tools_table_label = QtWidgets.QLabel('<b>%s</b>' % _('Tools Table'))
|
||||
self.tools_table_label.setToolTip(
|
||||
_("Tools pool from which the algorithm\n"
|
||||
@@ -110,7 +110,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
self.empty_label = QtWidgets.QLabel('')
|
||||
self.tools_box.addWidget(self.empty_label)
|
||||
|
||||
#### Add a new Tool ####
|
||||
#### Add a new Tool ## ##
|
||||
hlay = QtWidgets.QHBoxLayout()
|
||||
self.tools_box.addLayout(hlay)
|
||||
|
||||
@@ -305,7 +305,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
|
||||
self.tool_type_item_options = ["C1", "C2", "C3", "C4", "B", "V"]
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.addtool_btn.clicked.connect(self.on_tool_add)
|
||||
self.addtool_entry.returnPressed.connect(self.on_tool_add)
|
||||
# self.copytool_btn.clicked.connect(lambda: self.on_tool_copy())
|
||||
@@ -365,7 +365,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
self.tools_frame.show()
|
||||
self.reset_fields()
|
||||
|
||||
## Init the GUI interface
|
||||
# ## Init the GUI interface
|
||||
self.paintmargin_entry.set_value(self.default_data["paintmargin"])
|
||||
self.paintmethod_combo.set_value(self.default_data["paintmethod"])
|
||||
self.selectmethod_combo.set_value(self.default_data["selectmethod"])
|
||||
@@ -484,7 +484,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
self.tools_table.setItem(row_no, 1, dia) # Diameter
|
||||
self.tools_table.setCellWidget(row_no, 2, tool_type_item)
|
||||
|
||||
### REMEMBER: THIS COLUMN IS HIDDEN IN OBJECTUI.PY ###
|
||||
# ## REMEMBER: THIS COLUMN IS HIDDEN IN OBJECTUI.PY # ##
|
||||
self.tools_table.setItem(row_no, 3, tool_uid_item) # Tool unique ID
|
||||
|
||||
# make the diameter column editable
|
||||
@@ -1035,13 +1035,13 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||
if reset:
|
||||
self.flat_geometry = []
|
||||
|
||||
## If iterable, expand recursively.
|
||||
# ## If iterable, expand recursively.
|
||||
try:
|
||||
for geo in geometry:
|
||||
if geo is not None:
|
||||
recurse(geometry=geo, reset=False)
|
||||
|
||||
## Not iterable, do the actual indexing and add.
|
||||
# ## Not iterable, do the actual indexing and add.
|
||||
except TypeError:
|
||||
self.flat_geometry.append(geometry)
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from copy import copy, deepcopy
|
||||
@@ -28,7 +28,7 @@ class Panelize(FlatCAMTool):
|
||||
super(Panelize, self).__init__(self)
|
||||
self.app = app
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 4/15/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
|
||||
@@ -152,7 +152,7 @@ class PcbWizard(FlatCAMTool):
|
||||
|
||||
self.modified_excellon_file = ''
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.excellon_brn.clicked.connect(self.on_load_excellon_click)
|
||||
self.inf_btn.clicked.connect(self.on_load_inf_click)
|
||||
self.import_button.clicked.connect(lambda: self.on_import_excellon(
|
||||
@@ -207,7 +207,7 @@ class PcbWizard(FlatCAMTool):
|
||||
self.exc_file_content = None
|
||||
self.tools_from_inf = {}
|
||||
|
||||
## Initialize form
|
||||
# ## Initialize form
|
||||
self.int_entry.set_value(self.integral)
|
||||
self.frac_entry.set_value(self.fractional)
|
||||
self.zeros_radio.set_value(self.zeros)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from PyQt5 import QtGui, QtCore, QtWidgets
|
||||
from PyQt5.QtCore import Qt
|
||||
@@ -37,7 +37,7 @@ class Properties(FlatCAMTool):
|
||||
self.properties_box.setContentsMargins(0, 0, 0, 0)
|
||||
self.properties_frame.setLayout(self.properties_box)
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# Author: Juan Pablo Caram (c) #
|
||||
# Date: 2/5/2014 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
# from PyQt5.QtCore import pyqtSignal
|
||||
from PyQt5.QtCore import Qt
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from FlatCAMCommon import LoudDict
|
||||
@@ -39,7 +39,7 @@ class SolderPaste(FlatCAMTool):
|
||||
def __init__(self, app):
|
||||
FlatCAMTool.__init__(self, app)
|
||||
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
@@ -50,11 +50,11 @@ class SolderPaste(FlatCAMTool):
|
||||
""")
|
||||
self.layout.addWidget(title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
obj_form_layout = QtWidgets.QFormLayout()
|
||||
self.layout.addLayout(obj_form_layout)
|
||||
|
||||
## Gerber Object to be used for solderpaste dispensing
|
||||
# ## Gerber Object to be used for solderpaste dispensing
|
||||
self.obj_combo = FCComboBox(callback=self.on_rmb_combo)
|
||||
self.obj_combo.setModel(self.app.collection)
|
||||
self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
|
||||
@@ -66,7 +66,7 @@ class SolderPaste(FlatCAMTool):
|
||||
)
|
||||
obj_form_layout.addRow(self.object_label, self.obj_combo)
|
||||
|
||||
#### Tools ####
|
||||
#### Tools ## ##
|
||||
self.tools_table_label = QtWidgets.QLabel('<b>%s</b>' % _('Tools Table'))
|
||||
self.tools_table_label.setToolTip(
|
||||
_("Tools pool from which the algorithm\n"
|
||||
@@ -94,7 +94,7 @@ class SolderPaste(FlatCAMTool):
|
||||
_( "Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
|
||||
"is the width of the solder paste dispensed."))
|
||||
|
||||
#### Add a new Tool ####
|
||||
#### Add a new Tool ## ##
|
||||
hlay_tools = QtWidgets.QHBoxLayout()
|
||||
self.layout.addLayout(hlay_tools)
|
||||
|
||||
@@ -135,7 +135,7 @@ class SolderPaste(FlatCAMTool):
|
||||
|
||||
self.layout.addSpacing(10)
|
||||
|
||||
## Buttons
|
||||
# ## Buttons
|
||||
grid0_1 = QtWidgets.QGridLayout()
|
||||
self.layout.addLayout(grid0_1)
|
||||
|
||||
@@ -157,7 +157,7 @@ class SolderPaste(FlatCAMTool):
|
||||
self.gcode_box.setContentsMargins(0, 0, 0, 0)
|
||||
self.gcode_frame.setLayout(self.gcode_box)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
self.gcode_form_layout = QtWidgets.QFormLayout()
|
||||
self.gcode_box.addLayout(self.gcode_form_layout)
|
||||
|
||||
@@ -283,7 +283,7 @@ class SolderPaste(FlatCAMTool):
|
||||
self.pp_combo.setStyleSheet('background-color: rgb(255,255,255)')
|
||||
self.gcode_form_layout.addRow(pp_label, self.pp_combo)
|
||||
|
||||
## Buttons
|
||||
# ## Buttons
|
||||
grid1 = QtWidgets.QGridLayout()
|
||||
self.gcode_box.addLayout(grid1)
|
||||
|
||||
@@ -301,7 +301,7 @@ class SolderPaste(FlatCAMTool):
|
||||
self.generation_frame.setLayout(self.generation_box)
|
||||
|
||||
|
||||
## Buttons
|
||||
# ## Buttons
|
||||
grid2 = QtWidgets.QGridLayout()
|
||||
self.generation_box.addLayout(grid2)
|
||||
|
||||
@@ -313,11 +313,11 @@ class SolderPaste(FlatCAMTool):
|
||||
grid2.addWidget(step2_lbl, 0, 0)
|
||||
grid2.addWidget(self.soldergeo_btn, 0, 2)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
geo_form_layout = QtWidgets.QFormLayout()
|
||||
self.generation_box.addLayout(geo_form_layout)
|
||||
|
||||
## Geometry Object to be used for solderpaste dispensing
|
||||
# ## Geometry Object to be used for solderpaste dispensing
|
||||
self.geo_obj_combo = FCComboBox(callback=self.on_rmb_combo)
|
||||
self.geo_obj_combo.setModel(self.app.collection)
|
||||
self.geo_obj_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
|
||||
@@ -346,11 +346,11 @@ class SolderPaste(FlatCAMTool):
|
||||
grid3.addWidget(step3_lbl, 0, 0)
|
||||
grid3.addWidget(self.solder_gcode_btn, 0, 2)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
cnc_form_layout = QtWidgets.QFormLayout()
|
||||
self.generation_box.addLayout(cnc_form_layout)
|
||||
|
||||
## Gerber Object to be used for solderpaste dispensing
|
||||
# ## Gerber Object to be used for solderpaste dispensing
|
||||
self.cnc_obj_combo = FCComboBox(callback=self.on_rmb_combo)
|
||||
self.cnc_obj_combo.setModel(self.app.collection)
|
||||
self.cnc_obj_combo.setRootModelIndex(self.app.collection.index(3, 0, QtCore.QModelIndex()))
|
||||
@@ -412,7 +412,7 @@ class SolderPaste(FlatCAMTool):
|
||||
# action to be added in the combobox context menu
|
||||
self.combo_context_del_action = QtWidgets.QAction(QtGui.QIcon('share/trash16.png'), _("Delete Object"))
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.combo_context_del_action.triggered.connect(self.on_delete_object)
|
||||
self.addtool_btn.clicked.connect(self.on_tool_add)
|
||||
self.addtool_entry.returnPressed.connect(self.on_tool_add)
|
||||
@@ -995,7 +995,7 @@ class SolderPaste(FlatCAMTool):
|
||||
|
||||
if reset:
|
||||
self.flat_geometry = []
|
||||
## If iterable, expand recursively.
|
||||
# ## If iterable, expand recursively.
|
||||
try:
|
||||
for geo in geometry:
|
||||
if geo is not None:
|
||||
@@ -1003,7 +1003,7 @@ class SolderPaste(FlatCAMTool):
|
||||
reset=False,
|
||||
pathonly=pathonly)
|
||||
|
||||
## Not iterable, do the actual indexing and add.
|
||||
# ## Not iterable, do the actual indexing and add.
|
||||
except TypeError:
|
||||
if pathonly and type(geometry) == Polygon:
|
||||
self.flat_geometry.append(geometry.exterior)
|
||||
@@ -1226,7 +1226,7 @@ class SolderPaste(FlatCAMTool):
|
||||
job_obj.options["tooldia"] = tool_dia
|
||||
job_obj.options['tool_dia'] = tool_dia
|
||||
|
||||
### CREATE GCODE ###
|
||||
# ## CREATE GCODE # ##
|
||||
res = job_obj.generate_gcode_from_solderpaste_geo(**tooluid_value)
|
||||
|
||||
if res == 'fail':
|
||||
@@ -1235,7 +1235,7 @@ class SolderPaste(FlatCAMTool):
|
||||
else:
|
||||
tool_cnc_dict['gcode'] = res
|
||||
|
||||
### PARSE GCODE ###
|
||||
# ## PARSE GCODE # ##
|
||||
tool_cnc_dict['gcode_parsed'] = job_obj.gcode_parse()
|
||||
|
||||
# TODO this serve for bounding box creation only; should be optimized
|
||||
@@ -1380,7 +1380,7 @@ class SolderPaste(FlatCAMTool):
|
||||
gcode += obj.cnc_tools[tool]['gcode']
|
||||
lines = StringIO(gcode)
|
||||
|
||||
## Write
|
||||
# ## Write
|
||||
if filename is not None:
|
||||
try:
|
||||
with open(filename, 'w') as f:
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 4/24/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
# FlatCAM: 2D Post-processing for Manufacturing #
|
||||
# http://flatcam.org #
|
||||
# File Author: Marius Adrian Stanciu (c) #
|
||||
# Date: 3/10/2019 #
|
||||
# MIT Licence #
|
||||
############################################################
|
||||
# ########################################################## ##
|
||||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from FlatCAMObj import *
|
||||
@@ -32,7 +32,7 @@ class ToolTransform(FlatCAMTool):
|
||||
|
||||
self.transform_lay = QtWidgets.QVBoxLayout()
|
||||
self.layout.addLayout(self.transform_lay)
|
||||
## Title
|
||||
# ## Title
|
||||
title_label = QtWidgets.QLabel("%s" % self.toolName)
|
||||
title_label.setStyleSheet("""
|
||||
QLabel
|
||||
@@ -56,11 +56,11 @@ class ToolTransform(FlatCAMTool):
|
||||
self.empty_label4.setFixedWidth(70)
|
||||
self.transform_lay.addWidget(self.empty_label)
|
||||
|
||||
## Rotate Title
|
||||
# ## Rotate Title
|
||||
rotate_title_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.rotateName)
|
||||
self.transform_lay.addWidget(rotate_title_label)
|
||||
|
||||
## Layout
|
||||
# ## Layout
|
||||
form_layout = QtWidgets.QFormLayout()
|
||||
self.transform_lay.addLayout(form_layout)
|
||||
form_child = QtWidgets.QHBoxLayout()
|
||||
@@ -94,11 +94,11 @@ class ToolTransform(FlatCAMTool):
|
||||
|
||||
self.transform_lay.addWidget(self.empty_label1)
|
||||
|
||||
## Skew Title
|
||||
# ## Skew Title
|
||||
skew_title_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.skewName)
|
||||
self.transform_lay.addWidget(skew_title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form1_layout = QtWidgets.QFormLayout()
|
||||
self.transform_lay.addLayout(form1_layout)
|
||||
form1_child_1 = QtWidgets.QHBoxLayout()
|
||||
@@ -151,11 +151,11 @@ class ToolTransform(FlatCAMTool):
|
||||
|
||||
self.transform_lay.addWidget(self.empty_label2)
|
||||
|
||||
## Scale Title
|
||||
# ## Scale Title
|
||||
scale_title_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.scaleName)
|
||||
self.transform_lay.addWidget(scale_title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form2_layout = QtWidgets.QFormLayout()
|
||||
self.transform_lay.addLayout(form2_layout)
|
||||
form2_child_1 = QtWidgets.QHBoxLayout()
|
||||
@@ -225,11 +225,11 @@ class ToolTransform(FlatCAMTool):
|
||||
|
||||
self.transform_lay.addWidget(self.empty_label3)
|
||||
|
||||
## Offset Title
|
||||
# ## Offset Title
|
||||
offset_title_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.offsetName)
|
||||
self.transform_lay.addWidget(offset_title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form3_layout = QtWidgets.QFormLayout()
|
||||
self.transform_lay.addLayout(form3_layout)
|
||||
form3_child_1 = QtWidgets.QHBoxLayout()
|
||||
@@ -280,11 +280,11 @@ class ToolTransform(FlatCAMTool):
|
||||
|
||||
self.transform_lay.addWidget(self.empty_label4)
|
||||
|
||||
## Flip Title
|
||||
# ## Flip Title
|
||||
flip_title_label = QtWidgets.QLabel("<font size=3><b>%s</b></font>" % self.flipName)
|
||||
self.transform_lay.addWidget(flip_title_label)
|
||||
|
||||
## Form Layout
|
||||
# ## Form Layout
|
||||
form4_layout = QtWidgets.QFormLayout()
|
||||
form4_child_hlay = QtWidgets.QHBoxLayout()
|
||||
self.transform_lay.addLayout(form4_child_hlay)
|
||||
@@ -355,7 +355,7 @@ class ToolTransform(FlatCAMTool):
|
||||
|
||||
self.transform_lay.addStretch()
|
||||
|
||||
## Signals
|
||||
# ## Signals
|
||||
self.rotate_button.clicked.connect(self.on_rotate)
|
||||
self.skewx_button.clicked.connect(self.on_skewx)
|
||||
self.skewy_button.clicked.connect(self.on_skewy)
|
||||
@@ -401,7 +401,7 @@ class ToolTransform(FlatCAMTool):
|
||||
FlatCAMTool.install(self, icon, separator, shortcut='ALT+R', **kwargs)
|
||||
|
||||
def set_tool_ui(self):
|
||||
## Initialize form
|
||||
# ## Initialize form
|
||||
if self.app.defaults["tools_transform_rotate"]:
|
||||
self.rotate_entry.set_value(self.app.defaults["tools_transform_rotate"])
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user