- working on a new type of database

This commit is contained in:
Marius Stanciu
2020-03-01 00:52:24 +02:00
committed by Marius
parent acc61d460b
commit 70d3895799
43 changed files with 1515 additions and 540 deletions

View File

@@ -95,11 +95,11 @@ class Excellon(Geometry):
Geometry.__init__(self, geo_steps_per_circle=int(geo_steps_per_circle))
# dictionary to store tools, see above for description
self.tools = dict()
self.tools = {}
# list to store the drills, see above for description
self.drills = list()
self.drills = []
# self.slots (list) to store the slots; each is a dictionary
self.slots = list()
self.slots = []
self.source_file = ''
@@ -110,8 +110,8 @@ class Excellon(Geometry):
self.match_routing_start = None
self.match_routing_stop = None
self.num_tools = list() # List for keeping the tools sorted
self.index_per_tool = dict() # Dictionary to store the indexed points for each tool
self.num_tools = [] # List for keeping the tools sorted
self.index_per_tool = {} # Dictionary to store the indexed points for each tool
# ## IN|MM -> Units are inherited from Geometry
self.units = self.app.defaults['units']
@@ -962,8 +962,8 @@ class Excellon(Geometry):
try:
# clear the solid_geometry in self.tools
for tool in self.tools:
self.tools[tool]['solid_geometry'] = list()
self.tools[tool]['data'] = dict()
self.tools[tool]['solid_geometry'] = []
self.tools[tool]['data'] = {}
for drill in self.drills:
# poly = drill['point'].buffer(self.tools[drill['tool']]["C"]/2.0)

View File

