Skip to content
ProjectsMechanical & Hardware Design

Nintendo 64

A full CAD reconstruction in Creo, from reference images to a rendered scene

Image needed

/images/nintendo-64-cad/hero.webp

Rendered CAD reconstruction of a Nintendo 64 console on a plain grey backdrop

hero.webp
Final render of the reconstruction.
Context
Mechanical CAD, DTU
Year
2025
Role
Main responsible for the modelling
Team size
2
Tools
PTC Creo Parametric · Surface modelling · Drop curve and trim · Shell · Revolve · Taper · Direction and axis patterns · Assembly constraints · 3ds Max · Arnold renderer
Contribution
Team of 2, main responsible for the modelling

A full reconstruction of the Nintendo 64 in Creo Parametric, chosen because the console mixes hard geometry with organic surfaces and therefore forces both solid and surface modelling in one model. Built from scaled reference images and from measurements taken off a console we bought in order to check them, then assembled with constraints and rendered in 3ds Max with a perspective-matched background.

Why this object

We picked the Nintendo 64 from 1996 since both of us had spent too many hours in front of one, however the real reason it works as an exercise is the curved upper chassis, which cannot be built with solid features alone and forces proper surface modelling, while the rest of the machine is hard geometry with ventilation cutouts, feet, buttons and controller ports. This means one model covers both disciplines rather than only the comfortable one. Before starting we agreed what the model was and was not, being the visible exterior with its buttons and features, and deliberately not the mechanisms behind the cartridge rails or the buttons, since that would have been too technical on an already difficult model.

Getting the references right

The reference drawings were split into three images and imported into Creo, where we drew a line corresponding to the console's width on a plane and scaled the images against it, and they were then turned on and off on different planes throughout the project as needed. However once modelling started it became clear that the images were not as true to size as we had assumed, so we bought a cheap Nintendo 64 in order to measure the real thing, and this corrected several of the deviations. It is important to note that the underlying reference still carried an inaccuracy of roughly 1 to 2 mm, which matters for a later point about how accurately the rest of the model was worth building.

The surface work, which was the hard part

The curved upper chassis was built by drawing lines on multiple planes, starting with an internal plane used in order to project curves down onto the top surface of the box, then the bottom curve seen from the side, and finally the curve running along the back, which together allowed the curve lines to be combined into two surfaces. The difficulty was connecting those two surfaces with a genuinely smooth transition. All the lines were normal to their connections, however drop curve had left a small horizontal section in the first surface, and this caused trouble when the two were joined. Here the fix was to delete that section of the surface curve and replace it with a piece of free curve, after which the surfaces connected properly, and we could trim the body with the quilts and merge everything into a single solid. Furthermore this is where the model's one structural mistake was made, since we had modelled a box to the correct dimensions, cut the upper shape away by extruding, and then trimmed the surface from the box, which left dimensions that would not shell cleanly. We did not discover this until much later, due to not trying to shell before continuing with other features, and by then going back was difficult. We got the upper chassis shelled through trial and error, however at a wall thickness that does not match the correct dimension. The right approach would have been to build the whole upper chassis in surface modelling and then shell it.

The solid features

The surface cutouts were made on offset planes, first for the memory expansion opening and then for the ventilation lines, which were created with pattern features and edited afterwards, while the spherical holes were made with revolve. The lid for the memory expansion needed to actually fit its hole, so the tension mechanism was made by sketching on a plane through the middle of the lid and extruding symmetrically. The two buttons on each side of the lid sit in an angled cut, which meant creating a tangent plane to the surface and extruding from it in order to match the angle. The bottom part was extruded downwards from the top, since the two share dimensions, and the feet were made using projection in order to get a clean round foot running along the side of the box, with the taper feature on the extrude since the feet angle slightly outwards, and the round feature tweaked where they meet the main body, after which mirroring gave the second one. The line cutouts for ventilation on the bottom were drawn as a single sketch on a tangent plane, extruded, and then patterned with a direction pattern. The remaining parts were more straightforward, with the buttons extruded from an oval sketch, rounded, and given pins sketched on the mid plane in order to sit in the chassis, the feet created with revolve, and the controller inputs extruded with rounds and then mirrored across for the additional ports.

Assembly and rendering

All the parts were brought into an assembly file and constrained to the main chassis, and the model was then taken into 3ds Max in order to render it with Arnold. Placing it in a real background required a perspective match, which meant adjusting vanishing lines to fit the background image, so that a plane could be positioned correctly and the console placed on it, followed by adding a light and experimenting with its placement, intensity and exposure in order to get a shadow that sits properly. The materials used a mat plastic as the baseline with the roughness adjusted to match the console's rough black surface, while the logo needed its texture scaled so that exactly one instance landed on the component.

What the object itself taught us

Looking at the transition between the top and the bottom of the real chassis, it seems the console was designed as one whole body, shelled, and only then split into two parts, which is why our own model reads as accurate despite being built the other way round. This is the kind of thing that only becomes visible once you have tried to reproduce something, and it is part of why reconstructing an existing object is a better exercise than drawing something new.

What I would do differently

The first thing is the shell. It should have been done as soon as the important and dependent geometry existed, rather than after further features had been layered on top, since a model tree only supports later edits if the large and significant features sit early and the minor details sit late. We could edit any individual feature on its own without trouble, however the older ones with dependencies underneath them were considerably harder to change, and the shell was the clearest case. The second is scope. We spent a lot of time measuring every component by hand and with image tools in order to add every detail, however the baseline reference already carried a 1 to 2 mm inaccuracy, so building extremely high accuracy on top of an imprecise foundation was not a sensible trade. This is not a design for production, and in a real scenario that approach would not hold up, so the lesson I took is to decide the intended accuracy in advance and then not exceed it, since the unnecessary complexity is what caused the regeneration problems later.

On Creo specifically

Having modelled in other packages, the difference is that Creo refuses to regenerate as soon as it meets an error, which forces you to fix the problem before continuing rather than letting it accumulate. This is why it is an industry standard and I have more respect for it than I did at the start, however it also means a great deal of troubleshooting, and it seems less flexible than Fusion or SolidWorks while being noticeably less informative when it tells you something has failed.

Image needed

/images/nintendo-64-cad/features.webp

Rendered top-and-rear view of the reconstructed console, greyscale

features.webp
Revolved feet, patterned ventilation cutouts, extruded lettering.
Image needed

/images/nintendo-64-cad/rounds.webp

Creo model of the Nintendo 64 top shell with datum planes and reference curves visible around the cartridge slot and buttons

rounds.webp
Modelling in Creo: datum planes locating the cartridge slot and button details.