Expand description
The parts on and inside the body: what hangs off a .ork design’s spine.
super::component reads the spine: the stages and the body components stacked in them.
Everything else in a design hangs off that trunk, and this module reads it: the tubes, couplers,
rings and bulkheads inside a body component, the fins, tube fins, launch lugs and rail
buttons on it, and the mass objects, parachutes, streamers and shock cords packed in it.
Three things run through all of them.
- Where a part sits is an offset along its parent and the end it is measured from, which is
Position. OpenRocket writes the end undermethodon the newer tag name andtypeon the older one, with the same five words. - What a part takes from its parent is an automatic dimension: a coupler’s outer radius is
the tube’s bore, a ring’s is too, a ring’s own bore is the motor tube inside it, and a packed
part fills whatever room is left. None of that is worked out here:
hpr_design::Rocket::layoutdoes it, once, for every reader (Loft lesson L60: Loft resolved these as it walked, so the answer depended on the order the siblings were written in, and a bulkhead inside a coupler came out asNaN). - Angles are degrees in the file and radians in
hpr-design, which is easy to miss because nothing in the file says so: read as radians,<angleoffset>180</angleoffset>is more than twenty-eight turns instead of half of one. Of the 188 angles in the reference corpus that are not zero, 178 are larger than 2π, so they cannot be radians.
A part this reader cannot give hpr-design an honest shape for is left out with a warning
rather than guessed at, so the rest of the design still opens. The guide lists every such rule:
OpenRocket .ork design files.
Constants§
- ATTACHED_
TAGS - Every tag this module knows how to read. A tag outside it belongs to a later milestone, and is tallied by the caller rather than warned about one by one.