|
|
|
|
@ -2193,6 +2193,7 @@ def create_routing_path_network_from_document(
|
|
|
|
|
selection_ex=None,
|
|
|
|
|
terminal_exit_length=20.0,
|
|
|
|
|
terminal_access_max_distance=DEFAULT_TERMINAL_ACCESS_MAX_DISTANCE,
|
|
|
|
|
adjoining_duct_tolerance=DEFAULT_ADJOINING_DUCT_TOLERANCE,
|
|
|
|
|
):
|
|
|
|
|
"""Generate the EPLAN-style routing path network for the layout space.
|
|
|
|
|
|
|
|
|
|
@ -2254,7 +2255,10 @@ def create_routing_path_network_from_document(
|
|
|
|
|
"surface_carriers": len(surfaces),
|
|
|
|
|
"terminal_access_carriers": len(terminal_access),
|
|
|
|
|
"layout_space": layout_space,
|
|
|
|
|
"network": network_summary(doc),
|
|
|
|
|
"network": network_summary(
|
|
|
|
|
doc,
|
|
|
|
|
adjoining_duct_tolerance=adjoining_duct_tolerance,
|
|
|
|
|
),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2820,8 +2824,8 @@ def path_points(network, path_keys):
|
|
|
|
|
return [nodes[key] for key in path_keys or [] if key in nodes]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def network_summary(doc):
|
|
|
|
|
network = build_route_graph(doc)
|
|
|
|
|
def network_summary(doc, adjoining_duct_tolerance=DEFAULT_ADJOINING_DUCT_TOLERANCE):
|
|
|
|
|
network = build_route_graph(doc, adjoining_duct_tolerance=adjoining_duct_tolerance)
|
|
|
|
|
return _network_summary_from_graph(network)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2927,12 +2931,13 @@ def diagnose_routing_path_network(
|
|
|
|
|
doc,
|
|
|
|
|
terminal_exit_length=20.0,
|
|
|
|
|
terminal_access_max_distance=DEFAULT_TERMINAL_ACCESS_MAX_DISTANCE,
|
|
|
|
|
adjoining_duct_tolerance=DEFAULT_ADJOINING_DUCT_TOLERANCE,
|
|
|
|
|
):
|
|
|
|
|
"""Inspect the generated routing path network without routing wires."""
|
|
|
|
|
if doc is None:
|
|
|
|
|
raise RoutingNetworkError("No FreeCAD document is available.")
|
|
|
|
|
|
|
|
|
|
network = build_route_graph(doc)
|
|
|
|
|
network = build_route_graph(doc, adjoining_duct_tolerance=adjoining_duct_tolerance)
|
|
|
|
|
components = _route_graph_components(network)
|
|
|
|
|
summary = _network_summary_from_graph(network)
|
|
|
|
|
isolated_components = components if len(components) > 1 else []
|
|
|
|
|
@ -3053,11 +3058,13 @@ def write_routing_path_network_diagnostic(
|
|
|
|
|
project_uuid="",
|
|
|
|
|
terminal_exit_length=20.0,
|
|
|
|
|
terminal_access_max_distance=DEFAULT_TERMINAL_ACCESS_MAX_DISTANCE,
|
|
|
|
|
adjoining_duct_tolerance=DEFAULT_ADJOINING_DUCT_TOLERANCE,
|
|
|
|
|
):
|
|
|
|
|
diagnostic = diagnose_routing_path_network(
|
|
|
|
|
doc,
|
|
|
|
|
terminal_exit_length=terminal_exit_length,
|
|
|
|
|
terminal_access_max_distance=terminal_access_max_distance,
|
|
|
|
|
adjoining_duct_tolerance=adjoining_duct_tolerance,
|
|
|
|
|
)
|
|
|
|
|
group = WiringObjects.ensure_diagnostic_group(doc, project_uuid)
|
|
|
|
|
_clear_routing_path_network_diagnostics(doc, group)
|
|
|
|
|
|