wizard_requirements#

Normalize Wall Wizard page-2 design-requirement kwargs to GUI defaults.

Normalize Wall Wizard design-requirements kwargs to GUI defaults.

Mirrors WallRequirementsUCVM (Wall > Multi-Segment Wall > Wizard, page 2).

Length fields minimum_segment_length and minimum_embedment_depth use 0 (or negative) as a sentinel for “use GUI default”. The C# service remaps those sentinels to 10 m / 0.3 m in the project’s native length unit — this module must not hard-code meter values on the wire.

rswall.wizard_requirements.normalize_wizard_requirements(*, minimum_segment_length=0.0, minimum_embedment_depth=0.0, reference_block_elevation=0.0, keep_bottom_at_same_elevation=False, keep_top_at_same_elevation=False, define_courses_setback=False, use_layer_setback_distance=True, layer_setback_distance_mm=25.0, batter_angle_degrees=0.0, flip_backslope=False)#

Return requirements kwargs aligned with Wall Wizard page-2 GUI defaults.

For minimum_segment_length / minimum_embedment_depth, values <= 0 are kept as 0.0 so WallWizardLogic can apply the GUI default in native project units (10 m / 0.3 m). Explicit positive values are preserved.

use_layer_setback_distance defaults to True (GUI distance mode). When define_courses_setback is enabled and setback distance is <= 0, remap to the GUI default of 25 mm. Positive values below the GUI spin minimum (0.01 mm) raise ValueError.

Return type:

Dict[str, Any]

Parameters:
  • minimum_segment_length (float)

  • minimum_embedment_depth (float)

  • reference_block_elevation (float)

  • keep_bottom_at_same_elevation (bool)

  • keep_top_at_same_elevation (bool)

  • define_courses_setback (bool)

  • use_layer_setback_distance (bool)

  • layer_setback_distance_mm (float)

  • batter_angle_degrees (float)

  • flip_backslope (bool)

rswall.wizard_requirements.normalize_wizard_requirements_from_mapping(options=None, **overrides)#

Build normalized requirements from an options mapping plus keyword overrides.

Unknown keys raise ValueError (same contract as generateMultiSegmentWall).

Return type:

Dict[str, Any]

Parameters:
rswall.wizard_requirements.describe_applied_wizard_requirements(reqs)#

Build an MCP-friendly echo of normalized page-2 requirements.

Length sentinels (0) include a *Note explaining the GUI default the server applies in project native units. Explicit positives are echoed as-is.

Return type:

Dict[str, Any]

Parameters:

reqs (Mapping[str, Any])