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_pla_conversions()[source]#

Register the two LW-PLA 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 Agilus30 and Vero. 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 via lookup_table_path.

pyvcad_attribute_resolver.generate_j750_modulus_toughness_lookup_table(output_path=None, table_size=128, max_liquid_volume=0.3, fail_threshold=0.05)[source]#

Generate a J750 modulus+toughness lookup-table JSON file.

pyvcad_attribute_resolver.generate_j750_modulus_toughness_reachable_region_plot(output_path, lookup_table_path=None, table_size=128, max_liquid_volume=0.3, fail_threshold=0.05, fraction_steps=181)[source]#

Generate the reachable-region validation plot used in the docs.