Harnessing Constraints in SeamScape
Constraints are the engine driving the dynamic and intelligent behavior of SeamScape patterns. They establish rules and relationships between points and paths, enabling automatic geometric adjustments in response to design modifications.
Constraint Types
SeamScape offers several constraint types for precise design control:
- Length Constraints: Define the length of lines and curves using fixed values or formulas (e.g.,
10cm
,WaistMeasurement / 4
). - Angle Constraints: Specify the absolute angle of a path relative to the coordinate system (e.g.,
90deg
for vertical lines) or relative to another path. - Position Constraints: Fix the X/Y coordinates of a point, or define a Sliding Point's position along a path (e.g., by distance, percentage, or a formula like
Path1.length / 2
). - Implicit Constraints: Connections between points and paths inherently act as constraints (e.g., a point serving as an endpoint for two paths mandates they meet at that location).
Example: Both the line (A0-A1) and the curve (A2-A3) are constrained to a length of 10 cm.
Example: The line path A0-A1 is constrained to an absolute angle of 30 degrees.
Example: Sliding Point A2 is constrained to one-third of the length of path A0-A1, measured from A0 (formula: length/3
).
Solver Logic & Design Flexibility
SeamScape's internal solver works to satisfy all applied constraints simultaneously, facilitating complex interactions and automatic updates. Key considerations:
- Avoid Over-Constraining: Applying conflicting constraints can render a solution impossible. Begin with essential constraints and add complexity incrementally.
- Synergy with Formulas & Variables: Constraints achieve maximum power when driven by dynamic formulas and user-defined variables.
Visual Feedback
Constrained paths are visually distinguished for clarity:
- Length-constrained paths may appear Purple.
- Angle-constrained paths may appear Orange.
- Paths with both length and angle constraints (fully fixed) may appear Red.
- (Note: Colors are theme-dependent and may vary.)