kopia lustrzana https://github.com/vilemduha/blendercam
commit
c347ed7d20
|
@ -67,14 +67,18 @@ class camPathChunkBuilder:
|
|||
if inpoints is None:
|
||||
inpoints=[]
|
||||
self.points=inpoints
|
||||
self.startpoints=startpoints
|
||||
self.endpoints=endpoints
|
||||
self.rotations=rotations
|
||||
self.startpoints=startpoints or []
|
||||
self.endpoints=endpoints or []
|
||||
self.rotations=rotations or []
|
||||
self.depth = None
|
||||
|
||||
def to_chunk(self):
|
||||
chunk = camPathChunk(self.points,self.startpoints,self.endpoints,self.rotations)
|
||||
if len(self.points)>2 and np.array_equal(self.points[0],self.points[-1]):
|
||||
chunk.closed = True
|
||||
if self.depth is not None:
|
||||
chunk.depth = self.depth
|
||||
|
||||
return chunk
|
||||
|
||||
# an actual chunk - stores points as numpy arrays
|
||||
|
@ -113,7 +117,7 @@ class camPathChunk:
|
|||
|
||||
def update_poly(self):
|
||||
if len(self._points) > 2:
|
||||
self.poly = sgeometry.Polygon(self._points)
|
||||
self.poly = sgeometry.Polygon(self._points[:,0:2])
|
||||
else:
|
||||
self.poly = sgeometry.Polygon()
|
||||
|
||||
|
@ -291,6 +295,18 @@ class camPathChunk:
|
|||
self.endpoints.pop(index)
|
||||
self.rotations.pop(index)
|
||||
|
||||
def dedupePoints(self):
|
||||
if len(self._points)>1:
|
||||
keep_points=np.empty(self._points.shape[0],dtype=bool)
|
||||
keep_points[0]=True
|
||||
diff_points=np.sum((self._points[1:]-self._points[:1])**2,axis=1)
|
||||
keep_points[1:]=diff_points>0.000000001
|
||||
self._points=self._points[keep_points,:]
|
||||
|
||||
|
||||
def insert(self,at_index,point,startpoint=None, endpoint=None, rotation=None):
|
||||
self.append(point,startpoint=startpoint,endpoint=endpoint,rotation=rotation,at_index=at_index)
|
||||
|
||||
def append(self, point, startpoint=None, endpoint=None, rotation=None,at_index=None):
|
||||
if at_index is None:
|
||||
self._points=np.concatenate((self._points,np.array([point])))
|
||||
|
@ -857,19 +873,22 @@ def parentChild(parents, children, o):
|
|||
|
||||
def chunksToShapely(chunks): # this does more cleve chunks to Poly with hierarchies... ;)
|
||||
# print ('analyzing paths')
|
||||
|
||||
for ch in chunks: # first convert chunk to poly
|
||||
if len(ch._points) > 2:
|
||||
# pchunk=[]
|
||||
ch.poly = sgeometry.Polygon(ch._points)
|
||||
ch.poly = sgeometry.Polygon(ch._points[:,0:2])
|
||||
if not ch.poly.is_valid:
|
||||
ch.poly = sgeometry.Polygon()
|
||||
else:
|
||||
ch.poly = sgeometry.Polygon()
|
||||
|
||||
for ppart in chunks: # then add hierarchy relations
|
||||
for ptest in chunks:
|
||||
|
||||
if ppart != ptest:
|
||||
if ptest.poly.contains(ppart.poly):
|
||||
# hierarchy works like this: - children get milled first.
|
||||
ppart.parents.append(ptest)
|
||||
if not ppart.poly.is_empty and not ptest.poly.is_empty:
|
||||
if ptest.poly.contains(ppart.poly):
|
||||
# hierarchy works like this: - children get milled first.
|
||||
ppart.parents.append(ptest)
|
||||
|
||||
for ch in chunks: # now make only simple polygons with holes, not more polys inside others
|
||||
found = False
|
||||
|
@ -897,14 +916,14 @@ def chunksToShapely(chunks): # this does more cleve chunks to Poly with hierarc
|
|||
|
||||
print('chunksToShapely oops!')
|
||||
|
||||
lastPt = False
|
||||
lastPt = None
|
||||
tolerance = 0.0000003
|
||||
newPoints = []
|
||||
|
||||
for pt in ch._points:
|
||||
toleranceXok = True
|
||||
toleranceYok = True
|
||||
if lastPt:
|
||||
if lastPt is not None:
|
||||
if abs(pt[0] - lastPt[0]) < tolerance:
|
||||
toleranceXok = False
|
||||
if abs(pt[1] - lastPt[1]) < tolerance:
|
||||
|
@ -936,7 +955,7 @@ def chunksToShapely(chunks): # this does more cleve chunks to Poly with hierarc
|
|||
|
||||
# print('chunksToShapely double oops!')
|
||||
|
||||
lastPt = False
|
||||
lastPt = None
|
||||
tolerance = 0.0000003
|
||||
newPoints = []
|
||||
|
||||
|
@ -945,7 +964,7 @@ def chunksToShapely(chunks): # this does more cleve chunks to Poly with hierarc
|
|||
toleranceYok = True
|
||||
# print( '{0:.9f}, {0:.9f}, {0:.9f}'.format(pt[0], pt[1], pt[2]) )
|
||||
# print(pt)
|
||||
if lastPt:
|
||||
if lastPt is not None:
|
||||
if abs(pt[0] - lastPt[0]) < tolerance:
|
||||
toleranceXok = False
|
||||
if abs(pt[1] - lastPt[1]) < tolerance:
|
||||
|
@ -979,8 +998,9 @@ def chunksToShapely(chunks): # this does more cleve chunks to Poly with hierarc
|
|||
|
||||
for polyi in range(0, len(chunks)): # export only the booleaned polygons
|
||||
ch = chunks[polyi]
|
||||
if len(ch.parents) == 0:
|
||||
returnpolys.append(ch.poly)
|
||||
if not ch.poly.is_empty:
|
||||
if len(ch.parents) == 0:
|
||||
returnpolys.append(ch.poly)
|
||||
from shapely.geometry import MultiPolygon
|
||||
polys = MultiPolygon(returnpolys)
|
||||
return polys
|
||||
|
@ -1017,7 +1037,11 @@ def meshFromCurveToChunk(object):
|
|||
chunk.points.append((mesh.vertices[lastvi].co + object.location).to_tuple())
|
||||
# add first point to end#originally the z was mesh.vertices[lastvi].co.z+z
|
||||
lastvi = vi + 1
|
||||
chunks.append(chunk.to_chunk())
|
||||
chunk=chunk.to_chunk()
|
||||
chunk.dedupePoints()
|
||||
if chunk.count()>=1:
|
||||
# dump single point chunks
|
||||
chunks.append(chunk)
|
||||
chunk = camPathChunkBuilder()
|
||||
|
||||
progress('processing curve - FINISHED')
|
||||
|
@ -1028,10 +1052,13 @@ def meshFromCurveToChunk(object):
|
|||
chunk.closed = True
|
||||
chunk.points.append(
|
||||
(mesh.vertices[lastvi].co.x + x, mesh.vertices[lastvi].co.y + y, mesh.vertices[lastvi].co.z + z))
|
||||
chunks.append(chunk.to_chunk())
|
||||
chunk=chunk.to_chunk()
|
||||
chunk.dedupePoints()
|
||||
if chunk.count()>=1:
|
||||
# dump single point chunks
|
||||
chunks.append(chunk)
|
||||
return chunks
|
||||
|
||||
|
||||
def makeVisible(o):
|
||||
storage = [True, []]
|
||||
|
||||
|
|
|
@ -501,8 +501,9 @@ def getPathPattern4axis(operation):
|
|||
rot[a1] = b * anglestep
|
||||
chunk.rotations.append(rot)
|
||||
|
||||
chunk = chunk.to_chunk()
|
||||
chunk.depth = radiusend - radius
|
||||
pathchunks.append(chunk.to_chunk())
|
||||
pathchunks.append(chunk)
|
||||
|
||||
if (reverse and o.movement.type == 'MEANDER') or (
|
||||
o.movement.type == 'CONVENTIONAL' and o.movement.spindle_rotation == 'CW') or (
|
||||
|
@ -540,9 +541,10 @@ def getPathPattern4axis(operation):
|
|||
cutterstart.rotate(e)
|
||||
cutterend.rotate(e)
|
||||
|
||||
chunk=chunk.to_chunk()
|
||||
chunk.depth = radiusend - radius
|
||||
|
||||
pathchunks.append(chunk.to_chunk())
|
||||
pathchunks.append(chunk)
|
||||
# print(chunk.startpoints)
|
||||
# print(pathchunks)
|
||||
# sprint(len(pathchunks))
|
||||
|
|
|
@ -625,10 +625,20 @@ async def medial_axis(o):
|
|||
ob.data.resolution_u = 64
|
||||
|
||||
polys = utils.getOperationSilhouete(o)
|
||||
mpoly = sgeometry.shape(polys)
|
||||
if isinstance(polys, list):
|
||||
if len(polys)==1 and isinstance(polys[0],shapely.MultiPolygon):
|
||||
mpoly=polys[0]
|
||||
else:
|
||||
mpoly=sgeometry.MultiPolygon(polys)
|
||||
elif isinstance(polys,shapely.MultiPolygon):
|
||||
# just a multipolygon
|
||||
mpoly=polys
|
||||
else:
|
||||
raise CamException("Failed getting object silhouette. Is input curve closed?")
|
||||
|
||||
mpoly_boundary = mpoly.boundary
|
||||
ipol = 0
|
||||
for poly in polys.geoms:
|
||||
for poly in mpoly.geoms:
|
||||
ipol = ipol + 1
|
||||
schunks = shapelyToChunks(poly, -1)
|
||||
schunks = chunksRefineThreshold(schunks, o.medial_axis_subdivision,
|
||||
|
|
Plik binarny nie jest wyświetlany.
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,771 @@
|
|||
(Created with grbl post processor 2024/02/05 19:50)
|
||||
G21
|
||||
(G-code generated with BlenderCAM and NC library)
|
||||
G17G90
|
||||
S12000M03
|
||||
G00 Z10.0
|
||||
|
||||
G0X0Y0Z10
|
||||
X5Y12.439
|
||||
G1Z-3.732F500
|
||||
X5.011Y12.478F1000
|
||||
X5.021Y12.507
|
||||
X5.06Y12.616
|
||||
X5.074Y12.651
|
||||
X5.092Y12.69
|
||||
X5.142Y12.795
|
||||
X5.159Y12.828
|
||||
X5.18Y12.865
|
||||
X5.24Y12.965
|
||||
X5.26Y12.996
|
||||
X5.285Y13.031
|
||||
X5.354Y13.124
|
||||
X5.377Y13.153
|
||||
X5.406Y13.185
|
||||
X5.484Y13.272
|
||||
X5.51Y13.298
|
||||
X5.541Y13.328
|
||||
X5.627Y13.406
|
||||
X5.655Y13.429
|
||||
X5.689Y13.456
|
||||
X5.783Y13.525
|
||||
X5.813Y13.546
|
||||
X5.85Y13.569
|
||||
X5.95Y13.628
|
||||
X5.97Y13.64
|
||||
X5.934Y13.66
|
||||
X5.834Y13.72
|
||||
X5.803Y13.74
|
||||
X5.768Y13.765
|
||||
X5.675Y13.834
|
||||
X5.646Y13.857
|
||||
X5.614Y13.886
|
||||
X5.527Y13.964
|
||||
X5.501Y13.99
|
||||
X5.471Y14.021
|
||||
X5.393Y14.107
|
||||
X5.37Y14.135
|
||||
X5.343Y14.169
|
||||
X5.274Y14.263
|
||||
X5.253Y14.293
|
||||
X5.23Y14.33
|
||||
X5.171Y14.43
|
||||
X5.153Y14.462
|
||||
X5.134Y14.501
|
||||
X5.084Y14.606
|
||||
X5.069Y14.64
|
||||
X5.054Y14.68
|
||||
X5.015Y14.79
|
||||
X5.004Y14.825
|
||||
X5Y14.84
|
||||
Y12.439
|
||||
G0Z10
|
||||
X23.149Y13.64
|
||||
G1Z-3.732F500
|
||||
X23.185Y13.619F1000
|
||||
X23.285Y13.559
|
||||
X23.316Y13.539
|
||||
X23.351Y13.514
|
||||
X23.444Y13.445
|
||||
X23.473Y13.422
|
||||
X23.505Y13.393
|
||||
X23.592Y13.315
|
||||
X23.618Y13.289
|
||||
X23.648Y13.258
|
||||
X23.726Y13.172
|
||||
X23.749Y13.144
|
||||
X23.776Y13.11
|
||||
X23.845Y13.016
|
||||
X23.866Y12.986
|
||||
X23.889Y12.949
|
||||
X23.948Y12.849
|
||||
X23.966Y12.817
|
||||
X23.985Y12.778
|
||||
X24.035Y12.673
|
||||
X24.05Y12.639
|
||||
X24.065Y12.599
|
||||
X24.104Y12.489
|
||||
X24.115Y12.454
|
||||
X24.12Y12.439
|
||||
Y14.84
|
||||
X24.108Y14.801
|
||||
X24.098Y14.772
|
||||
X24.059Y14.663
|
||||
X24.045Y14.628
|
||||
X24.027Y14.589
|
||||
X23.977Y14.484
|
||||
X23.96Y14.451
|
||||
X23.939Y14.414
|
||||
X23.879Y14.314
|
||||
X23.859Y14.283
|
||||
X23.834Y14.248
|
||||
X23.765Y14.155
|
||||
X23.742Y14.126
|
||||
X23.713Y14.094
|
||||
X23.635Y14.007
|
||||
X23.609Y13.981
|
||||
X23.578Y13.951
|
||||
X23.492Y13.873
|
||||
X23.464Y13.85
|
||||
X23.43Y13.823
|
||||
X23.336Y13.754
|
||||
X23.306Y13.733
|
||||
X23.269Y13.71
|
||||
X23.169Y13.651
|
||||
X23.149Y13.64
|
||||
X22.907Y14.077
|
||||
X22.885Y14.066
|
||||
X22.785Y14.019
|
||||
X22.762Y14.009
|
||||
X22.647Y13.968
|
||||
X22.623Y13.961
|
||||
X22.504Y13.931
|
||||
X22.48Y13.926
|
||||
X22.359Y13.908
|
||||
X22.334Y13.906
|
||||
X22.212Y13.9
|
||||
X6.907
|
||||
X6.785Y13.906
|
||||
X6.76Y13.908
|
||||
X6.639Y13.926
|
||||
X6.615Y13.931
|
||||
X6.496Y13.961
|
||||
X6.472Y13.968
|
||||
X6.357Y14.009
|
||||
X6.334Y14.019
|
||||
X6.223Y14.071
|
||||
X6.202Y14.083
|
||||
X6.096Y14.146
|
||||
X6.076Y14.159
|
||||
X5.977Y14.232
|
||||
X5.959Y14.248
|
||||
X5.868Y14.33
|
||||
X5.85Y14.348
|
||||
X5.768Y14.439
|
||||
X5.752Y14.457
|
||||
X5.679Y14.556
|
||||
X5.666Y14.576
|
||||
X5.603Y14.682
|
||||
X5.591Y14.703
|
||||
X5.539Y14.814
|
||||
X5.529Y14.837
|
||||
X5.488Y14.952
|
||||
X5.481Y14.976
|
||||
X5.451Y15.095
|
||||
X5.446Y15.119
|
||||
X5.428Y15.24
|
||||
X5.426Y15.265
|
||||
X5.42Y15.387
|
||||
Y25.78
|
||||
X4.5
|
||||
Y1.5
|
||||
X5.42
|
||||
Y11.892
|
||||
X5.426Y12.014
|
||||
X5.428Y12.039
|
||||
X5.446Y12.16
|
||||
X5.451Y12.184
|
||||
X5.481Y12.303
|
||||
X5.488Y12.327
|
||||
X5.529Y12.442
|
||||
X5.539Y12.465
|
||||
X5.591Y12.576
|
||||
X5.603Y12.597
|
||||
X5.666Y12.703
|
||||
X5.679Y12.723
|
||||
X5.752Y12.822
|
||||
X5.768Y12.84
|
||||
X5.85Y12.931
|
||||
X5.868Y12.949
|
||||
X5.959Y13.031
|
||||
X5.977Y13.047
|
||||
X6.076Y13.12
|
||||
X6.096Y13.133
|
||||
X6.202Y13.196
|
||||
X6.223Y13.208
|
||||
X6.334Y13.26
|
||||
X6.357Y13.27
|
||||
X6.472Y13.311
|
||||
X6.496Y13.318
|
||||
X6.615Y13.348
|
||||
X6.639Y13.353
|
||||
X6.76Y13.371
|
||||
X6.785Y13.373
|
||||
X6.907Y13.379
|
||||
X22.212
|
||||
X22.334Y13.373
|
||||
X22.359Y13.371
|
||||
X22.48Y13.353
|
||||
X22.504Y13.348
|
||||
X22.623Y13.318
|
||||
X22.647Y13.311
|
||||
X22.762Y13.27
|
||||
X22.785Y13.26
|
||||
X22.896Y13.208
|
||||
X22.917Y13.196
|
||||
X23.023Y13.133
|
||||
X23.043Y13.12
|
||||
X23.142Y13.047
|
||||
X23.16Y13.031
|
||||
X23.251Y12.949
|
||||
X23.269Y12.931
|
||||
X23.351Y12.84
|
||||
X23.367Y12.822
|
||||
X23.44Y12.723
|
||||
X23.453Y12.703
|
||||
X23.516Y12.597
|
||||
X23.528Y12.576
|
||||
X23.58Y12.465
|
||||
X23.59Y12.442
|
||||
X23.631Y12.327
|
||||
X23.638Y12.303
|
||||
X23.668Y12.184
|
||||
X23.673Y12.16
|
||||
X23.691Y12.039
|
||||
X23.693Y12.014
|
||||
X23.699Y11.892
|
||||
Y1.5
|
||||
X24.62
|
||||
Y25.78
|
||||
X23.699
|
||||
Y15.387
|
||||
X23.693Y15.265
|
||||
X23.691Y15.24
|
||||
X23.673Y15.119
|
||||
X23.668Y15.095
|
||||
X23.638Y14.976
|
||||
X23.631Y14.952
|
||||
X23.59Y14.837
|
||||
X23.58Y14.814
|
||||
X23.528Y14.703
|
||||
X23.516Y14.682
|
||||
X23.453Y14.576
|
||||
X23.44Y14.556
|
||||
X23.367Y14.457
|
||||
X23.351Y14.439
|
||||
X23.269Y14.348
|
||||
X23.251Y14.33
|
||||
X23.16Y14.248
|
||||
X23.142Y14.232
|
||||
X23.043Y14.159
|
||||
X23.023Y14.146
|
||||
X22.917Y14.083
|
||||
X22.907Y14.077
|
||||
G0Z10
|
||||
X32.542Y11.429
|
||||
G1Z-3.732F500
|
||||
X32.363Y10.358F1000
|
||||
X32.302Y9.199
|
||||
X32.358Y8.128
|
||||
X32.525Y7.088
|
||||
X32.798Y6.094
|
||||
X33.174Y5.16
|
||||
X33.647Y4.3
|
||||
X34.212Y3.525
|
||||
X34.865Y2.845
|
||||
X35.606Y2.266
|
||||
X36.435Y1.797
|
||||
X37.358Y1.445
|
||||
X38.384Y1.222
|
||||
X39.557Y1.14
|
||||
X40.197Y1.153
|
||||
X40.829Y1.192
|
||||
X41.417Y1.255
|
||||
X41.97Y1.344
|
||||
X42.491Y1.457
|
||||
X42.989Y1.594
|
||||
X43.47Y1.757
|
||||
X43.942Y1.946
|
||||
X44.409Y2.165
|
||||
X44.88Y2.413
|
||||
X45.18Y2.589
|
||||
Y2.648
|
||||
X44.679Y2.43
|
||||
X44.626Y2.408
|
||||
X44.095Y2.205
|
||||
X44.037Y2.184
|
||||
X43.503Y2.009
|
||||
X43.44Y1.991
|
||||
X42.904Y1.846
|
||||
X42.837Y1.83
|
||||
X42.311Y1.718
|
||||
X42.24Y1.705
|
||||
X42.226Y1.703
|
||||
X41.696Y1.622
|
||||
X41.622Y1.613
|
||||
X41.608Y1.611
|
||||
X41.074Y1.562
|
||||
X40.998Y1.557
|
||||
X40.983
|
||||
X40.436Y1.54
|
||||
X40.34Y1.541
|
||||
X39.487Y1.58
|
||||
X39.361Y1.592
|
||||
X38.576Y1.709
|
||||
X38.562Y1.711
|
||||
X38.437Y1.736
|
||||
X38.424Y1.74
|
||||
X37.686Y1.936
|
||||
X37.667Y1.942
|
||||
X37.538Y1.986
|
||||
X37.519Y1.993
|
||||
X36.854Y2.263
|
||||
X36.834Y2.272
|
||||
X36.703Y2.336
|
||||
X36.683Y2.347
|
||||
X36.079Y2.694
|
||||
X36.059Y2.706
|
||||
X35.933Y2.79
|
||||
X35.915Y2.804
|
||||
X35.37Y3.227
|
||||
X35.353Y3.242
|
||||
X35.24Y3.344
|
||||
X35.223Y3.36
|
||||
X34.74Y3.858
|
||||
X34.725Y3.875
|
||||
X34.63Y3.987
|
||||
X34.617Y4.005
|
||||
X34.196Y4.577
|
||||
X34.184Y4.594
|
||||
X34.11Y4.71
|
||||
X34.099Y4.728
|
||||
X33.745Y5.365
|
||||
X33.738Y5.377
|
||||
X33.681Y5.494
|
||||
X33.675Y5.508
|
||||
X33.67Y5.521
|
||||
X33.371Y6.242
|
||||
X33.328Y6.364
|
||||
X33.089Y7.169
|
||||
X33.062Y7.28
|
||||
X32.886Y8.157
|
||||
X32.868Y8.279
|
||||
X32.866Y8.303
|
||||
X32.86Y8.426
|
||||
Y8.45
|
||||
X32.866Y8.573
|
||||
X32.868Y8.597
|
||||
X32.886Y8.719
|
||||
X32.891Y8.743
|
||||
X32.92Y8.862
|
||||
X32.927Y8.886
|
||||
X32.969Y9.001
|
||||
X32.978Y9.024
|
||||
X33.031Y9.135
|
||||
X33.042Y9.157
|
||||
X33.105Y9.262
|
||||
X33.119Y9.282
|
||||
X33.192Y9.381
|
||||
X33.207Y9.4
|
||||
X33.29Y9.491
|
||||
X33.307Y9.508
|
||||
X33.398Y9.591
|
||||
X33.417Y9.606
|
||||
X33.476Y9.65
|
||||
X33.464Y9.66
|
||||
X33.382Y9.736
|
||||
X33.365Y9.753
|
||||
X33.283Y9.845
|
||||
X33.267Y9.864
|
||||
X33.194Y9.964
|
||||
X33.18Y9.984
|
||||
X33.118Y10.091
|
||||
X33.106Y10.113
|
||||
X33.054Y10.225
|
||||
X33.045Y10.247
|
||||
X33.004Y10.364
|
||||
X32.997Y10.388
|
||||
X32.968Y10.508
|
||||
X32.964Y10.532
|
||||
X32.947Y10.654
|
||||
X32.944Y10.679
|
||||
X32.94Y10.802
|
||||
Y10.827
|
||||
X32.947Y10.95
|
||||
X32.95Y10.975
|
||||
X32.969Y11.097
|
||||
X33.118Y11.803
|
||||
X33.146Y11.91
|
||||
X33.345Y12.563
|
||||
X33.386Y12.679
|
||||
X33.636Y13.28
|
||||
X33.696Y13.403
|
||||
X33.99Y13.937
|
||||
X33.997Y13.95
|
||||
X34.005Y13.963
|
||||
X34.069Y14.064
|
||||
X34.077Y14.077
|
||||
X34.086Y14.089
|
||||
X34.427Y14.563
|
||||
X34.44Y14.58
|
||||
X34.529Y14.688
|
||||
X34.544Y14.704
|
||||
X34.933Y15.119
|
||||
X34.949Y15.135
|
||||
X35.057Y15.234
|
||||
X35.074Y15.249
|
||||
X35.511Y15.604
|
||||
X35.53Y15.618
|
||||
X35.652Y15.703
|
||||
X35.671Y15.715
|
||||
X36.156Y16.009
|
||||
X36.175Y16.019
|
||||
X36.306Y16.086
|
||||
X36.326Y16.096
|
||||
X36.857Y16.326
|
||||
X36.877Y16.333
|
||||
X37.009Y16.38
|
||||
X37.029Y16.387
|
||||
X37.596Y16.55
|
||||
X37.61Y16.553
|
||||
X37.625Y16.557
|
||||
X37.742Y16.583
|
||||
X37.757Y16.586
|
||||
X37.771Y16.589
|
||||
X38.397Y16.689
|
||||
X38.533Y16.704
|
||||
X39.218Y16.738
|
||||
X39.353
|
||||
X39.987Y16.701
|
||||
X40.007Y16.699
|
||||
X40.14Y16.683
|
||||
X40.161Y16.679
|
||||
X40.74Y16.573
|
||||
X40.761Y16.568
|
||||
X40.901Y16.532
|
||||
X40.923Y16.525
|
||||
X41.458Y16.35
|
||||
X41.48Y16.342
|
||||
X41.622Y16.285
|
||||
X41.643Y16.275
|
||||
X42.133Y16.034
|
||||
X42.154Y16.022
|
||||
X42.29Y15.943
|
||||
X42.31Y15.93
|
||||
X42.753Y15.626
|
||||
X42.773Y15.611
|
||||
X42.896Y15.512
|
||||
X42.914Y15.496
|
||||
X43.307Y15.132
|
||||
X43.324Y15.115
|
||||
X43.429Y15.002
|
||||
X43.445Y14.984
|
||||
X43.787Y14.562
|
||||
X43.8Y14.544
|
||||
X43.885Y14.423
|
||||
X43.897Y14.404
|
||||
X44.186Y13.928
|
||||
X44.196Y13.909
|
||||
X44.26Y13.786
|
||||
X44.269Y13.767
|
||||
X44.499Y13.248
|
||||
X44.504Y13.234
|
||||
X44.551Y13.11
|
||||
X44.556Y13.096
|
||||
X44.561Y13.082
|
||||
X44.739Y12.501
|
||||
X44.772Y12.369
|
||||
X44.895Y11.729
|
||||
X44.912Y11.606
|
||||
X44.974Y10.923
|
||||
X44.979Y10.801
|
||||
Y10.776
|
||||
X44.972Y10.654
|
||||
X44.97Y10.63
|
||||
X44.951Y10.509
|
||||
X44.946Y10.486
|
||||
X44.916Y10.367
|
||||
X44.909Y10.344
|
||||
X44.867Y10.229
|
||||
X44.857Y10.207
|
||||
X44.805Y10.097
|
||||
X44.793Y10.075
|
||||
X44.73Y9.971
|
||||
X44.716Y9.95
|
||||
X44.708Y9.94
|
||||
X45.436
|
||||
X45.274Y11.213
|
||||
X45.008Y12.363
|
||||
X44.654Y13.358
|
||||
X44.224Y14.204
|
||||
X43.726Y14.91
|
||||
X43.164Y15.491
|
||||
X42.536Y15.96
|
||||
X41.834Y16.327
|
||||
X41.047Y16.594
|
||||
X40.169Y16.76
|
||||
X39.202Y16.817
|
||||
X38.184Y16.753
|
||||
X37.243Y16.569
|
||||
X36.379Y16.274
|
||||
X35.591Y15.874
|
||||
X34.879Y15.375
|
||||
X34.243Y14.778
|
||||
X33.686Y14.084
|
||||
X33.212Y13.295
|
||||
X32.828Y12.409
|
||||
X32.542Y11.429
|
||||
G0Z10
|
||||
X52.42Y1.5
|
||||
G1Z-3.732F500
|
||||
X52.98F1000
|
||||
Y25.78
|
||||
X52.42
|
||||
Y1.5
|
||||
G0Z10
|
||||
X61.18
|
||||
G1Z-3.732F500
|
||||
X61.74F1000
|
||||
Y25.78
|
||||
X61.18
|
||||
Y1.5
|
||||
G0Z10
|
||||
X69.381Y5.899
|
||||
G1Z-3.732F500
|
||||
X69.822Y4.974F1000
|
||||
X70.369Y4.136
|
||||
X71.016Y3.39
|
||||
X71.758Y2.739
|
||||
X72.591Y2.188
|
||||
X73.51Y1.745
|
||||
X74.514Y1.417
|
||||
X75.599Y1.213
|
||||
X76.763Y1.142
|
||||
X77.988Y1.211
|
||||
X79.128Y1.411
|
||||
X80.174Y1.733
|
||||
X81.123Y2.167
|
||||
X81.975Y2.707
|
||||
X82.729Y3.345
|
||||
X83.382Y4.08
|
||||
X83.932Y4.909
|
||||
X84.374Y5.832
|
||||
X84.702Y6.849
|
||||
X84.906Y7.96
|
||||
X84.977Y9.155
|
||||
X84.905Y10.262
|
||||
X84.7Y11.292
|
||||
X84.37Y12.247
|
||||
X83.923Y13.126
|
||||
X83.366Y13.925
|
||||
X82.703Y14.64
|
||||
X81.94Y15.268
|
||||
X81.08Y15.8
|
||||
X80.127Y16.23
|
||||
X79.086Y16.549
|
||||
X77.961Y16.748
|
||||
X76.763Y16.817
|
||||
X75.635Y16.747
|
||||
X74.571Y16.544
|
||||
X73.575Y16.218
|
||||
X72.652Y15.779
|
||||
X71.81Y15.235
|
||||
X71.055Y14.594
|
||||
X70.395Y13.866
|
||||
X69.838Y13.058
|
||||
X69.39Y12.178
|
||||
X69.059Y11.231
|
||||
X68.854Y10.223
|
||||
X68.783Y9.155
|
||||
X68.852Y7.996
|
||||
X69.055Y6.907
|
||||
X69.381Y5.899
|
||||
X69.91Y6.123
|
||||
X69.904Y6.143
|
||||
X69.669Y6.956
|
||||
X69.665Y6.97
|
||||
X69.636Y7.099
|
||||
X69.633Y7.114
|
||||
X69.63Y7.128
|
||||
X69.486Y8.007
|
||||
X69.471Y8.144
|
||||
X69.421Y9.095
|
||||
X69.422Y9.235
|
||||
X69.472Y10.088
|
||||
X69.473Y10.104
|
||||
X69.475Y10.119
|
||||
X69.49Y10.24
|
||||
X69.492Y10.256
|
||||
X69.494Y10.271
|
||||
X69.643Y11.077
|
||||
X69.647Y11.097
|
||||
X69.68Y11.23
|
||||
X69.686Y11.25
|
||||
X69.927Y12.007
|
||||
X69.935Y12.027
|
||||
X69.986Y12.157
|
||||
X69.994Y12.177
|
||||
X70.322Y12.879
|
||||
X70.333Y12.898
|
||||
X70.402Y13.023
|
||||
X70.413Y13.042
|
||||
X70.823Y13.683
|
||||
X70.836Y13.701
|
||||
X70.922Y13.817
|
||||
X70.936Y13.835
|
||||
X71.423Y14.408
|
||||
X71.438Y14.425
|
||||
X71.541Y14.53
|
||||
X71.557Y14.545
|
||||
X72.115Y15.046
|
||||
X72.132Y15.061
|
||||
X72.249Y15.151
|
||||
X72.267Y15.164
|
||||
X72.89Y15.587
|
||||
X72.91Y15.599
|
||||
X73.037Y15.673
|
||||
X73.057Y15.683
|
||||
X73.74Y16.021
|
||||
X73.761Y16.03
|
||||
X73.896Y16.086
|
||||
X73.917Y16.094
|
||||
X74.655Y16.342
|
||||
X74.676Y16.348
|
||||
X74.815Y16.385
|
||||
X74.837Y16.389
|
||||
X75.624Y16.542
|
||||
X75.645Y16.545
|
||||
X75.784Y16.563
|
||||
X75.805Y16.565
|
||||
X76.625Y16.617
|
||||
X76.641
|
||||
X76.656Y16.618
|
||||
X76.778
|
||||
X76.793
|
||||
X76.808Y16.617
|
||||
X77.677Y16.565
|
||||
X77.692Y16.564
|
||||
X77.707Y16.563
|
||||
X77.829Y16.548
|
||||
X77.844Y16.546
|
||||
X77.859Y16.543
|
||||
X78.691Y16.39
|
||||
X78.712Y16.385
|
||||
X78.845Y16.352
|
||||
X78.865Y16.346
|
||||
X79.644Y16.097
|
||||
X79.664Y16.089
|
||||
X79.796Y16.038
|
||||
X79.816Y16.029
|
||||
X80.536Y15.69
|
||||
X80.556Y15.68
|
||||
X80.682Y15.61
|
||||
X80.701Y15.598
|
||||
X81.358Y15.174
|
||||
X81.376Y15.161
|
||||
X81.494Y15.074
|
||||
X81.511Y15.059
|
||||
X82.098Y14.557
|
||||
X82.115Y14.541
|
||||
X82.22Y14.437
|
||||
X82.236Y14.421
|
||||
X82.748Y13.844
|
||||
X82.762Y13.827
|
||||
X82.853Y13.71
|
||||
X82.866Y13.691
|
||||
X83.297Y13.047
|
||||
X83.308Y13.027
|
||||
X83.382Y12.9
|
||||
X83.392Y12.88
|
||||
X83.737Y12.173
|
||||
X83.746Y12.152
|
||||
X83.8Y12.018
|
||||
X83.808Y11.997
|
||||
X84.061Y11.234
|
||||
X84.067Y11.213
|
||||
X84.102Y11.075
|
||||
X84.107Y11.054
|
||||
X84.262Y10.24
|
||||
X84.265Y10.219
|
||||
X84.282Y10.082
|
||||
X84.284Y10.061
|
||||
X84.337Y9.198
|
||||
X84.338Y9.07
|
||||
Y9.056
|
||||
X84.288Y8.089
|
||||
X84.273Y7.951
|
||||
X84.127Y7.064
|
||||
X84.125Y7.049
|
||||
X84.122Y7.034
|
||||
X84.095Y6.916
|
||||
X84.091Y6.901
|
||||
X84.087Y6.887
|
||||
X83.849Y6.07
|
||||
X83.842Y6.05
|
||||
X83.793Y5.917
|
||||
X83.785Y5.897
|
||||
X83.456Y5.152
|
||||
X83.446Y5.131
|
||||
X83.376Y4.997
|
||||
X83.364Y4.977
|
||||
X82.949Y4.307
|
||||
X82.935Y4.287
|
||||
X82.842Y4.16
|
||||
X82.827Y4.141
|
||||
X82.331Y3.551
|
||||
X82.267Y3.481
|
||||
X82.249Y3.463
|
||||
X82.189Y3.406
|
||||
X81.606Y2.892
|
||||
X81.533Y2.832
|
||||
X81.513Y2.817
|
||||
X81.445Y2.77
|
||||
X80.784Y2.341
|
||||
X80.763Y2.329
|
||||
X80.628Y2.254
|
||||
X80.606Y2.244
|
||||
X79.881Y1.909
|
||||
X79.86Y1.9
|
||||
X79.723Y1.848
|
||||
X79.701Y1.841
|
||||
X78.907Y1.598
|
||||
X78.887Y1.593
|
||||
X78.754Y1.561
|
||||
X78.733Y1.557
|
||||
X77.885Y1.411
|
||||
X77.87Y1.409
|
||||
X77.74Y1.394
|
||||
X77.726Y1.392
|
||||
X77.711Y1.391
|
||||
X76.801Y1.342
|
||||
X76.786Y1.341
|
||||
X76.656
|
||||
X76.641Y1.342
|
||||
X76.627
|
||||
X75.779Y1.395
|
||||
X75.758Y1.397
|
||||
X75.619Y1.415
|
||||
X75.598Y1.419
|
||||
X74.799Y1.573
|
||||
X74.777Y1.579
|
||||
X74.635Y1.617
|
||||
X74.613Y1.623
|
||||
X73.869Y1.876
|
||||
X73.847Y1.885
|
||||
X73.707Y1.944
|
||||
X73.686Y1.954
|
||||
X73Y2.3
|
||||
X72.979Y2.312
|
||||
X72.846Y2.392
|
||||
X72.827Y2.405
|
||||
X72.205Y2.841
|
||||
X72.186Y2.855
|
||||
X72.065Y2.953
|
||||
X72.047Y2.969
|
||||
X71.494Y3.49
|
||||
X71.477Y3.506
|
||||
X71.374Y3.619
|
||||
X71.359Y3.637
|
||||
X70.878Y4.237
|
||||
X70.865Y4.256
|
||||
X70.78Y4.378
|
||||
X70.768Y4.398
|
||||
X70.365Y5.073
|
||||
X70.355Y5.093
|
||||
X70.29Y5.22
|
||||
X70.281Y5.24
|
||||
X69.96Y5.986
|
||||
X69.953Y6.006
|
||||
X69.91Y6.123
|
||||
G0Z10
|
||||
|
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
Plik binarny nie jest wyświetlany.
|
@ -675,6 +675,7 @@ async def sampleChunksNAxis(o, pathSamples, layers):
|
|||
lastrunchunks.append([])
|
||||
n = 0
|
||||
|
||||
last_percent=-1
|
||||
lastz = minz
|
||||
for patternchunk in pathSamples:
|
||||
# print (patternchunk.endpoints)
|
||||
|
@ -693,8 +694,10 @@ async def sampleChunksNAxis(o, pathSamples, layers):
|
|||
# #TODO: seems we are writing into the source chunk ,
|
||||
# and that is why we need to write endpoints everywhere too?
|
||||
|
||||
if n / 200.0 == int(n / 200.0):
|
||||
await progress_async('sampling paths', int(100 * n / totlen))
|
||||
percent=int(100 * n / totlen)
|
||||
if percent!=last_percent:
|
||||
await progress_async('sampling paths', percent)
|
||||
last_percent=percent
|
||||
n += 1
|
||||
sampled = False
|
||||
# print(si)
|
||||
|
@ -841,10 +844,10 @@ async def sampleChunksNAxis(o, pathSamples, layers):
|
|||
|
||||
for i, l in enumerate(layers):
|
||||
ch = layeractivechunks[i]
|
||||
if len(ch.points) > 0:
|
||||
if ch.count() > 0:
|
||||
layerchunks[i].append(ch)
|
||||
thisrunchunks[i].append(ch)
|
||||
layeractivechunks[i] = None
|
||||
layeractivechunks[i] = camPathChunkBuilder([])
|
||||
|
||||
if o.strategy == 'PARALLEL' or o.strategy == 'CROSS' or o.strategy == 'OUTLINEFILL':
|
||||
parentChildDist(thisrunchunks[i], lastrunchunks[i], o)
|
||||
|
|
Ładowanie…
Reference in New Issue