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
Beispiel #2
0
	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