Inline QC station: real 40x40 profiles, labelled investor render

User, 18 Oct 2026: use real 40x40 profiles, make a render with text
pointing out the parts to show the investor; the ring lights looked
like they were floating.

- build_station.py: frame drawn from the real 8-slot 40 series section
  (profile_shape: slots, centre bore, corner cavities; 40x80 with centre
  cavity) and 24 cast angle brackets; top beams now butt between the
  uprights; label-camera posts moved beside the cameras so both ring
  lights clamp straight to them; top line-scan on a side post with
  visible camera plate and light hangers; slide strips on carrier angles,
  pulley axles, end-stop posts, presence-sensor brackets, backlight post,
  cabinet on base crosses, chute on two supports and clear of the rail,
  pneumatics rail, stack light on the back upright, touch screen on the
  front end upright. A connectivity check at the end lists any part that
  does not reach the floor through touching parts: none.
- render_annotated.py (FreeCAD): front three-quarter view, camera backed
  off so nothing is clipped, no navigation cube or preselection, label
  positions projected from the camera and checked with marker renders.
- annotate_render.py (Pillow): title, 16 labels in two columns, leaders
  assigned so none cross -> inline-qc-station-annotated.png.
- render_station.py: same camera and preselection fixes; all six views
  re-rendered.
- BOM: 32 m of 40x40 in 45 pieces; total still USD 16k to 33k.
- inline-optical-qc.md and README updated; .gitignore for the render
  intermediates.
This commit is contained in:
grabowski committed 2026-10-18 14:07:41 +07:00
1 parent 609424b598
commit e8674795f5
16 files changed
+483 -46

No files matched your search

+16 -6
View File
@@ -142,9 +142,19 @@ A concept model of one station, drawn in FreeCAD from the script
[`build_station.py`](inline-qc-station/build_station.py) (views from
[`render_station.py`](inline-qc-station/render_station.py); model file
[`inline-qc-station.FCStd`](inline-qc-station/inline-qc-station.FCStd)).
It is a layout to take to a machine builder, not a fabrication drawing:
the profiles are drawn as plain 40 mm bars and the bought parts as their
outline boxes.
It is a layout to take to a machine builder, not a fabrication drawing.
The frame uses the real 8-slot 40 series section (slots, centre bore,
corner cavities) with cast angle brackets in the corners; bought parts
are drawn as their outline boxes. The script checks that every part
reaches the floor through parts it touches, so nothing floats.
![Inline QC station with the parts named, for presentations](inline-qc-station/inline-qc-station-annotated.png)
*The labelled view for presentations, made with
[`render_annotated.py`](inline-qc-station/render_annotated.py) (FreeCAD
view and label positions) and
[`annotate_render.py`](inline-qc-station/annotate_render.py) (labels,
Pillow).*
![Inline QC station, open: front panels and lid removed](inline-qc-station/inline-qc-station-iso.png)
@@ -154,8 +164,8 @@ outfeed stop (front right). The cabinet sits under the outfeed, the
reject bin behind it.*
**Frame.** The frame is built from 40 × 40 mm 8-slot aluminium profile
(27 m in 37 pieces) on two 40 × 80 mm base beams, with eight levelling
feet. It is 1.9 m long, 0.65 m wide and 1.5 m high, plus the stack
(32 m in 45 pieces) on two 40 × 80 mm base beams, with 24 cast angle
brackets in the corners and eight levelling feet. It is 1.9 m long, 0.65 m wide and 1.5 m high, plus the stack
light. The reject bin adds 0.4 m behind it. Records travel at 900 mm,
a normal working height.
@@ -251,7 +261,7 @@ By group, per station:
| Group | USD | Main parts |
|---|---|---|
| Frame | 0.7k to 1.5k | 27 m of 40 × 40, 3.8 m of 40 × 80, brackets, feet |
| Frame | 0.8k to 1.6k | 32 m of 40 × 40, 3.8 m of 40 × 80, angle brackets, feet |
| Enclosure and guards | 0.3k to 0.7k | black panels, polycarbonate, door switch |
| Conveyor | 0.5k to 1.4k | round belts, pulleys, slide strips, drive |
| Handling | 2.0k to 4.9k | guided lift cylinder, 200 W spindle servo, spindle head with mandrel, rodless cylinder, pneumatics |