Physical Constraint Anchors: Solving the "M3 Hole" and "Lens Gear" Scaling Problem
The Problem:
Standard scaling in slicers is purely geometric —it ignores physical function. When a user scales a part to fit a larger space, critical functional features (screw holes, gear teeth, wall thicknesses) scale with it, rendering the part useless without a trip back to CAD.
The Proposal:
Physical Mesh Anchors I’m proposing a system where specific regions of a mesh can be assigned a "Physical Constraint." When a global scale is applied to the object, the slicer applies an inverse transformation to the vertices within these constraint volumes, anchoring them to their original physical dimensions.
Example 1: The M3 Mounting Hole. Instead of an M3 hole scaling to M4.5, a "Constraint Cylinder" around the hole calculates the centroid and maintains the vertex-to-centroid distance at 1.5mm (for a 3mm ID), regardless of the object's scale factor.
Example 2: The Parametric Lens Gear (The Math)For a lens gear ring, the tooth profile must remain constant to mesh with a standard 0.8 Mod follow-focus gear, regardless of the lens diameter.
The logic for the anchor would be:
Constant: Tooth Height (H) and Circular Pitch (P=0.8mm x π).
Variable: Lens Outer Diameter (D).
Logic: As the ring diameter (D) is scaled in the slicer, the anchor logic prevents the tooth profile from stretching. Instead, it maintains the tooth geometry and simply recalculates the population (N) based on the new circumference (C):$$N = \frac{\pi \times D}{P}$$
The Logic Engine (Pseudocode):
Python
Inverse Transform Logic for vertex in constraint_volume:
Calculate vector from anchor point
vector = vertex.pos - anchor_centroid
Apply inverse of the global scale to keep geometry 1:1
vertex.pos = anchor_centroid + (vector / global_scale_factor)
Goal: I am a mechanical engineer looking for developers familiar with the OrcaSlicer/Slic3r C++ kernel to discuss how we can implement these "Non-Scaling" modifier volumes. If we can anchor vertex groups to a centroid, we can make models truly "remixable" for everyone, not just CAD power users. Who is currently working on mesh transformation logic or the transformation matrix within Orca?