Feat/Sketch: associative pattern tools with independent directions and Flip/Center controls (#1601)
Thanks @Karl-VonRichter.
This commit is contained in:
1 parent
44968dbfe6
commit
371578a06f
36 files changed
+1394
-87
No files matched your search
@@ -91,6 +91,9 @@ in the file). It opens designs of every older format and upgrades them as they o
|
||||
from a newer version asks you to update instead of being guessed at. Development (nightly) builds
|
||||
save a format number no release reads yet.
|
||||
|
||||
Sketch patterns retain their live direction-line references and placement settings when saved.
|
||||
Older patterns keep their fixed vector directions and original placement defaults.
|
||||
|
||||
Upgrading keeps what a design meant. Designs keep recorded body transfers, explicit 3D curve coordinate
|
||||
spaces and certified face bindings, alongside semantic configuration styles, associative
|
||||
free-form offsets and cylindrical emboss selections. Older ownership maps, geometry and
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
# Sketch patterns
|
||||
|
||||
While editing a sketch, use the **PATTERN** toolbar group for **Mirror**,
|
||||
**Rectangular Pattern** or **Circular Pattern**. On a narrow window the group
|
||||
collapses to a dropdown. Select several curves before starting a tool, or add
|
||||
them to its **Entities** input. Each tool previews the result before **OK**;
|
||||
**Escape** cancels it.
|
||||
|
||||
- **Mirror:** select the source geometry and a straight sketch **Mirror line**.
|
||||
Symmetry constraints keep the copies linked to the source and mirror line.
|
||||
- **Rectangular Pattern:** pick **Direction** and optionally **Direction 2**.
|
||||
Each accepts a straight sketch line or an origin axis in the sketch plane.
|
||||
The lines can meet at any angle. Each direction has its own column with a line
|
||||
picker, quantity, spacing and two icon buttons: **Flip direction** and **Center**.
|
||||
Without Center, copies extend from the original along the line from start to end;
|
||||
Flip reverses that direction. Center distributes copies on both sides while the
|
||||
original remains fixed. Quantities are totals including the original: 3 means
|
||||
one copy on either side; 4 means two on one side and one on the other. Flip swaps
|
||||
which side receives the extra copy. Both controls are independent for each direction.
|
||||
Negative spacing reverses the chosen direction. With no direction selected, the first uses sketch X
|
||||
and the second is perpendicular to the first. A second quantity of 1 makes
|
||||
a single row. Picked sketch lines remain live references as they change.
|
||||
- **Circular Pattern:** pick a **Center** point (or click empty sketch space),
|
||||
then set **Quantity** and **Total angle**. A full turn distributes instances
|
||||
evenly without duplicating the first; a partial turn includes both endpoints.
|
||||
**Center** places copies on both angular sides of the original. **Flip direction**
|
||||
reverses rotation and chooses the extra side for even totals. For six total holes
|
||||
over 90 degrees, the spacing is 18 degrees: the original stays at 0 degrees, with
|
||||
copies at +18, -18, +36, -36 and +54 degrees. Flip moves the last copy to -54 degrees.
|
||||
Five holes over 90 degrees use 22.5-degree spacing and extend 45 degrees either side.
|
||||
Without Center, a positive angle proceeds counterclockwise from the original;
|
||||
Flip reverses it.
|
||||
|
||||
Quantities include the original. Edit the original lines or their dimensions
|
||||
to update their copies. Right-click a rectangular or circular pattern instance
|
||||
and choose **Edit Sketch Pattern**, or double-click its pattern constraint badge,
|
||||
to change the quantities, spacing, directions or angle. Rectangular and circular
|
||||
patterns also appear as children beneath their sketch in the browser and left
|
||||
feature history. Expand the sketch to find them; double-click a
|
||||
pattern to open its saved editor, including from a finished sketch. Surviving copies keep
|
||||
their IDs. Patterns support undo/redo and survive saving and reopening.
|
||||
|
||||
The same operations are available through `sketch.mirror`,
|
||||
`sketch.pattern.rectangular` and `sketch.pattern.circular`. For example:
|
||||
|
||||
```json
|
||||
{
|
||||
"command": "sketch.pattern.rectangular",
|
||||
"params": {
|
||||
"entities": ["l1", "l2", "l3"],
|
||||
"direction": "guide1",
|
||||
"direction2": "guide2",
|
||||
"count": 3,
|
||||
"spacing": 20,
|
||||
"count2": 2,
|
||||
"spacing2": 10,
|
||||
"alignment": "center",
|
||||
"alignment2": "center",
|
||||
"reversed": false,
|
||||
"reversed2": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`direction` and `direction2` reference sketch line IDs. `dir` and `dir2`
|
||||
instead accept fixed `[x,y]` vectors. Distances are millimetres; the circular
|
||||
command's `angle` parameter is in degrees. The combined quantity is capped at 500.
|
||||
Deleting a direction line breaks its rectangular pattern association and leaves
|
||||
the remaining geometry in place; undo restores the association.
|
||||
|
||||
Circular patterns accept the same `alignment` and `reversed` parameters, for example
|
||||
`{"entities":["hole"],"center":[0,0],"count":6,"angle":90,"alignment":"center","reversed":false}`.
|
||||
Reference in new issue
Block a user