Built-in Modules#
These helpers register the conversion sets bundled with the resolver package.
Use them to populate the registry before calling pyvcad_attribute_resolver.adapt().
- pyvcad_attribute_resolver.register_foaming_conversions()[source]#
Register all five foaming filament conversions (TPU + PLA).
- pyvcad_attribute_resolver.register_tpu_conversions()[source]#
Register the three VarioShore TPU conversions.
- pyvcad_attribute_resolver.register_j750_shore_hardness_conversions(material_defs=None, agilus_material=None, vero_material=None)[source]#
Register the J750 shore-hardness to volume-fractions conversion.
By default this resolves the first J750 materials whose names begin with
Agilus30andVero. Callers can override the representative material names when they want a specific color variant.
- pyvcad_attribute_resolver.register_j750_modulus_toughness_conversions(material_defs=None, rigid_material='VeroBlack', soft_material='Agilus30Clr', liquid_material='M.Cleanser', lookup_table_path=None)[source]#
Register the J750 modulus+toughness to volume-fractions conversion.
The bundled lookup table assumes modulus values are provided in MPa and toughness values are provided in MJ/m^3. The shipped table is generated from the legacy C++ inverse model using the default 0.30 liquid cap.
To use a different liquid cap or table resolution, generate a new table file with
generate_j750_modulus_toughness_lookup_table()and pass its path vialookup_table_path.
- pyvcad_attribute_resolver.register_generic_color_conversions(alpha=1.0)[source]#
Register all generic RGB/RGBA color conversions.
- pyvcad_attribute_resolver.register_vector_component_conversions(vec3_source=None, vec3_x=None, vec3_y=None, vec3_z=None, vec4_source=None, vec4_x=None, vec4_y=None, vec4_z=None, vec4_w=None, register_demote=True, register_promote=True)[source]#
Register demote and/or promote conversions for the supplied attribute names.
Pass a complete Vec3 name set and/or a complete Vec4 name set. Incomplete name sets are ignored. At least one complete set must be provided.
- pyvcad_attribute_resolver.register_vec3_to_scalars_conversions(source, x_name, y_name, z_name)[source]#
Register Vec3 demotion edges that produce three named float attributes.
One converter instance produces all three outputs. Separate graph edges are registered for each component so
adapt(..., [x_name])(and likewise for Y/Z) can discover the conversion.
- pyvcad_attribute_resolver.register_vec4_to_scalars_conversions(source, x_name, y_name, z_name, w_name)[source]#
Register Vec4 demotion edges that produce four named float attributes.
- pyvcad_attribute_resolver.register_scalars_to_vec3_conversions(x_name, y_name, z_name, target)[source]#
Register a multi-input conversion that builds a Vec3 from three floats.
- pyvcad_attribute_resolver.register_scalars_to_vec4_conversions(x_name, y_name, z_name, w_name, target)[source]#
Register a multi-input conversion that builds a Vec4 from four floats.