“BoltGen” generated an M12x90 crew with 55 662 triangular polygons with the default render mesh “Jagged and faster” (Rhino options > Mesh). If I change the render mesh to be “Smooth and slower”, the polygon count jumps to a massive 209 ﾠ444 polygons for just one screw. However, when I apply a custom render mesh to it with the settings from the screen-shot below, it reduces to 16 352 triangular polygons (still a huge number).
M12x90 (smooth and slower render mesh) (1).3dm (7.0 MB)
M12x90 (jagged and faster render mesh).3dm (3.5 MB)
M12x90 (custom render mesh).3dm (2.5 MB)
M12x90 (custom model).3dm (115.3 KB)
M12x90 (custom model, partial thread).3dm (119.1 KB)
209 ﾠ444 polygons = 7,04 MB
55 662 triangular polygons = 3,49 MB
16 352 triangular polygons = 2,46 MB
Not to mention that having a thousand of those screws in the viewport will tank the performance. This is why for some projects in the past I made my custom models of the most used screws that I needed. They lack the thread to reduce the rendering polygons to something like 200-300.
In this example, I made a simplified version of the same screw by retaining the head but replacing the thread with a basic cylinder. That resulted into 1 221 triangle polygons when using the “Smooth and slower” rendering mesh option, but once I apply a custom mesh to it the polygon count reduces to just 261. I always group my screws, nuts and washers with a central line and 2 or 3 points to make it easier to snap and orient them in the 3d space. And a circle at the tip of the screw shows the inner diameter of the thread (10,2 mm for M12).
If I want to have a partial thread, lets say starting 30 mm from the head, I just split the cylinder and use a different material (light grey) to mark the thread. That results into a model consisting 296 triangle polygons.
261 triangular polygons = 115 KB (full thread)
296 triangular polygons = 119 KB (partial thread)