|
|
|
|
@ -851,6 +851,44 @@ class AutoRoutingTest(unittest.TestCase):
|
|
|
|
|
self.assertFalse(hasattr(cabinet, "QetRoutingSourceKind"))
|
|
|
|
|
self.assertFalse(hasattr(duct, "QetRoutingSourceKind"))
|
|
|
|
|
|
|
|
|
|
def test_auto_detect_support_surface_refreshes_routing_range_geometry(self):
|
|
|
|
|
_install_fake_freecad()
|
|
|
|
|
terminal_objects, _wiring_objects, routing_network, _auto_routing = _reload_modules()
|
|
|
|
|
doc = FakeDocument()
|
|
|
|
|
terminal_objects.ensure_root_group(doc, "project-1")
|
|
|
|
|
panel = doc.addObject("Part::Feature", "MountingPlateA")
|
|
|
|
|
panel.Label = "安装板A"
|
|
|
|
|
panel.Shape = FakeShape(FakeBoundBox(0, 120, 0, 5, 0, 100))
|
|
|
|
|
|
|
|
|
|
created = routing_network.create_surface_carriers_from_document(
|
|
|
|
|
doc,
|
|
|
|
|
project_uuid="project-1",
|
|
|
|
|
spacing=60.0,
|
|
|
|
|
offset=5.0,
|
|
|
|
|
margin=0.0,
|
|
|
|
|
)
|
|
|
|
|
panel.Shape = FakeShape(FakeBoundBox(20, 140, 0, 5, 0, 100))
|
|
|
|
|
created_again = routing_network.create_surface_carriers_from_document(
|
|
|
|
|
doc,
|
|
|
|
|
project_uuid="project-1",
|
|
|
|
|
spacing=60.0,
|
|
|
|
|
offset=5.0,
|
|
|
|
|
margin=0.0,
|
|
|
|
|
)
|
|
|
|
|
carriers = routing_network.collect_route_carriers(doc)
|
|
|
|
|
x_values = [
|
|
|
|
|
point.x
|
|
|
|
|
for carrier in carriers
|
|
|
|
|
if getattr(carrier, "QetRouteCarrierKind", "") == "RoutingRange"
|
|
|
|
|
for point in carrier.Points
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
self.assertEqual(6, len(created))
|
|
|
|
|
self.assertEqual(0, len(created_again))
|
|
|
|
|
self.assertEqual(6, len([carrier for carrier in carriers if carrier.QetRouteCarrierKind == "RoutingRange"]))
|
|
|
|
|
self.assertEqual(20.0, min(x_values))
|
|
|
|
|
self.assertEqual(140.0, max(x_values))
|
|
|
|
|
|
|
|
|
|
def test_eplan_connection_route_can_use_auto_detected_support_surface(self):
|
|
|
|
|
_install_fake_freecad()
|
|
|
|
|
terminal_objects, _wiring_objects, routing_network, auto_routing = _reload_modules()
|
|
|
|
|
|