A slider can keep one value inside a range, but a product is safe only when the relationships between its inputs remain valid. A narrow organizer may support two compartments but fail with six. A scraper can keep every control-point (CP) variable inside its individual range while the combined profile becomes too thin or unusable.
A safe parameter space is the set of combinations that preserve geometry, printability, fit, strength, cost assumptions, and the product promise.
This article continues Parametric Goods: From Customer Choice to Printable Product with a general method for controlling a product family. Text-specific rules remain in Text as Geometry.
A range is not a design rule
If a project exposes three independent variables, their minimum and maximum values define a box of possible inputs. For width (w), count (n), and wall thickness (t), that unconstrained box is
Only part of that box may represent products worth manufacturing. The safe region is the subset whose design conditions all remain true:
The conditions might preserve a minimum compartment width, keep a support over the base, retain enough material around a hole, or hold estimated print time below the option sold in the listing. Some conditions are geometric, while others come from the printer, material, hardware, or business process.
This is why moving every slider through its range is an incomplete test. The important failures often live at intersections: maximum count with minimum width, maximum device size with minimum footprint, or minimum thickness with the largest unsupported span.
Separate order inputs from construction variables
A product generator becomes easier to reason about when its variables have distinct jobs.
| Variable class | Purpose | Organizer example | Seller interaction |
|---|---|---|---|
| Order input | Represents a customer choice or listing variation | tray width, tray depth, compartment count | Entered for each order |
| Production setting | Represents a tested manufacturing decision | wall thickness, corner radius | Usually left at a validated preset |
| Derived variable | Calculates construction geometry from other values | divider count, divider spacing, usable width | Visible for diagnosis but not edited routinely |
| Validation signal | Reports whether a requirement is satisfied | minimum compartment width passed | Checked before export |
The seller should enter the order, not reconstruct the model. If a three-compartment tray needs two dividers, the project should derive dividerCount = compartmentCount - 1. If changing wall thickness reduces usable space, divider spacing should update from the remaining interior width.
Derived variables make the model explainable. They turn hidden geometric consequences into quantities the maker can inspect when a result looks wrong.
Local, relational, and state-dependent constraints
Not every rule has the same shape. Treating constraints by type makes them easier to encode and test.
Local constraints apply to one value. A wall may never be thinner than the tested process minimum, a compartment count must be an integer, and a CP variable may stay within a documented range. These rules map naturally to slider bounds, steps, and select options.
Relational constraints compare values. For an organizer,
If the product promise requires a minimum usable compartment width , then the important rule is not simply compartmentCount <= 6. It is . The maximum safe count changes with tray width and wall thickness. Scraper CP variables have the same dependency problem: each value may be locally valid while the combined result violates minimum thickness, overall bounds, or another production limit.
State-dependent constraints become active only for a mode or option. A key-ring clearance matters when the attachment option includes a ring. A reinforced scraper spine matters only when that construction mode is selected. A second line of text activates spacing and total-height rules that a one-line product does not need.
Local limits shape individual controls. Relational and state-dependent rules define the real product family.
Prevent, adapt, or flag
When a combination approaches a failure, the model needs an intentional response.
| Response | Use it when | Example | Risk |
|---|---|---|---|
| Prevent | The invalid region is known and should never be ordered | Limit compartment count when cells would become too narrow | Can hide why an option disappeared |
| Adapt | A derived feature can change without violating the product promise | Derive scraper control points from a requested tip rise while preserving the minimum neck | Adaptation may change material, dimensions, or appearance |
| Flag | The rule is uncertain or requires human judgment | Warn when control points approach a reversal or minimum-thickness limit | Production must actually stop until reviewed |
Prevention is strongest when the boundary is unambiguous. Adaptation is useful when the seller has already promised the adapted result—for example, a product whose body grows with the requested content. Flagging is honest when automatic validation cannot guarantee a decision.
Silent correction is often the worst response. If the seller enters six compartments and the project quietly produces five, the geometry may be printable while the order is wrong. A changed value should be visible, explained, or rejected.
Build a dependency graph, not a pile of controls
Each exposed input should have a traceable path to the geometry it controls:
order input → derived dimensions → constructed features → validation → export decision
Keep that path directional. User variables represent approved choices; node expressions connect them to geometry; hidden helpers calculate dependent dimensions. A validation result should never feed back silently and change the order into something else.
Clear names make the dependency readable. Use names based on purpose when possible, and expose only values that represent real choices.
- Order input
- Derived dimensions
- Constructed features
- Validation checks
- Export decision
Connect control points to user variables
The scraper’s control points become configurator controls when selected coordinate fields are driven by user variables.
- Create a user variable for each coordinate that should be adjustable, such as
cp1X,cp1Y,cp2X, andcp2Y. - Give each variable a tested type, range, and step.
- In the profile properties, switch the corresponding control-point fields to expressions.
- Reference the variables directly:
Control Point 1 X = cp1X
Control Point 1 Y = cp1Y
Control Point 2 X = cp2X
Control Point 2 Y = cp2Y
- Test minimum, default, maximum, and opposing-extreme combinations.
Derive a coordinate instead of exposing it when it should follow another dimension—for example, cp2X = scraperLength * 0.65. The user variables define approved controls; the node expressions connect those controls to the actual fields.
Test the corners of the parameter space
A good default proves very little. Validation should target the combinations most likely to expose relationships.
Start with single-variable boundaries: set each input to its minimum and maximum while holding the others at a normal value. Then test interaction boundaries, especially pairs known to compete for the same space or strength.
| Product | Stress combination | Question |
|---|---|---|
| Organizer | minimum tray width + maximum compartment count + maximum wall thickness | Do all compartments retain their minimum usable width? |
| Organizer | minimum height + maximum corner radius | Does the cavity and rim remain coherent? |
| Scraper | every CP variable at its minimum, then every CP variable at its maximum | Does the profile remain valid and inside the approved product range? |
| Scraper | opposing CP variables at opposite extremes | Does the part retain the required thickness and working shape? |
Exhaustively testing three states for ten variables would require combinations. Most sellers do not need to print that many parts. Prioritize boundary values, pairwise interactions, known worst cases, and any combination created by a sold listing variation.
Automated checks can examine expressions, solver errors, connected components, watertightness, dimensions, volume, and minimum thickness. Representative physical prints must still verify stiffness, edge quality, surface finish, warping, and functional use.
Geometrically valid is not production valid
Validation happens in layers.
- Expression validity: every dependency evaluates without missing names, division by zero, or an impossible dimension.
- Geometry validity: the result is nonempty, closed where required, connected as intended, and free of non-manifold or degenerate output.
- Manufacturing validity: walls, clearances, overhangs, spans, radii, and orientation fit the selected process and material.
- Functional validity: the product scrapes, holds, fits, labels, organizes, or attaches as promised.
- Order validity: the generated result matches the customer’s actual selections.
Passing an earlier layer does not imply passing the later ones. A watertight scraper can still have a blunt, weak, or backward working edge. A printable tray can contain compartments too small for the advertised objects. A correct generator can still receive the wrong order values.
A production decision should consider all five layers.
Expose fewer inputs than the model knows
A well-structured project may contain many variables, but the routine fulfillment interface should remain small.
Expose values that correspond to an order or a deliberate production choice. Keep helper dimensions derived. Show diagnostic expressions in the editor when they help the maker understand the result, but do not require them to be re-entered for every sale.
Presets can separate product variants that need different manufacturing assumptions. A small organizer and a large organizer may share a construction while using different validated wall, radius, and count limits. Material-specific presets can preserve different clearances without asking the seller to remember them.
The goal is not the greatest possible flexibility. It is the smallest set of controls that reliably produces the catalog being sold.
A practical Rig Cad pattern
Use this sequence for a seller-facing project:
- List the order inputs and production assumptions.
- Create primary variables with clear types, units, steps, and conservative bounds.
- Derive construction dimensions and write relational checks.
- Decide whether each failure should be prevented, adapted, or flagged.
- Test boundary combinations and save useful regression cases.
- Before export, compare the regenerated product with the order and record the project revision.
The scene tree constructs the product. The dependency and validation rules determine whether that construction belongs to the released family.
Know when the generator should stop production
Some failures should block export until the maker intervenes:
- a required expression cannot be evaluated;
- a dimension becomes zero or negative;
- intended solids become disconnected;
- a clearance or material web falls below its tested minimum;
- the result exceeds the dimensions or option purchased;
- a dependent feature moves outside its supporting body;
- the geometry differs from the order preview; or
- the combination has not been validated for the selected process.
A warning that everyone routinely ignores is not a safeguard. Make the stop condition specific, explain which values caused it, and suggest the permitted correction. If the combination can be produced only through custom engineering, treat it as a different service rather than forcing it through the routine product generator.
From a parameter space to a reliable catalog
Sliders are only the interface. The product system consists of user variables, node expressions, derived geometry, manufacturing assumptions, validation checks, and explicit failure policies.
The organizer demonstrates dependent repeated structure; the scraper demonstrates user variables bound to control-point fields. In both cases, the goal is a controlled family rather than the largest possible range of meshes.
Next, Fits, Clearances, and Tolerances for Customized 3D Prints attaches measured production limits to that safe region.
Continue the Parametric Goods series
The previous deep dive, Text as Geometry: Building Reliable Personalized Products, shows how one difficult input becomes controlled geometry. Next, Fits, Clearances, and Tolerances for Customized 3D Prints carries the safe parameter space into physical production. Return to Parametric Goods: From Customer Choice to Printable Product for the complete series path.
Comments
Loading comments...