@@ -467,7 +467,7 @@ class Gerber(Geometry):
# --- Buffered ----
width = self.apertures[last_path_aperture]["size"]
geo_dict = dict()
geo_dict = {}
geo_f = LineString(path)
if not geo_f.is_empty:
follow_buffer.append(geo_f)
@@ -486,7 +486,7 @@ class Gerber(Geometry):
geo_dict['solid'] = geo_s
if last_path_aperture not in self.apertures:
self.apertures[last_path_aperture] = dict()
self.apertures[last_path_aperture] = {}
if 'geometry' not in self.apertures[last_path_aperture]:
self.apertures[last_path_aperture]['geometry'] = []
self.apertures[last_path_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -677,7 +677,7 @@ class Gerber(Geometry):
# --- Buffered ---
try:
# log.debug("Bare op-code %d." % current_operation_code)
geo_dict = dict()
geo_dict = {}
flash = self.create_flash_geometry(
Point(current_x, current_y), self.apertures[current_aperture],
self.steps_per_circle)
@@ -695,7 +695,7 @@ class Gerber(Geometry):
geo_dict['solid'] = flash
if current_aperture not in self.apertures:
self.apertures[current_aperture] = dict()
self.apertures[current_aperture] = {}
if 'geometry' not in self.apertures[current_aperture]:
self.apertures[current_aperture]['geometry'] = []
self.apertures[current_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -734,7 +734,7 @@ class Gerber(Geometry):
# do nothing because 'R' type moving aperture is none at once
pass
else:
geo_dict = dict()
geo_dict = {}
geo_f = LineString(path)
if not geo_f.is_empty:
follow_buffer.append(geo_f)
@@ -754,7 +754,7 @@ class Gerber(Geometry):
geo_dict['solid'] = geo_s
if last_path_aperture not in self.apertures:
self.apertures[last_path_aperture] = dict()
self.apertures[last_path_aperture] = {}
if 'geometry' not in self.apertures[last_path_aperture]:
self.apertures[last_path_aperture]['geometry'] = []
self.apertures[last_path_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -774,7 +774,7 @@ class Gerber(Geometry):
if path_length > 1:
# Take care of what is left in the path
geo_dict = dict()
geo_dict = {}
geo_f = LineString(path)
if not geo_f.is_empty:
follow_buffer.append(geo_f)
@@ -794,7 +794,7 @@ class Gerber(Geometry):
geo_dict['solid'] = geo_s
if last_path_aperture not in self.apertures:
self.apertures[last_path_aperture] = dict()
self.apertures[last_path_aperture] = {}
if 'geometry' not in self.apertures[last_path_aperture]:
self.apertures[last_path_aperture]['geometry'] = []
self.apertures[last_path_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -814,7 +814,7 @@ class Gerber(Geometry):
self.apertures['0'] = {}
self.apertures['0']['type'] = 'REG'
self.apertures['0']['size'] = 0.0
self.apertures['0']['geometry'] = list()
self.apertures['0']['geometry'] = []
# if D02 happened before G37 we now have a path with 1 element only; we have to add the current
# geo to the poly_buffer otherwise we loose it
@@ -826,7 +826,7 @@ class Gerber(Geometry):
if path_length == 1:
# this means that the geometry was prepared previously and we just need to add it
geo_dict = dict()
geo_dict = {}
if geo_f:
if not geo_f.is_empty:
follow_buffer.append(geo_f)
@@ -863,7 +863,7 @@ class Gerber(Geometry):
# For regions we may ignore an aperture that is None
# --- Buffered ---
geo_dict = dict()
geo_dict = {}
if current_aperture in self.apertures:
# the following line breaks loading of Circuit Studio Gerber files
# buff_value = float(self.apertures[current_aperture]['size']) / 2.0
@@ -965,7 +965,7 @@ class Gerber(Geometry):
maxy = max(path[0][1], path[1][1]) + height / 2
log.debug("Coords: %s - %s - %s - %s" % (minx, miny, maxx, maxy))
geo_dict = dict()
geo_dict = {}
geo_f = Point([current_x, current_y])
follow_buffer.append(geo_f)
geo_dict['follow'] = geo_f
@@ -982,7 +982,7 @@ class Gerber(Geometry):
geo_dict['solid'] = geo_s
if current_aperture not in self.apertures:
self.apertures[current_aperture] = dict()
self.apertures[current_aperture] = {}
if 'geometry' not in self.apertures[current_aperture]:
self.apertures[current_aperture]['geometry'] = []
self.apertures[current_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -1012,7 +1012,7 @@ class Gerber(Geometry):
if path_length > 1:
geo_s = None
geo_dict = dict()
geo_dict = {}
# --- BUFFERED ---
# this treats the case when we are storing geometry as paths only
if making_region:
@@ -1089,7 +1089,7 @@ class Gerber(Geometry):
geo_dict['solid'] = geo_s
if last_path_aperture not in self.apertures:
self.apertures[last_path_aperture] = dict()
self.apertures[last_path_aperture] = {}
if 'geometry' not in self.apertures[last_path_aperture]:
self.apertures[last_path_aperture]['geometry'] = []
self.apertures[last_path_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -1115,7 +1115,7 @@ class Gerber(Geometry):
if path_length > 1:
# --- Buffered ----
geo_dict = dict()
geo_dict = {}
# this treats the case when we are storing geometry as paths
geo_f = LineString(path)
@@ -1156,7 +1156,7 @@ class Gerber(Geometry):
geo_dict['solid'] = geo_s
if last_path_aperture not in self.apertures:
self.apertures[last_path_aperture] = dict()
self.apertures[last_path_aperture] = {}
if 'geometry' not in self.apertures[last_path_aperture]:
self.apertures[last_path_aperture]['geometry'] = []
self.apertures[last_path_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -1167,7 +1167,7 @@ class Gerber(Geometry):
# --- BUFFERED ---
# Draw the flash
# this treats the case when we are storing geometry as paths
geo_dict = dict()
geo_dict = {}
geo_flash = Point([linear_x, linear_y])
follow_buffer.append(geo_flash)
geo_dict['follow'] = geo_flash
@@ -1190,7 +1190,7 @@ class Gerber(Geometry):
geo_dict['solid'] = flash
if current_aperture not in self.apertures:
self.apertures[current_aperture] = dict()
self.apertures[current_aperture] = {}
if 'geometry' not in self.apertures[current_aperture]:
self.apertures[current_aperture]['geometry'] = []
self.apertures[current_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -1275,7 +1275,7 @@ class Gerber(Geometry):
path_length = 1
if path_length > 1:
geo_dict = dict()
geo_dict = {}
if last_path_aperture is None:
log.warning("No aperture defined for curent path. (%d)" % line_num)
@@ -1303,7 +1303,7 @@ class Gerber(Geometry):
geo_dict['solid'] = buffered
if last_path_aperture not in self.apertures:
self.apertures[last_path_aperture] = dict()
self.apertures[last_path_aperture] = {}
if 'geometry' not in self.apertures[last_path_aperture]:
self.apertures[last_path_aperture]['geometry'] = []
self.apertures[last_path_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -1432,7 +1432,7 @@ class Gerber(Geometry):
# EOF, create shapely LineString if something still in path
# ## --- Buffered ---
geo_dict = dict()
geo_dict = {}
# this treats the case when we are storing geometry as paths
geo_f = LineString(path)
if not geo_f.is_empty:
@@ -1454,7 +1454,7 @@ class Gerber(Geometry):
geo_dict['solid'] = geo_s
if last_path_aperture not in self.apertures:
self.apertures[last_path_aperture] = dict()
self.apertures[last_path_aperture] = {}
if 'geometry' not in self.apertures[last_path_aperture]:
self.apertures[last_path_aperture]['geometry'] = []
self.apertures[last_path_aperture]['geometry'].append(deepcopy(geo_dict))
@@ -1525,7 +1525,7 @@ class Gerber(Geometry):
# it use a filled bounding box polygon to which add clear polygons (negative) to isolate the copper
# features
if self.app.defaults['gerber_extra_buffering']:
candidate_geo = list()
candidate_geo = []
try:
for p in self.solid_geometry:
candidate_geo.append(p.buffer(-0.0000001))
@@ -1777,7 +1777,7 @@ class Gerber(Geometry):
# Add to object
if self.solid_geometry is None:
self.solid_geometry = list()
self.solid_geometry = []
# if type(self.solid_geometry) == list:
# if type(geos) == list:
@@ -1795,7 +1795,7 @@ class Gerber(Geometry):
geos_length = 1
if geos_length == 1:
geo_qrcode = list()
geo_qrcode = []
geo_qrcode.append(Polygon(geos[0].exterior))
for i_el in geos[0].interiors:
geo_qrcode.append(Polygon(i_el).buffer(0))
@@ -1822,13 +1822,13 @@ class Gerber(Geometry):
self.solid_geometry = [self.solid_geometry]
if '0' not in self.apertures:
self.apertures['0'] = dict()
self.apertures['0'] = {}
self.apertures['0']['type'] = 'REG'
self.apertures['0']['size'] = 0.0
self.apertures['0']['geometry'] = list()
self.apertures['0']['geometry'] = []
for pol in self.solid_geometry:
new_el = dict()
new_el = {}
new_el['solid'] = pol
new_el['follow'] = pol.exterior
self.apertures['0']['geometry'].append(deepcopy(new_el))
@@ -1917,10 +1917,10 @@ class Gerber(Geometry):
# we need to scale the geometry stored in the Gerber apertures, too
try:
for apid in self.apertures:
new_geometry = list()
new_geometry = []
if 'geometry' in self.apertures[apid]:
for geo_el in self.apertures[apid]['geometry']:
new_geo_el = dict()
new_geo_el = {}
if 'solid' in geo_el:
new_geo_el['solid'] = scale_geom(geo_el['solid'])
if 'follow' in geo_el:
@@ -2313,10 +2313,10 @@ class Gerber(Geometry):
# we need to buffer the geometry stored in the Gerber apertures, too
try:
for apid in self.apertures:
new_geometry = list()
new_geometry = []
if 'geometry' in self.apertures[apid]:
for geo_el in self.apertures[apid]['geometry']:
new_geo_el = dict()
new_geo_el = {}
if 'solid' in geo_el:
new_geo_el['solid'] = buffer_geom(geo_el['solid'])
if 'follow' in geo_el:
@@ -2364,10 +2364,10 @@ class Gerber(Geometry):
except KeyError:
pass
new_geometry = list()
new_geometry = []
if 'geometry' in self.apertures[apid]:
for geo_el in self.apertures[apid]['geometry']:
new_geo_el = dict()
new_geo_el = {}
if 'follow' in geo_el:
new_geo_el['follow'] = geo_el['follow']
size = float(self.apertures[apid]['size'])
@@ -2405,7 +2405,7 @@ class Gerber(Geometry):
return 'fail'
# make the new solid_geometry
new_solid_geo = list()
new_solid_geo = []
for apid in self.apertures:
if 'geometry' in self.apertures[apid]:
new_solid_geo += [geo_el['solid'] for geo_el in self.apertures[apid]['geometry']]

View File

@@ -49,9 +49,9 @@ class HPGL2:
self.units = 'MM'
# storage for the tools
self.tools = dict()
self.tools = {}
self.default_data = dict()
self.default_data = {}
self.default_data.update({
"name": '_ncc',
"plot": self.app.defaults["geometry_plot"],
@@ -153,7 +153,7 @@ class HPGL2:
"""
# Coordinates of the current path, each is [x, y]
path = list()
path = []
geo_buffer = []
@@ -209,7 +209,7 @@ class HPGL2:
match = self.sp_re.search(gline)
if match:
tool = match.group(1)
# self.tools[tool] = dict()
# self.tools[tool] = {}
self.tools.update({
tool: {
'tooldia': float('%.*f' %

View File

@@ -135,7 +135,7 @@ def path2shapely(path, object_type, res=1.0):
try:
geo_element = Polygon(rings[0], rings[1:])
except Exception:
coords = list()
coords = []
for line in rings:
coords.append(line.coords[0])
coords.append(line.coords[1])
@@ -305,7 +305,7 @@ def getsvggeo(node, object_type, root=None):
root = node
kind = re.search('(?:\{.*\})?(.*)$', node.tag).group(1)
geo = list()
geo = []
# Recurse
if len(node) > 0: