|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| float | _r (float v) |
| Dict[str, Any] | poly (str layer, List[Pt] ps, bool closed=False, Optional[str] id=None) |
| Dict[str, Any] | circle (str layer, Pt c, float r, Optional[str] id=None) |
| Dict[str, Any] | dim (Pt a, Pt b, Pt off, str text, Optional[str] side=None) |
| Dict[str, Any] | text (str layer, Pt at, str s, str anchor="start") |
| Dict[str, Any] | ellipse (str layer, Pt c, float a, float b, float rot, Optional[str] id=None) |
| str | _mm (float v, int d=2) |
| float | _sin (float th) |
| float | _cos (float th) |
| List[Pt] | _zigzag (float x, float y0, float y1, int n=4) |
| List[Pt] | _plug_outline (Dict[str, Any] lay) |
| Optional[Tuple[str, float]] | _inlet_shape (Dict[str, Any] p) |
| Pt | _unit (Pt v) |
| List[Pt] | _inlet_corner (Pt P, Pt w, Pt f, Optional[Tuple[str, float]] shape, float d, int n=12) |
| List[Tuple[Pt,...]] | _passage_parts (Dict[str, Any] lay, str k) |
| Tuple[List[List[Pt]], List[List[Pt]]] | _passage_cut (Dict[str, Any] lay, str k) |
| List[List[Pt]] | _passage_polys (Dict[str, Any] lay, str k) |
| str | _inlet_note (Dict[str, Any] p, float d) |
| List[Dict[str, Any]] | _rot (List[Dict[str, Any]] prims) |
| List[Dict[str, Any]] | _section (Dict[str, Any] lay, bool through_doublet) |
| List[Dict[str, Any]] | _face (Dict[str, Any] lay, bool back) |
| List[Dict[str, Any]] | _ports (Dict[str, Any] lay) |
| List[Dict[str, Any]] | _revolve (Dict[str, Any] lay) |
| Dict[str, Any] | injector_drawings (Dict[str, Any] lay) |
Variables | |
| Pt = Tuple[float, float] | |
| int | _ELLIPSE_PTS = 28 |
| dict | _INLET_CUT = {"chamfered": ("chamfer", 0.10), "conical": ("chamfer", 0.20)} |
Engineering views of the impinging injector in its sleeve, as drawing primitives.
Presentation of ``engine.core.injectors.layout`` only: nothing here derives geometry, it places
what the layout computed. The frontend renders these primitives to SVG and to DXF from the same
list, so the screen and the CAD file cannot disagree, and neither can disagree with Layer 1.
Section views: x is radius (the axis at x = 0, the other half mirrored to x < 0), y is axial
with the face datum at y = 0, the plug's back face at y = +t and the chamber toward -y. Face
views: the face plane, origin on the axis.
Primitive shapes::
{"t": "poly", "layer": L, "pts": [[x, y], ...], "closed": bool, "id": optional}
{"t": "circle", "layer": L, "c": [x, y], "r": r, "id": optional}
{"t": "dim", "layer": "DIM", "a": [x, y], "b": [x, y], "off": [dx, dy], "text": str,
"side": optional "right"}
{"t": "text", "layer": L, "at": [x, y], "text": str, "anchor": "start"|"middle"|"end"}
``id`` ties the same physical hole across views ("O3" = LOX element 3).
|
protected |
Definition at line 82 of file drawing.py.
Referenced by _face(), and _passage_parts().
|
protected |
Definition at line 419 of file drawing.py.
References _cos(), circle(), ellipse(), max, poly(), and text().
Referenced by injector_drawings().
|
protected |
The entry edge at corner P, from the hole wall (unit ray ``w``, toward the exit) round to the floor (unit ray ``f``, away from the hole). The metal is the wedge between the two rays; a chamfer or fillet takes its corner off. Sharp: just P.
Definition at line 159 of file drawing.py.
References _unit(), max, and min.
Referenced by _passage_cut().
|
protected |
', rounded inlet r 0.19' for a hole label; empty for sharp or not set.
Definition at line 262 of file drawing.py.
References _inlet_shape().
Referenced by _section().
|
protected |
(kind, size / d) for a passage's declared inlet; None for sharp or not set.
Definition at line 140 of file drawing.py.
Referenced by _inlet_note(), and _passage_cut().
|
protected |
Definition at line 74 of file drawing.py.
Referenced by _section().
|
protected |
The cut of one passage by the section plane (which contains its axis): a strip of width d from the exit to where it ends, each end the shape it really has -- square to the axis on a contoured flank or a coned floor; cut obliquely by a flat face, a flat channel floor, or the back face -- with the declared inlet (chamfer, countersink, radius) cut into its entry edge. Returns (fills, walls): the open space as closed polygons, and the hole's walls as open polylines. The ends where the hole opens (onto the face, into a channel) are not edges.
Definition at line 228 of file drawing.py.
References _inlet_corner(), _inlet_shape(), _passage_parts(), and _unit().
Referenced by _passage_polys(), and _section().
|
protected |
Definition at line 185 of file drawing.py.
References _cos(), and _sin().
Referenced by _passage_cut().
|
protected |
The open space of one passage in the section plane (see ``_passage_cut``).
Definition at line 257 of file drawing.py.
References _passage_cut().
|
protected |
The plug's half-section outline in (x = z, y = r), from the port wall around to it again: along the face (groove included) out to the sleeve bore, down the rim, back along the back face with each channel notched in, up the hub, and the port wall.
Definition at line 100 of file drawing.py.
Referenced by _section().
|
protected |
The cover plate from above: its feed ports over the channels (hidden), the igniter.
Definition at line 508 of file drawing.py.
References circle(), poly(), and text().
Referenced by injector_drawings().
|
protected |
|
protected |
The plate's half-section as a CAD revolve sketch: one closed profile, radius across (x), axial up from the face (y = 0 at the face, the back face at y = t), and the axis. Nothing else, so it revolves as it is.
Definition at line 541 of file drawing.py.
References poly().
Referenced by injector_drawings().
|
protected |
Model frame (x = z, y = r) -> drawing frame (X = r across, Y = -z up): the plug lies across the view with the manifold side on top and the chamber below.
Definition at line 273 of file drawing.py.
References _r().
Referenced by _section().
|
protected |
Half section of the plug in its sleeve, true scale. Radius runs across the view (axis at the left edge, the other half mirrored to the left), the back face is on top and the chamber below. Each channel carries its width and depth, and each passage's axis is drawn through to the channel floor with the channel's centre line, so the two meet where the hole enters.
Definition at line 290 of file drawing.py.
References _inlet_note(), _mm(), _passage_cut(), _plug_outline(), _rot(), _zigzag(), circle(), dim(), max, min, poly(), and text().
Referenced by injector_drawings().
|
protected |
Definition at line 78 of file drawing.py.
Referenced by _passage_parts().
Definition at line 154 of file drawing.py.
Referenced by _inlet_corner(), and _passage_cut().
|
protected |
A break line across a part that continues past the view (x fixed, y0 -> y1).
Definition at line 90 of file drawing.py.
Referenced by _section().
| Dict[str, Any] engine.core.injectors.drawing.circle | ( | str | layer, |
| Pt | c, | ||
| float | r, | ||
| Optional[str] | id = None ) |
Definition at line 43 of file drawing.py.
References _r().
Referenced by _face(), _ports(), and _section().
| Dict[str, Any] engine.core.injectors.drawing.dim | ( | Pt | a, |
| Pt | b, | ||
| Pt | off, | ||
| str | text, | ||
| Optional[str] | side = None ) |
``side="right"`` puts a vertical dimension's text right of its line (default: left).
Definition at line 50 of file drawing.py.
References _r().
Referenced by _section().
| Dict[str, Any] engine.core.injectors.drawing.ellipse | ( | str | layer, |
| Pt | c, | ||
| float | a, | ||
| float | b, | ||
| float | rot, | ||
| Optional[str] | id = None ) |
Closed polyline: semi-axis ``a`` along angle ``rot`` (radians), ``b`` across it.
Definition at line 63 of file drawing.py.
References poly().
Referenced by _face().
| Dict[str, Any] engine.core.injectors.drawing.injector_drawings | ( | Dict[str, Any] | lay | ) |
All views of a layout.
Definition at line 551 of file drawing.py.
References _face(), _ports(), _revolve(), and _section().
| Dict[str, Any] engine.core.injectors.drawing.poly | ( | str | layer, |
| List[Pt] | ps, | ||
| bool | closed = False, | ||
| Optional[str] | id = None ) |
Definition at line 36 of file drawing.py.
References _r().
Referenced by _face(), _ports(), _revolve(), _section(), and ellipse().
| Dict[str, Any] engine.core.injectors.drawing.text | ( | str | layer, |
| Pt | at, | ||
| str | s, | ||
| str | anchor = "start" ) |
Definition at line 59 of file drawing.py.
References _r().
Referenced by _face(), _ports(), and _section().
|
protected |
Definition at line 29 of file drawing.py.
|
protected |
Definition at line 137 of file drawing.py.
| engine.core.injectors.drawing.Pt = Tuple[float, float] |
Definition at line 27 of file drawing.py.