Minor fix to "millholes" shell docs. Added get_exterior() method to Geometry.
This commit is contained in:
@@ -2541,7 +2541,7 @@ class App(QtCore.QObject):
|
||||
'millholes': {
|
||||
'fcn': drillmillgeometry,
|
||||
'help': "Create Geometry Object for milling holes from Excellon.\n" +
|
||||
"> drillmillgeometry <name> -tools <str> -tooldia <float> -outname <str> \n" +
|
||||
"> millholes <name> -tools <str> -tooldia <float> -outname <str> \n" +
|
||||
" name: Name of the Excellon Object\n" +
|
||||
" tools: Comma separated indexes of tools (example: 1,3 or 2)\n" +
|
||||
" tooldia: Diameter of the milling tool (example: 0.1)\n" +
|
||||
|
||||
24
camlib.py
24
camlib.py
@@ -172,6 +172,30 @@ class Geometry(object):
|
||||
|
||||
return None
|
||||
|
||||
def get_exteriors(self, geometry=None):
|
||||
"""
|
||||
Returns all exteriors of polygons in geometry.
|
||||
|
||||
:return:
|
||||
"""
|
||||
|
||||
exteriors = []
|
||||
|
||||
if geometry is None:
|
||||
geometry = self.solid_geometry
|
||||
|
||||
## If iterable, expand recursively.
|
||||
try:
|
||||
for geo in geometry:
|
||||
exteriors.extend(self.get_exteriors(geometry=geo))
|
||||
|
||||
## Not iterable, get the exterior if polygon.
|
||||
except TypeError:
|
||||
if type(geometry) == Polygon:
|
||||
exteriors.append(geometry.exterior)
|
||||
|
||||
return exteriors
|
||||
|
||||
def flatten(self, geometry=None, reset=True, pathonly=False):
|
||||
"""
|
||||
Creates a list of non-iterable linear geometry objects.
|
||||
|
||||
Reference in New Issue
Block a user