Deep dive ⑤ · Realize — the "P" in RFLP

Mechanical — standard parts, assembled in NX

The physical layer that RFLP has been building toward: the EBOM split cleanly into make and buy, the buy-parts sourced as real standard components in neutral CAD, and the complete, redundant QX-250 assembled in NX on one parametric datum — 53 components with landing gear, aeroshell and dual redundancy, closing Requirements → Functions → Logical → Physical at a legal ~650 g.

Tool: NX 2606 53 components · dual-redundant AUW ~650 g · ≤ 700 g legal One datum · 125 mm · X-config

Beat 1 — the EBOM, make vs buy

Three parts we build, seven we buy

The engineering BOM splits without ambiguity. The frame is the design's own intellectual property — built parametrically in NX from the master expressions (quadcopter_parameters.exp), so it needs no external CAD and re-drives itself when a parameter changes. Everything else is commercial off-the-shelf — a motor, a prop, a flight-controller stack — and the job there is not to draw it but to source the real part as clean, swappable neutral geometry.

EBOM itemQtyMake / BuyHow it's created
frame_bottom.prt1MakeCarbon plate — NX-parametric (plate_size / plate_thk)
frame_top.prt1MakeCarbon plate — NX-parametric
arm.prt4MakeCarbon arm — NX-parametric (arm_length / width / thk)
motor 23064BuyStandard 2306 outrunner (EMAX ECO II / iFlight XING2 class)
prop 50434Buy5″ tri-blade, 2× CW + 2× CCW (Gemfan 5043-3 class)
FC + 4-in-1 ESC stack1Buy30.5 × 30.5 stack (SpeedyBee F405 V3 class)
battery 4S 15001Buy4S LiPo pack (Tattu R-Line class)
ELRS receiver1BuyMicro ELRS RX
M3 standoff4BuyM3 × 30 hex standoff
M3 screws~24BuyM3 socket-head cap screws (motor + FC mount)

Beat 2 — sourcing real standard parts as neutral CAD

Where the CAD actually comes from — the honest reality

Getting neutral CAD for real hardware is messier than the marketing suggests, and the sourcing decision was deliberate — authoritative first, community last:

FPV makers publish none

T-Motor, iFlight, EMAX, SpeedyBee and Gemfan ship no neutral CAD — only PDF manuals with dimensioned drawings. So the seven buy-parts were rebuilt as clean STEP (AP214) envelopes, dimensioned from the real datasheets — correct outer envelope, mount patterns and shaft/bore interfaces.

McMaster is authoritative

For the standoffs and M3 screws, McMaster-Carr is a real catalog of real parts. Its CAD is login-gated now, but we pulled the actual Parasolid (.x_t) for all three — the exact 95947A060 standoff and the 91290A111 / 91290A113 SHCS.

Parasolid, not STEP

NX's kernel is Parasolid, so a .x_t imports native and lossless — no STEP translation round-trip. The real McMaster Parasolid supersedes the generated fastener envelopes on the NX side. GrabCAD (community, uneven provenance) was avoided — last resort only.

The right fidelity, on purpose. These are clean simplified-solid / block envelopes — the correct level for a first digital mockup: they carry the real outer envelope, the mount patterns, the shaft/bore interfaces and the swept prop disc (127 mm), which is exactly what a clearance check (prop-tip ≥ 5 mm) and the mass budget (dry 325 g / AUW 500 g) need. Any one can be swapped for a high-fidelity vendor model later without changing a single mate — the interfaces are preserved.

Beat 3 — the whole vehicle, assembled in NX

Fifty-three components on one parametric datum

The buy-parts and the parametric frame come together in a single NX assembly on one consistent datum — origin at the airframe center, Z up, bottom-plate top face at Z = 0, arms in an X-configuration at 45 / 135 / 225 / 315°, all driven from quadcopter_parameters.exp at the 125 mm span. The result — QX250_v3_final.prt, 53 components: four motors and four tri-blade props (2 CW / 2 CCW), two 4S battery packs (BT1 + BT2), two flight controllers (U1 + U2), the A1 PDB + 4-in-1 ESC and the PWR1 dual-battery OR-ing / BMS, the ELRS receiver, video TX and LED/buzzer, four landing-gear legs and an aeroshell over the avionics bay, on four M3 × 30 standoffs and 24 M3 fasteners, over the two plates and four arms. The vector projections below show the core airframe — arms, plates and rotor stations, which set the prop clearance; the NX viewport and the assembly tree then show the complete airframe — landing gear, aeroshell and the dual packs — in the tool itself:

