GabionSectionProfile#

Gabion section profile library entry.

For batter vs setback distance: prefer setBatterAngleMode(...) (or call setUseLayerSetbackDistance(False) before setUniformAngleBatter).

Proxy object representing a gabion section profile in RSWall.

class rswall.GabionSectionProfile.GabionSectionProfile#

Bases: _ProxyObject

Represents a gabion section profile in a gabion RSWall project.

Wraps a GabionSectionProfileData entry in the project property library.

property name: str#

Get the cached profile name.

getProfileDetails()#

Read the full section profile state in one call.

Return type:

Dict[str, Any]

Returns:

Dict with courses, setback, batter, and uniform-mode fields.

getColour()#

Return profile colour as (red, green, blue, alpha) 0-255.

Return type:

Tuple[int, int, int, int]

setColour(red, green, blue, alpha=255)#

Set profile colour using RGBA components (0-255).

Return type:

None

Parameters:
getColor()#

Alias for getColour().

Return type:

Tuple[int, int, int, int]

setColor(red, green, blue, alpha=255)#

Alias for setColour().

Return type:

None

Parameters:
getNumCourses()#

Number of wall courses in this profile.

Return type:

int

setNumCourses(numCourses)#

Set the number of wall courses (minimum 1).

Return type:

None

Parameters:

numCourses (int)

getUseUniformWallUnitData()#

True when all courses share the uniform wall unit.

Return type:

bool

setUseUniformWallUnitData(useUniformWallUnitData)#

Toggle uniform vs per-course wall unit assignment.

NCMA projects always use uniform wall-unit data. Passing False raises FailedPrecondition (the UI also forces uniform assignment for NCMA).

Return type:

None

Parameters:

useUniformWallUnitData (bool)

getUniformWallUnitName()#

Name of the wall unit applied uniformly to all courses.

Return type:

str

setUniformWallUnitName(uniformWallUnitName)#

Set the uniform wall unit by library name.

Also enables useUniformWallUnitData and applies the unit to every course. Per-course units need setUseUniformWallUnitData(False) first, which NCMA projects reject.

Return type:

None

Parameters:

uniformWallUnitName (str)

getUseUniformSetback()#

True when all courses share the uniform setback distance.

Return type:

bool

setUseUniformSetback(useUniformSetback)#

Toggle uniform vs per-course setback assignment.

Return type:

None

Parameters:

useUniformSetback (bool)

getUseLayerSetbackDistance()#

Whether horizontal setback distance is used between courses.

Return type:

bool

setUseLayerSetbackDistance(useLayerSetbackDistance)#

Select the setback mode: distance (True) or batter-angle (False).

Warning

The default is True (distance). Calling setUniformAngleBatter without first calling setUseLayerSetbackDistance(False) stores the angle but continues rendering in distance mode. Prefer setBatterAngleMode(...) to switch mode and set the angle together.

Return type:

None

Parameters:

useLayerSetbackDistance (bool)

getUniformLayerSetbackDistance()#

Uniform horizontal setback in project native very-small-length units.

Return type:

float

setUniformLayerSetbackDistance(uniformLayerSetbackDistance)#

Set uniform horizontal setback (non-negative; project very-small-length units).

Also enables useUniformSetback and applies the distance to every course.

Return type:

None

Parameters:

uniformLayerSetbackDistance (float)

getUniformAngleBatter()#

Uniform batter angle in degrees.

Return type:

float

setUniformAngleBatter(uniformAngleBatter)#

Set uniform batter angle in degrees (UI range [0, 30]).

WARNING: This stores the angle value but does NOT switch the profile to batter-angle mode and does not change geometry until setUseLayerSetbackDistance(False). The profile defaults to distance mode (useLayerSetbackDistance=True). If you only call this method the angle is stored but the wall geometry continues to be governed by the setback distance, making this call effectively a no-op for rendering.

To switch to batter-angle mode AND set the angle, use setBatterAngleMode(degrees) instead. Alternatively, call setUseLayerSetbackDistance(False) first, then this method.

Return type:

None

Parameters:

uniformAngleBatter (float)

setBatterAngleMode(uniformAngleBatter)#

Switch to batter-angle mode and set the angle.

Equivalent to the RSWall UI “Batter Angle” radio-button selection followed by entering the angle. This is the recommended method when you want to set a batter angle from scripting, as it guarantees the mode flag is also updated.

Uses existing setUseLayerSetbackDistance(False) + setUniformAngleBatter; there is no separate RPC endpoint.

Return type:

None

Parameters:

uniformAngleBatter (float)

getElevationAtToe()#

Bottom course elevation in project native length units.

Return type:

float

setElevationAtToe(elevationAtToe)#

Set bottom course elevation in project native length units.

Return type:

None

Parameters:

elevationAtToe (float)

setCourseWallUnitName(courseNumber, wallUnitName)#

Assign a wall unit to a single course (requires non-uniform mode).

Return type:

None

Parameters:
  • courseNumber (int)

  • wallUnitName (str)

setCourseSetbackDistance(courseNumber, setbackDistance)#

Set setback for a single course (non-negative; requires non-uniform setback mode).

Return type:

None

Parameters:
  • courseNumber (int)

  • setbackDistance (float)

getUseUniformBasketCount()#

True when all courses share the uniform basket count.

Return type:

bool

setUseUniformBasketCount(useUniformBasketCount)#

Toggle uniform vs per-course basket count assignment.

Return type:

None

Parameters:

useUniformBasketCount (bool)

getUniformBasketCount()#

Basket count applied uniformly to all courses.

Return type:

int

setUniformBasketCount(uniformBasketCount)#

Set uniform basket count (minimum 1).

Also enables useUniformBasketCount and applies the count to every course. For a staircase / per-course pattern, call setUseUniformBasketCount(False) then setCourseBasketCount per layer instead.

Return type:

None

Parameters:

uniformBasketCount (int)

getBasketTiltAngle()#

Whole-wall basket tilt angle in degrees.

Return type:

float

setBasketTiltAngle(basketTiltAngle)#

Set whole-wall basket tilt angle in degrees (UI range [0, 30]).

Return type:

None

Parameters:

basketTiltAngle (float)

setCourseBasketCount(courseNumber, basketCount)#

Set basket count for a single course (requires non-uniform basket mode).

Return type:

None

Parameters:
  • courseNumber (int)

  • basketCount (int)

setName(name)#

Set the profile display name.

Return type:

None

Parameters:

name (str)