A whole-body 3D model of the 1995 Geo Tracker built in Fusion 360, dimensioned from the factory SAE J1100 sheet. Its purpose is not fabrication — it is a canvas for marking repairs: rust spots, dents, weld-ins and prior patches get pinned to an identifiable panel rather than described in prose.
For Agents
Its own Fusion document, separate from the geo-tracker-front-diff-shield and every other model. 33 named bodies — the naming is the whole point: a repair mark must land on a body you can name (
door_L,quarter_R,rocker_trim_L), not on an anonymousBody17. Dimensions: geo-tracker-body-dimensions-sae-j1100. Toolchain: fusion360-mcp-scripting. Body shape is representative, not a surface-accurate scan — flat panels and prismatic solids placed at documented stations.
Coordinate System
| Axis | Meaning | Origin |
|---|---|---|
| X | Width | 0 = vehicle centreline, ± outboard |
| Y | Length | 0 = front axle centreline, +Y rearward |
| Z | Height | 0 = ground |
Derived Y stations, all from the J1100 sheet:
| Feature | Y (mm) | From |
|---|---|---|
| Front bumper | −655 | L104 front overhang |
| Front axle CL | 0 | datum |
| Rear axle CL | 2200 | L101 wheelbase |
| Rear bumper | 2965 | 2200 + L105 rear overhang 765 |
Putting Y=0 at the front axle rather than the front bumper means the wheelbase and both overhangs read directly off the coordinates, and adding a variant with different overhangs does not move the axles.
The 33 Bodies
| Group | Bodies |
|---|---|
| Front end | front bumper + 2 brackets; grille panel (2 headlamp recesses + grille opening); 2 headlamps |
| Hood / fenders | hood; 2 front fenders |
| Doors | 2 doors |
| Sides | 2 quarter panels; 2 rocker trims; 2 upper side panels; 2 side glass assemblies (3 panes each) |
| Structure | floor pan |
| Glasshouse | windshield frame + windshield glass; roof |
| Rear | tailgate + tailgate glass; spare wheel; rear bumper |
| Misc | 2 mirrors; 4 road wheels |
Appearances
| Appearance | Applied to |
|---|---|
| Paint – Enamel Glossy (Green) | Body panels |
| Plastic – Matte (Black) | Trim |
| Glass (Grey) | All glazing |
| Plastic – Translucent Matte (White) | Lamps |
Names and appearances must be a second script run
Body names and appearances assigned in the same script execution as
baseFeature.finishEdit()silently do not stick — no error, they just are not there afterwards. Both had to be applied in a separate execution, matching bodies by creation order. This is gotcha 7, now confirmed to cover appearances as well as names.
Assumptions — NOT from the Sheet
These numbers were invented to close the geometry
The J1100 sheet gives an outer envelope, not panel breaks. Everything below was derived or assumed to make a closed body. None of it is documented. Re-derive before trusting any of it for fabrication.
| Assumption | Value | Basis |
|---|---|---|
| Cowl Y position | 664 | back-derived from upper structure length L123 = 2301 (hardtop) |
| Door / fender split lines | Y 425 / 430 and 1425 / 1430 | 5 mm seam gap, positions eyeballed |
| Greenhouse outer half-width | 800 at the belt, tapering to 664 at the roof | applies the documented 15.5° tumble-home |
| Tyre size | 205/75R15, 688 mm OD | assumed fitment, not read off the car |
| Wheel arch cut radius | 430 | clearance around the assumed tyre |
| Wheel arch flare lip | 24 mm torus | styling approximation |
| Panel thicknesses | assorted | chosen for visual weight, not gauge |
Known Discrepancy — Overall Length
Spare wheel pushes the model 215 mm past the documented length
The tailgate-mounted spare projects to Y = 3180, giving an overall model length of 3835 mm against the sheet’s L103 = 3620 mm.
Two candidate explanations, unresolved:
- L103 excludes the tailgate spare — plausible; J1100 vehicle length is often taken over the body/bumpers.
- The spare mounting is modelled too proud — the carrier standoff was assumed, not measured.
Do not “fix” this by scaling the body. Measure the actual spare standoff on the car first.
Scripting Techniques Used
Two reusable Fusion techniques came out of this build and were written up in fusion360-mcp-scripting:
- Compose the cut tool before cutting. Sequential
tbmdifference cuts union the removed regions, so a series of cuts can never express an intersection. The side windows — whose front edge follows the 45° A-pillar rake while the other three edges are axis-aligned — required building a plain box, subtracting an angled half-space from it, and then using that composed solid as the cutting tool. - Sort box extents.
OrientedBoundingBox3D.createthrowsRuntimeError 3: invalid argument lengthon a negative length. Writing extents assx*380 → sx*690flips sign the momentsxis negative — which is every mirrored left-hand body. Sort extents inside the box helper.
Related
- geo-tracker-body-dimensions-sae-j1100 — the dimensional source
- kickfix — project hub
- fusion360-mcp-scripting — toolchain and API gotchas, including the two from this build
- geo-tracker-front-diff-shield — same vehicle, separate Fusion document, offroad-armour project
- cluzter — same vehicle, wiring diagrams
- LOG
- TOPICS