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).
| Parameter | Type | |
|---|---|---|
layer_name | str | required |
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.
| Parameter | Type | |
|---|---|---|
gem_id | IdLike | required |
stone_size | float | optional — None = the tool default |
stone_distance | float | optional — None = the tool default |
channel_width | float | optional — None = the tool default |
channel_height | float | optional — None = the tool default |
rail_shape | str | optional — None = the tool default |
prong_type | str | optional — None = the tool default |
profile | str | optional — None = the tool default |
rail_x_length | float | optional — None = the tool default |
rail_y_length | float | optional — None = the tool default |
stone_shape | str | optional — None = the tool default |
distance_to_gem | float | optional — None = the tool default |
channel_position_z | float | optional — None = the tool default |
channel_rotation | float | optional — None = the tool default |
prong_distance | float | optional — None = the tool default |
force_even_number | Optional[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.
| Parameter | Type | |
|---|---|---|
id | IdLike | required |
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).
| Parameter | Type | |
|---|---|---|
gem_id | IdLike | required |
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)
| Property | Type | Settable | |
|---|---|---|---|
channel_distance_to_gem | float | yes | |
channel_height | float | yes | |
channel_position_z | float | yes | signed |
channel_rotation | float | yes | degrees, signed |
channel_width | float | yes | The rail section. Rotation defaults to 90 and PositionZ to -0.6: together they are what makes the halo “hidden”. |
gem_carat_weight | float | ||
gem_material | str | ||
gem_shape | str | ||
layer_name | str | ||
mother_gem_id | str | ||
object_type | str | ||
position | Point3d | ||
prong_distance | float | yes | |
rail_shape | str | yes | Ring shape of the hidden halo rail: “CIRCLE”, “SQUARE” or “OVAL”. |
rail_x_length | float | Extents of the SQUARE / OVAL rail (ignored by CIRCLE), millimetres. | |
rail_y_length | float | ||
stone_count | int | Small stones forming the hidden ring (under the center gem) | |
stone_setting | str | yes | ”NONE” | “SHARED” | “SCALLOPED” |
stone_shape | str | yes | ”ROUND” | “PRINCESS” |
stone_size | float | yes | |
stone_weight | float | ||
total_stone_weight | float |
| 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).