def getZAddExtruderPaths( self, z ): "Get next z and add extruder loops." rotatedBoundaryLayer = self.getExtruderPaths( True, trianglemesh.getEmptyZ( self, z ) ) self.rotatedBoundaryLayers.append( rotatedBoundaryLayer ) if self.bridgeLayerThickness == None: return z + self.layerThickness allExtrudateLoops = [] for loop in rotatedBoundaryLayer.loops: allExtrudateLoops += trianglemesh.getBridgeLoops( self.layerThickness, loop ) rotatedBoundaryLayer.rotation = trianglemesh.getBridgeDirection( self.belowLoops, allExtrudateLoops, self.layerThickness ) self.belowLoops = allExtrudateLoops if rotatedBoundaryLayer.rotation == None: return z + self.layerThickness return z + self.bridgeLayerThickness
def getEmptyZExtruderPaths( self, shouldPrintWarning, z ): "Get extruder loops." z = trianglemesh.getEmptyZ(self, z) rotatedBoundaryLayer = euclidean.RotatedLoopLayer(z) visibleObjectLoopsList = booleansolid.getVisibleObjectLoopsList( self.importRadius, evaluate.getVisibleObjects(self.archivableObjects), z ) rotatedBoundaryLayer.loops = euclidean.getConcatenatedList( visibleObjectLoopsList ) if euclidean.isLoopListIntersecting(rotatedBoundaryLayer.loops): rotatedBoundaryLayer.loops = booleansolid.getLoopsUnified(self.importRadius, visibleObjectLoopsList) if shouldPrintWarning: print('Warning, the triangle mesh slice intersects itself in getExtruderPaths in boolean_geometry.') print( "Something will still be printed, but there is no guarantee that it will be the correct shape." ) print('Once the gcode is saved, you should check over the layer with a z of:') print(z) return rotatedBoundaryLayer
def getZAddExtruderPaths(self, z): "Get next z and add extruder loops." rotatedBoundaryLayer = self.getExtruderPaths( True, trianglemesh.getEmptyZ(self, z)) self.rotatedBoundaryLayers.append(rotatedBoundaryLayer) if self.bridgeLayerThickness == None: return z + self.layerThickness allExtrudateLoops = [] for loop in rotatedBoundaryLayer.loops: allExtrudateLoops += trianglemesh.getBridgeLoops( self.layerThickness, loop) rotatedBoundaryLayer.rotation = trianglemesh.getBridgeDirection( self.belowLoops, allExtrudateLoops, self.layerThickness) self.belowLoops = allExtrudateLoops if rotatedBoundaryLayer.rotation == None: return z + self.layerThickness return z + self.bridgeLayerThickness