Exemple #1
0
    def test_unknownAdhesion(self, build_volume: BuildVolume):
        build_volume._global_container_stack = self.createMockedStack()
        with patch(
                "cura.Settings.ExtruderManager.ExtruderManager.getInstance"):
            #with pytest.raises(Exception):
            # Since we don't have any adhesion set, this should break.

            build_volume.getEdgeDisallowedSize()
Exemple #2
0
    def test_noExtruders(self, build_volume: BuildVolume):
        mocked_stack = MagicMock()
        mocked_stack.getProperty = MagicMock(
            side_effect=self.getPropertySideEffect)

        build_volume._global_container_stack = mocked_stack
        # No extruders, so still expect that we get no area
        assert build_volume._computeDisallowedAreasPrimeBlob(12, []) == {}
Exemple #3
0
    def test_computeDisallowedAreasStaticNoExtruder(self,
                                                    build_volume: BuildVolume):
        mocked_stack = MagicMock()
        mocked_stack.getProperty = MagicMock(
            side_effect=self.getPropertySideEffect)

        build_volume._global_container_stack = mocked_stack
        assert build_volume._computeDisallowedAreasStatic(0, []) == {}
Exemple #4
0
 def test_happy(self, build_volume: BuildVolume):
     mocked_global_stack = MagicMock(name="mocked_global_stack")
     mocked_global_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect)
     build_volume._global_container_stack = mocked_global_stack
     build_volume._updateMachineSizeProperties()
     assert build_volume._width == 50
     assert build_volume._height == 200
     assert build_volume._depth == 100
     assert build_volume._shape == "DERP!"
Exemple #5
0
 def test_oneAtATime(self, build_volume: BuildVolume):
     build_volume._global_container_stack = self.createMockedStack()
     with patch(
             "cura.Settings.ExtruderManager.ExtruderManager.getInstance"):
         with patch.dict(self.setting_property_dict,
                         {"print_sequence": {
                             "value": "one_at_a_time"
                         }}):
             assert build_volume.getEdgeDisallowedSize() == 0.1
Exemple #6
0
    def test_withRetractionHop(self, build_volume: BuildVolume):
        mocked_global_stack = MagicMock(name="mocked_global_stack")

        mocked_extruder = MagicMock()
        mocked_extruder.getProperty = MagicMock(side_effect=self.getPropertySideEffect)

        build_volume._global_container_stack = mocked_global_stack

        # It should be 12 because we have the hop enabled and the hop distance is set to 12
        assert build_volume._calculateExtraZClearance([mocked_extruder]) == 12
Exemple #7
0
    def test_adhesionIsNotRaft(self, build_volume: BuildVolume):
        patched_dictionary = self.setting_property_dict.copy()
        patched_dictionary["adhesion_type"] = {"value": "not_raft"}

        mocked_global_stack = self.createMockedStack()
        build_volume._global_container_stack = mocked_global_stack

        assert build_volume.getRaftThickness() == 0
        with patch.dict(self.setting_property_dict, patched_dictionary):
            build_volume._updateRaftThickness()
        assert build_volume.getRaftThickness() == 0
Exemple #8
0
    def test_computeDisalowedAreasStaticSingleExtruder(self, build_volume: BuildVolume):
        mocked_stack = MagicMock()
        mocked_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect)

        mocked_extruder = MagicMock()
        mocked_extruder.getProperty = MagicMock(side_effect=self.getPropertySideEffect)
        mocked_extruder.getId = MagicMock(return_value = "zomg")

        build_volume._global_container_stack = mocked_stack
        with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance"):
            result = build_volume._computeDisallowedAreasStatic(0, [mocked_extruder])
            assert result == {"zomg": [Polygon([[-84.0, 102.5], [-115.0, 102.5], [-200.0, 112.5], [-82.0, 112.5]])]}
Exemple #9
0
    def test_withoutRetractionHop(self, build_volume: BuildVolume):
        mocked_global_stack = MagicMock(name="mocked_global_stack")

        mocked_extruder = MagicMock()
        mocked_extruder.getProperty = MagicMock(side_effect=self.getPropertySideEffect)

        build_volume._global_container_stack = mocked_global_stack

        patched_dictionary = self.setting_property_dict.copy()
        patched_dictionary["retraction_hop_enabled"] = {"value": False}
        with patch.dict(self.setting_property_dict, patched_dictionary):
            # It should be 12 because we have the hop enabled and the hop distance is set to 12
            assert build_volume._calculateExtraZClearance([mocked_extruder]) == 0
 def test_singleExtruder(self, build_volume: BuildVolume, setting_dict,
                         result):
     self.createAndSetGlobalStack(build_volume)
     patched_dictionary = self.setting_property_dict.copy()
     patched_dictionary.update(setting_dict)
     with patch.dict(self.setting_property_dict, patched_dictionary):
         assert build_volume._calculateBedAdhesionSize([]) == result
Exemple #11
0
    def test_singleExtruder(self, build_volume: BuildVolume):
        mocked_global_stack = MagicMock(name = "mocked_global_stack")
        mocked_global_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect)

        mocked_extruder_stack = MagicMock(name = "mocked_extruder_stack")
        mocked_extruder_stack.getId = MagicMock(return_value = "0")
        mocked_extruder_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect)

        build_volume._global_container_stack = mocked_global_stack

        # Create a polygon that should be the result
        resulting_polygon = Polygon.approximatedCircle(PRIME_CLEARANCE)
        # Since we want a blob of size 12;
        resulting_polygon = resulting_polygon.getMinkowskiHull(Polygon.approximatedCircle(12))
        # In the The translation result is 25, -50 (due to the settings used)
        resulting_polygon = resulting_polygon.translate(25, -50)
        assert build_volume._computeDisallowedAreasPrimeBlob(12, [mocked_extruder_stack]) == {"0": [resulting_polygon]}
