A self-built Newtonian imaging telescope: optical design, structural verification by finite element analysis, a twelve-sheet ISO drawing set and a full production pack. The aperture was not a budget choice — the coma corrector's fixed backfocus makes any smaller Newtonian badly proportioned, and everything downstream follows from it.
A Newtonian's secondary minor axis is m = l·D/F + d(F−l)/F, where l runs from the optical axis out to the focal plane. The trap is that l includes the coma corrector's backfocus — about 110 mm — and that distance is set by the corrector's optics, not by your aperture. Shrink the telescope and l barely shrinks with it.
| System | l minimum | Secondary needed | Obstruction | Light blocked |
|---|---|---|---|---|
| 150 f/4 | 245 mm | 71 mm | 47% | 22% |
| 200 f/4 | 270 mm | 78 mm | 39% | 15% |
| 250 f/4 | 295 mm | 85 mm | 34% | 12% |
200 mm is the smallest aperture at which a Newtonian astrograph is well proportioned. Below it the correct instrument is a refractor. Specify an 80 mm secondary, not the stock 70 mm, and build the 5.0 mm offset into the spider hub as machined geometry — not a shim.
CalculiX 2.23 shell and solid FEA meshed directly from the CAD, plus analytic checks where finite elements are the wrong tool.
| Check | Result | Budget | Method | |
|---|---|---|---|---|
| Tube deflection, 1.5 mm wall | 0.0015 mm | 1.41 mm | 16,552 S3 shell elements | pass |
| Focuser aperture softening | 1.74× | — | hole vs no-hole comparison | quantified |
| Spider hub sag | 0.332 µm | 141 µm | analytic, parallel stiffness | pass |
| Spider vane buckling | FoS 5.8 | > 3 | Euler, compression vane | pass |
| Secondary assembly f₁ | 865 Hz | > 30 Hz | analytic | pass |
| Primary glass on 3 points | 0.84 nm rms | 27.5 nm | Nelson support model | pass |
| Mirror flop, zenith→horizon | 0.142 arcsec | 0.485 arcsec | 19,511 C3D10 solid, 2 load cases | pass |
The tube wall dropped 2.0 → 1.5 mm on the strength of the shell FEA, saving 0.75 kg. Together with printing the secondary holder in PA-CF rather than machining it, that returned the assembly from 11.01 kg to 9.94 kg — back inside the mount budget.
A note on the mirror cell: three support points cannot warp a mirror, only tilt it as a rigid body. Static tilt is absorbed by collimation, so the meaningful number is how much the tilt changes with pointing — mirror flop. At 0.142 arcsec of beam deviation that is 0.147 pixel, invisible.
These are CAD visualisations of the modelled geometry, not photographs and not photorealistic product imagery. Bought-in items — focuser, corrector, camera, filter drawer and guider — are not modelled and do not appear. Surfaces are idealised: no machining marks, no anodising variation, no fasteners. Judge the drawings for buildability, not these images.
A3 landscape, first-angle ISO 128 projection, ISO 5457 frame and ISO 7200 title block, general tolerance ISO 2768-mK. Every sheet was reviewed by an independent vision model against ground-truth assertions; findings were remediated and re-judged.
Download the complete drawing set (6 sheets, PDF)






What a workshop needs to actually make the parts: stock and cut list, machining operation sheets with setups and tooling, additive parameters, fastener schedule with torques, and an inspection record to be completed in ink.
Download the complete production pack (6 sheets, PDF)






The model is parametric. Change D, FRATIO, SEC_MINOR or BACKFOCUS at the top of ota_model.py and the whole tube regenerates — secondary size, station positions, tube length and mass all re-solve.
| File | What it is | Download |
|---|---|---|
| ota_model.py | Parametric OTA model (build123d) | PY |
| scope_design.py | Optical & mechanical design calculator | PY |
| tube_fea.py | Tube shell FEA, CalculiX | PY |
| parts_fea.py | Mirror cell & spider FEA | PY |
| tube.step | Optical tube solid | STEP · STL |
| mirror_cell.step | Primary mirror cell | STEP · STL |
| spider.step | Four-vane spider, offset hub | STEP · STL |
| secondary_holder.step | Secondary holder, for printing | STEP · STL |
| focuser_board.step | Focuser board | STEP · STL |
Every part modelled and positioned from a mating datum, then checked exhaustively: all 378 part pairs tested by exact boolean intersection, designed fits verified arithmetically against the driving parameters, and every printed part checked against the Bambu H2C envelope.
| Verification | Result | Method | |
|---|---|---|---|
| Part-pair interference | 0 of 378 | exact boolean, 40 bbox-overlapping pairs solved | pass |
| Designed fits | 8 of 8 | arithmetic on driving parameters | pass |
| Designed joints | 1 | M10 stud into rear boss — interpenetration intentional | declared |
| Face contacts | 13 | 0 gap, 0 overlap, verified pair by pair | pass |
| Light-path obstruction | none | radial distance of nearest vertex to optical axis | pass |
| Printed-part envelope | 6 of 6 | vs H2C 305 × 320 × 325, 5 mm margin | pass |
| Part | Qty | Envelope | Overhang | Material | Filament |
|---|---|---|---|---|---|
| Secondary holder | 1 | 126 × 82 × 82 | 17.7% | PAHT-CF | 115 g |
| Dew shield half | 2 | 300 × 256 × 128 | 0.4% | PETG | 387 g |
| Fan shroud | 1 | 132 × 132 × 18 | 12.5% | PETG | 31 g |
| Mirror clip | 3 | 26 × 14 × 11 | 21.8% | PAHT-CF | 7 g |
| Edge roller block | 2 | 21 × 21 × 14 | 15.1% | PAHT-CF | 4 g |
| Cable guide | 2 | 30 × 16 × 10 | 14.9% | PETG | 5 g |
The tube rings were modelled as printed parts and then reclassified to machined aluminium. At Ø285 a PA-CF ring warps on the plate and creeps under sustained load — and these rings carry the entire optical tube into the dovetail. Structural, so they get metal.
Assembly STEP · Full verification report · parts.py · check.py
Print-ready STEP files: secondary holder · dew shield half · fan shroud · mirror clip · edge roller · cable guide
A parametric Fusion document carrying the full driving-parameter set and the verified assembly geometry, built and tested live in Fusion 2703.1.20 — imported volume 4741.2 cm³, matching the source model exactly.
| File | What it is | Download |
|---|---|---|
| ASTROGRAPH_200f4.f3d | Fusion archive — open directly | F3D |
| BuildAstrograph.py | Fusion script: new document, 27 user parameters, STEP import, rigid group | PY |
| BuildAstrograph.manifest | Script manifest | MANIFEST |
| ASSEMBLY.step | Neutral assembly, any CAD | STEP |
Fusion works in centimetres internally, so every value is a units-tagged expression string. And a focal ratio must be unitless — if it is ever created as a length it poisons every expression that multiplies by it, which is exactly what happened during the build. The shipped expressions divide the unit out explicitly.