Add support margin setting to SF and Cura.
This commit is contained in:
parent
a5fdfdb55a
commit
c2c1e0fd63
3 changed files with 12 additions and 6 deletions
|
@ -237,6 +237,7 @@ def getProfileInformation():
|
|||
'Support_Gap_over_Perimeter_Extrusion_Width_ratio': calcSupportDistanceRatio,
|
||||
'Support_Material_Choice_': storedSetting('support'),
|
||||
'Support_Minimum_Angle_degrees': DEFSET,
|
||||
'Support_Margin_mm': storedSettingFloat('support_margin'),
|
||||
},'skirt': {
|
||||
'Skirt_line_count': storedSetting("skirt_line_count"),
|
||||
'Convex': "True",
|
||||
|
|
|
@ -400,6 +400,8 @@ class RaftRepository:
|
|||
self.supportChoiceExteriorOnly = settings.MenuRadio().getFromMenuButtonDisplay(self.supportMaterialChoice, 'Exterior Only', self, False)
|
||||
self.supportMinimumAngle = settings.FloatSpin().getFromValue(40.0, 'Support Minimum Angle (degrees):', self, 80.0, 60.0)
|
||||
self.executeTitle = 'Raft'
|
||||
self.supportMargin = settings.FloatSpin().getFromValue(
|
||||
1.0, 'Support Margin (mm):', self, 5.0, 3.0)
|
||||
|
||||
def execute(self):
|
||||
'Raft button has been clicked.'
|
||||
|
@ -596,6 +598,7 @@ class RaftSkein:
|
|||
self.cornerMinimumComplex = self.cornerMinimum.dropAxis()
|
||||
originalExtent = self.cornerMaximumComplex - self.cornerMinimumComplex
|
||||
self.raftOutsetRadius = self.repository.raftMargin.value + self.repository.raftAdditionalMarginOverLengthPercent.value * 0.01 * max(originalExtent.real, originalExtent.imag)
|
||||
self.supportOutsetRadius = self.repository.supportMargin.value
|
||||
self.setBoundaryLayers()
|
||||
outsetSeparateLoops = intercircle.getInsetSeparateLoopsFromLoops(self.boundaryLayers[0].loops, -self.raftOutsetRadius, 0.8)
|
||||
self.interfaceIntersectionsTable = {}
|
||||
|
@ -1035,7 +1038,7 @@ class RaftSkein:
|
|||
euclidean.joinXIntersectionsTables(aboveXIntersectionsTable, xIntersectionsTable)
|
||||
for supportLayerIndex in xrange(len(self.supportLayers)):
|
||||
supportLayer = self.supportLayers[supportLayerIndex]
|
||||
self.extendXIntersections(supportLayer.supportLoops, self.raftOutsetRadius, supportLayer.xIntersectionsTable)
|
||||
self.extendXIntersections(supportLayer.supportLoops, self.supportOutsetRadius, supportLayer.xIntersectionsTable)
|
||||
for supportLayer in self.supportLayers:
|
||||
euclidean.subtractXIntersectionsTable(supportLayer.xIntersectionsTable, supportLayer.fillXIntersectionsTable)
|
||||
self.addSegmentTablesToSupportLayers()
|
||||
|
|
|
@ -32,17 +32,19 @@ class expertConfigWindow(configBase.configWindowBase):
|
|||
validators.validInt(c, 0, 100)
|
||||
|
||||
configBase.TitleRow(left, "Raft (if enabled)")
|
||||
c = configBase.SettingRow(left, "Raft extra margin (mm)", 'raft_margin', '3.0', 'If the raft is enabled, this is the extra raft area around the object which is also rafted. Increasing this margin will create a stronger raft.')
|
||||
c = configBase.SettingRow(left, "Extra margin (mm)", 'raft_margin', '3.0', 'If the raft is enabled, this is the extra raft area around the object which is also rafted. Increasing this margin will create a stronger raft.')
|
||||
validators.validFloat(c, 0.0)
|
||||
c = configBase.SettingRow(left, "Raft base material amount (%)", 'raft_base_material_amount', '100', 'The base layer is the first layer put down as a raft. This layer has thick strong lines and is put firmly on the bed to prevent warping. This setting adjust the amount of material used for the base layer.')
|
||||
c = configBase.SettingRow(left, "Base material amount (%)", 'raft_base_material_amount', '100', 'The base layer is the first layer put down as a raft. This layer has thick strong lines and is put firmly on the bed to prevent warping. This setting adjust the amount of material used for the base layer.')
|
||||
validators.validFloat(c, 0.0)
|
||||
c = configBase.SettingRow(left, "Raft interface material amount (%)", 'raft_interface_material_amount', '100', 'The interface layer is a weak thin layer between the base layer and the printed object. It is designed to has little material to make it easy to break the base off the printed object. This setting adjusts the amount of material used for the interface layer.')
|
||||
c = configBase.SettingRow(left, "Interface material amount (%)", 'raft_interface_material_amount', '100', 'The interface layer is a weak thin layer between the base layer and the printed object. It is designed to has little material to make it easy to break the base off the printed object. This setting adjusts the amount of material used for the interface layer.')
|
||||
validators.validFloat(c, 0.0)
|
||||
|
||||
configBase.TitleRow(left, "Support")
|
||||
c = configBase.SettingRow(left, "Support material amount (%)", 'support_rate', '100', 'Amount of material used for support, less material gives a weaker support structure which is easier to remove.')
|
||||
c = configBase.SettingRow(left, "Material amount (%)", 'support_rate', '100', 'Amount of material used for support, less material gives a weaker support structure which is easier to remove.')
|
||||
validators.validFloat(c, 0.0)
|
||||
c = configBase.SettingRow(left, "Support distance from object (mm)", 'support_distance', '0.5', 'Distance between the support structure and the object.')
|
||||
c = configBase.SettingRow(left, "Distance from object (mm)", 'support_distance', '0.5', 'Distance between the support structure and the object. Empty gap in which no support structure is printed.')
|
||||
validators.validFloat(c, 0.0)
|
||||
c = configBase.SettingRow(left, "Extra margin (mm)", 'support_margin', '3.0', 'Extra margin which is used to extend the support lines outwards. A margin of 0 generates support structure only directly underneath the model.')
|
||||
validators.validFloat(c, 0.0)
|
||||
|
||||
configBase.TitleRow(right, "Infill")
|
||||
|
|
Loading…
Reference in a new issue