Skip to content

Python package

ra.hidden_halo

A hidden halo under the centre stone.

import rhinoartisan as ra

Wraps ArtisanPlugin.Scripting.HiddenHaloApi.

Functions

Function
all()HiddenHalo handles for every object of this kind in the active document (empty when there is no document).
by_layer()HiddenHalo handles on the layer with the given full path (empty when the layer does not exist).
count()Number of objects of this kind in the active document.
create()Builds a hidden halo — a ring of small stones tucked UNDER an existing gem, facing outward — the ArtisanHiddenHalo tool, headless.
find()The handle for id, or None when the id does not belong to an object of this kind.
for_gem()HiddenHalo handles whose mother gem is gem_id (empty for None).
selected()Hidden halos currently selected in the active doc.

ra.hidden_halo.all()

ra.hidden_halo.all() -> List[HiddenHalo]

HiddenHalo handles for every object of this kind in the active document (empty when there is no document).

ra.hidden_halo.by_layer()

ra.hidden_halo.by_layer(layer_name: str) -> List[HiddenHalo]

HiddenHalo handles on the layer with the given full path (empty when the layer does not exist).

ParameterType
layer_namestrrequired

ra.hidden_halo.count()

ra.hidden_halo.count() -> int

Number of objects of this kind in the active document.

ra.hidden_halo.create()

ra.hidden_halo.create(gem_id: IdLike, stone_size=None, stone_distance=None, channel_width=None, channel_height=None, rail_shape=None, prong_type=None, profile=None, rail_x_length=None, rail_y_length=None, stone_shape=None, distance_to_gem=None, channel_position_z=None, channel_rotation=None, prong_distance=None, force_even_number=None) -> HiddenHalo

Builds a hidden halo — a ring of small stones tucked UNDER an existing gem, facing outward — the ArtisanHiddenHalo tool, headless. gem_id must be a gem in the active document; any center-gem shape works (the rail is parametric, chosen by rail_shape, and does not follow the gem’s outline). Millimetres; omitting keeps the tool default (or the user’s saved defaults): stone_size 0.9, stone_distance 0.10, channel_width 1.1, channel_height 1.0. rail_shape is CIRCLE (default), SQUARE (opens at 5.50 x 5.50) or OVAL (5.50 x 8.70). prong_type is NONE (default), SHARED or SCALLOPED. profile picks a CHANNEL_PROFILE asset by name; omitted = the tool’s “014” channel profile (falling back to the type default). Returns an HiddenHalo handle to the new hidden halo group.

ParameterType
gem_idIdLikerequired
stone_sizefloatoptional — None = the tool default
stone_distancefloatoptional — None = the tool default
channel_widthfloatoptional — None = the tool default
channel_heightfloatoptional — None = the tool default
rail_shapestroptional — None = the tool default
prong_typestroptional — None = the tool default
profilestroptional — None = the tool default
rail_x_lengthfloatoptional — None = the tool default
rail_y_lengthfloatoptional — None = the tool default
stone_shapestroptional — None = the tool default
distance_to_gemfloatoptional — None = the tool default
channel_position_zfloatoptional — None = the tool default
channel_rotationfloatoptional — None = the tool default
prong_distancefloatoptional — None = the tool default
force_even_numberOptional[bool]optional — None = the tool default

ra.hidden_halo.find()

ra.hidden_halo.find(id: IdLike) -> HiddenHalo

The handle for id, or None when the id does not belong to an object of this kind.

ParameterType
idIdLikerequired

ra.hidden_halo.for_gem()

ra.hidden_halo.for_gem(gem_id: IdLike) -> List[HiddenHalo]

HiddenHalo handles whose mother gem is gem_id (empty for None).

ParameterType
gem_idIdLikerequired

ra.hidden_halo.selected()

ra.hidden_halo.selected() -> List[HiddenHalo]

Hidden halos currently selected in the active doc.

Handles

Objects returned by the functions above. Assigning a settable property regenerates the object; the change is one undo step inside ra.transaction().

HiddenHalo (handle)

PropertyTypeSettable
channel_distance_to_gemfloatyes
channel_heightfloatyes
channel_position_zfloatyessigned
channel_rotationfloatyesdegrees, signed
channel_widthfloatyesThe rail section. Rotation defaults to 90 and PositionZ to -0.6: together they are what makes the halo “hidden”.
gem_carat_weightfloat
gem_materialstr
gem_shapestr
layer_namestr
mother_gem_idstr
object_typestr
positionPoint3d
prong_distancefloatyes
rail_shapestryesRing shape of the hidden halo rail: “CIRCLE”, “SQUARE” or “OVAL”.
rail_x_lengthfloatExtents of the SQUARE / OVAL rail (ignored by CIRCLE), millimetres.
rail_y_lengthfloat
stone_countintSmall stones forming the hidden ring (under the center gem)
stone_settingstryes”NONE” | “SHARED” | “SCALLOPED”
stone_shapestryes”ROUND” | “PRINCESS”
stone_sizefloatyes
stone_weightfloat
total_stone_weightfloat
Method
delete()
move(translation: VectorLike)
set_channel_bright_cut(bright_cut: float)
set_channel_inner_height(height: float)
set_channel_inner_width(width: float)
set_channel_profile(asset_name: str)CHANNEL_PROFILE asset
set_force_even_number(force_even: bool)
set_prong_height(height: float)
set_rail_size(x_length: float, y_length: float)SQUARE / OVAL only
set_stone_distance(stone_distance: float)
set_stone_gem_inside(gem_inside: float)signed
set_stone_vertical(vertical: float)signed

Plus what every handle has: id, delete(), update(**kwargs), parameters(), equality and hashing by id, and raw (the underlying .NET object).