Exemple #12
0
 def test_singleExtruder(self, build_volume: BuildVolume, setting_dict, result):
     self.createAndSetGlobalStack(build_volume)
     patched_dictionary = self.setting_property_dict.copy()
     patched_dictionary.update(setting_dict)
     patched_dictionary.update({
         "skirt_brim_extruder_nr": {"value": 0},
         "raft_base_extruder_nr": {"value": 0},
         "raft_interface_extruder_nr": {"value": 0},
         "raft_surface_extruder_nr": {"value": 0}
     })
     with patch.dict(self.setting_property_dict, patched_dictionary):
         assert build_volume._calculateBedAdhesionSize([]) == result
Exemple #13
0
    def test_simple(self, build_volume: BuildVolume):
        build_volume.raftThicknessChanged = MagicMock()
        mocked_global_stack = self.createMockedStack()
        build_volume._global_container_stack = mocked_global_stack

        assert build_volume.getRaftThickness() == 0
        build_volume._updateRaftThickness()
        assert build_volume.getRaftThickness() == 3
        assert build_volume.raftThicknessChanged.emit.call_count == 1
Exemple #14
0
    def test_simple(self, build_volume: BuildVolume):
        build_volume.raftThicknessChanged = MagicMock()
        mocked_global_stack = self.createMockedStack()
        build_volume._global_container_stack = mocked_global_stack

        assert build_volume.getRaftThickness() == 0
        build_volume._updateRaftThickness()
        assert build_volume.getRaftThickness(
        ) == 6  # 1 base layer of 1mm, 2 interface layers of 1mm each, 3 surface layer of 1mm.
        assert build_volume.raftThicknessChanged.emit.call_count == 1
Exemple #15
0
def build_volume() -> BuildVolume:
    mocked_application = MagicMock()
    mocked_platform = MagicMock(name="platform")
    with patch("cura.BuildVolume.Platform", mocked_platform):
        return BuildVolume(mocked_application)
Exemple #16
0
 def test_noGlobalContainer(self, build_volume: BuildVolume):
     assert build_volume.getEdgeDisallowedSize() == 0
Exemple #17
0
 def test_noGlobalStack(self, build_volume: BuildVolume):
     build_volume._updateMachineSizeProperties()
     assert build_volume._width == 0
     assert build_volume._height == 0
     assert build_volume._depth == 0
     assert build_volume._shape == ""
Exemple #18
0
    def test_updateBoundingBox(self, build_volume: BuildVolume):
        build_volume.setWidth(10)
        build_volume.setHeight(10)
        build_volume.setDepth(10)

        mocked_global_stack = MagicMock()
        mocked_global_stack.getProperty = MagicMock(
            side_effect=self.getPropertySideEffect)
        build_volume._global_container_stack = mocked_global_stack
        build_volume.getEdgeDisallowedSize = MagicMock(return_value=0)
        build_volume.updateNodeBoundaryCheck = MagicMock()

        # Fake the the "engine is created callback"
        build_volume._onEngineCreated()
        build_volume.rebuild()

        bounding_box = build_volume.getBoundingBox()
        assert bounding_box.minimum == Vector(-5.0, -1.0, -5.0)
        assert bounding_box.maximum == Vector(5.0, 10.0, 5.0)
Exemple #19
0
 def test_noGlobalStack(self, build_volume: BuildVolume):
     build_volume.setWidth(10)
     build_volume.setHeight(10)
     build_volume.setDepth(10)
     # Fake the the "engine is created callback"
     build_volume._onEngineCreated()
     build_volume.rebuild()
     assert build_volume.getMeshData() is None
Exemple #20
0
 def test_engineIsNotRead(self, build_volume: BuildVolume):
     build_volume.setWidth(10)
     build_volume.setHeight(10)
     build_volume.setDepth(10)
     build_volume.rebuild()
     assert build_volume.getMeshData() is None
Exemple #21
0
 def test_zeroWidthHeightDepth(self, build_volume: BuildVolume):
     build_volume.rebuild()
     assert build_volume.getMeshData() is None
Exemple #22
0
 def test_noContainerStack(self, build_volume: BuildVolume):
     assert build_volume._calculateExtraZClearance([]) == 0
Exemple #23
0
 def test_noGlobalContainer(self, build_volume: BuildVolume):
     # No global container and no extruders, so we expect no blob areas
     assert build_volume._computeDisallowedAreasPrimeBlob(12, []) == {}
Exemple #24
0
 def test_noGlobalStack(self, build_volume: BuildVolume):
     build_volume.raftThicknessChanged = MagicMock()
     assert build_volume.getRaftThickness() == 0
     build_volume._updateRaftThickness()
     assert build_volume.getRaftThickness() == 0
     assert build_volume.raftThicknessChanged.emit.call_count == 0
Exemple #25
0
 def test_noGlobalStack(self, build_volume: BuildVolume):
     assert build_volume._calculateBedAdhesionSize([]) is None