QX-250 full assembly — NX isometric projection
NX — isometric projection. The QX-250 core airframe: X-config arms, four 2306 motors with 5″ tri-blade props and the inter-plate stack bay — the geometry that sets prop clearance. Landing gear and the aeroshell are added in the shaded render below.NX 2606 · projected view · core airframe
QX-250 full assembly — NX top projection
NX — top projection. The same assembly from above — the 125 mm diagonal span, the four rotor stations on their arms and the central 30.5 × 30.5 stack, confirming prop-tip clearance across the airframe.NX 2606 · projected view · X-configuration, 125 mm
QX-250 complete airframe in the NX modeling viewport — landing gear, aeroshell and dual battery packs
NX — the complete airframe, in the modeling viewport. The finished QX-250 (v3) live in NX Designcenter: four 2306 motors and red 5″ tri-blade props, the reliability-driven dual battery + dual flight controller, the aeroshell shrouding the avionics bay, and four landing-gear legs whose feet reach below the lower pack for ground clearance — every part on the shared parametric datum.NX 2606 · Designcenter Modeling · QX250_v3_final.prt · 53 components
NX Assembly Navigator listing the full 53-component QX250_v3_final tree
NX — the assembly tree, in-tool. The QX250_v3_final Assembly Navigator, all 53 components enumerated — and the traceability is right in the part names: LandingLeg_STR002 ×4, Aeroshell_ENV002, BT1_battery_4S_1100 ×2, U1 + U2_flight_controller_redundant, PWR1_dual_batt_BMS, down to the McMaster Standoff_M3x30_95947A060. Each part is named for the requirement it answers.NX 2606 · Designcenter Modeling · Assembly Navigator · QX250_v3_final.prt
Every part traces to a requirement. Nothing here is styling. The two battery packs (BT1 / BT2), two flight controllers (U1 / U2) and the PWR1 OR-ing / BMS are MADe's dual-battery + dual-flight-control redundancy (REL-008 / REL-009 from the loss-of-thrust budget REL-003); the four landing-gear legs answer the 1.5 m drop-survival requirement (REQ-STR-002); the aeroshell answers splash / light-precipitation (REQ-ENV-002). Reliability and the requirements → logical model, realized as positioned hardware — the thread closed in metal.
QX-250 v3 assembly ray-traced in NX, on the Z-up datum
Ray-traced in NX. The assembled v3 on its Z-up datum — dual battery packs, the aeroshell and the four landing legs. The same geometry flies the validated trajectory.

What the mockup is for

It holds the mass budget and proves the clearance

A digital mockup earns its keep by answering the two questions a render can't: does it make weight, and do the props clear? Because every part carries its real envelope and target mass, both fall straight out of the assembly instead of a separate spreadsheet.

Mass budget — resolved at ~650 g

ContributorMass
2 × battery 4S 1100 — BT1 + BT2~260 g
4 × motor 2306128 g
Carbon frame — 2 plates + 4 arms~130 g
Landing gear (4 legs) + aeroshell~50 g
Electronics — 2× FC, PDB/ESC, PWR1 BMS, RX, VTX~55 g
4 × prop 504318 g
Standoffs + 24 × M3 fasteners~17 g
All-up weight≈ 650 g
Regulatory ceiling≤ 700 g ✓

Measured off the model, not guessed — each NX instance carries a real material / density. AUW lands at ~650 g — legal, with ~50 g of payload headroom under the 700 g cap. Getting there took a real requirements trade (right); the mockup is where it was caught and settled.

Prop clearance

~50 mm of air between adjacent prop tips. The QX-250 is a 250 mm motor-to-motor quad (the "250" in the name) — four 127 mm (5″) props on 125 mm arms. Adjacent rotor centers sit ~177 mm apart; with 63.5 mm prop radii that leaves ~50 mm tip-to-tip — comfortably past the design's prop_clear ≥ 5 mm rule. The mockup proves this in geometry, which is the whole reason to assemble it before cutting metal.

And because the frame is parametric, shrinking the arm re-checks clearance automatically — the coupling the performance sweeps already flagged (arm length and control tuning are not independent).

The thread caught a real conflict — and resolved it. Once the airframe (gear + shell) went on, the reliability-driven dual battery collided head-on with a regulatory requirement: two 4S 1500 mAh packs put AUW at ~740 g, over the ≤ 700 g cap (REQ-REG-001 / SYS-006). The fix was not to drop redundancy — it was to right-size the packs to 2 × 1100 mAh, landing AUW at ~650 g (legal) while keeping both packs, holding system capacity at 2200 mAh (clears REQ-PWR-005 ≥ 1500 mAh) and still clearing ≥ 8 min endurance (REQ-PERF-002). A traceable trade between two requirements, found and settled on the model — reliability ↔ regulatory, reconciled before metal.
Requirement-text note. REQ-PWR-005's "≥ 1500 mAh usable" must read as the system total across the two OR-ed packs (which the PWR1 architecture provides), not per-pack — otherwise it hard-conflicts with the 700 g cap. Worth pinning in the requirement text itself so the trade above stays valid.
Open item — resolve before release. Real 2306 motors typically use a 16 × 16 mm M3 mount pattern, but the QX-250 arm.prt was built to 19 mm (motor_bolt), and the motor envelope was modeled at 19 mm to mate the current arm. Before metal is cut, the actual motor gets picked and motor_bolt set to its real pattern (likely 16 mm), then the arm re-drives itself — a parameter change, not a redesign. It is logged here honestly, the same way the telemetry rework log carries the real escapes. (This clean assembly also supersedes an earlier hand-built frame that used a different coordinate convention.)
RFLP is now complete. The physical mockup closes the thread the site has been tracing: Requirements → Functions → Logical and now Physical — the same 125 mm, four-rotor, redundant QX-250, carried unbroken from a reliability finding all the way to positioned geometry.