Files
cadSet/SimpleCADAPI/docs/api/Sketch.md

34 lines
1.2 KiB
Markdown

# Sketch
## Class Definition
```python
class Sketch(curves: Iterable[Edge | Wire] | None = None, *, name: Optional[str] = None, plane: Any = 'XY', sketch_id: Optional[str] = None)
```
*Source: sketch.py*
## Import Surface
- top-level: `from simplecadapi import Sketch`
## Description
Declarative constrained sketch container.
Use `make_sketch_rsketch(...)`, `add_point_rsketch(...)`,
`add_line_rsketch(...)`, `add_circle_rsketch(...)`, and
`constrain_*_rsketch(...)` as the canonical API for building sketch
profiles. Public sketch construction APIs are functional and return an
updated `Sketch` document. The legacy `curves` constructor remains only for
reading already-built wire/edge containers.
Entity IDs are creation-time local identifiers, not geometry guesses. During
`make_wire_from_sketch_rwire(...)` or `make_face_from_sketch_rface(...)`, the
promotion map binds each ordered profile entity to exactly one generated Edge.
The canonical topology-identity tags are
`sketch.<sketch-name>.entity.<entity-id>` and
`sketch.<sketch-name>.profile.<profile-id>`, with `topology_name` evidence.
Downstream features can project those tags only when their kernel history
proves one-source/one-target correspondence.