SolidModelBrowser — convenient viewing of STL, 3MF, OBJ, especially for those who have a 3D printer

This story began a few years ago when I bought a 3D printer. Of course, at first, I didn't really understand how this technology works and how strong and useful its plastic sculptures would be. However, after quickly training and adjusting this machine, I was surprised and quite satisfied with the quality of the plastic products, the layer bonding, and the accuracy of their geometric dimensions. Of course, later on, there were some upgrades to the device, but that's not the point now.

Printing toys from Thingiverse quickly bored me, and I bought my printer with a big focus on technical stuff. The printer soon became one of my favorite toys, and the Blender+Cura bundle allowed me to sculpt models of small parts in minutes, sending them to print. A wheel on the sofa broke - no need to run to the store, some kind of mount or bracket broke off - and the hotend fan is already buzzing. Pins, footrests, mechanism elements, and of course, a bunch of various jars and boxes...

The STL and 3MF library grew. And at some point, it became clear that I didn't remember which file contained which part. Although the files had meaningful names in English, I just forgot what and how I named them, and it became increasingly difficult to navigate the growing mess. I needed some kind of convenient viewer. This is how the Solid Model Browser project was born a few years ago.

The application is built on the WPF platform and runs on Windows. The window displays the loaded model, a toolbar with buttons, and a file panel on the left, which changes its transparency as needed.

Moving through the list of files and directories, with the mouse or cursor keys, we immediately see the selected model, which is more convenient than opening each one in a slicer or editor just to remember what model it is or what version of the model it is.

The camera is controlled by the mouse - that is, its rotation and movement in space around the model.

I haven't made any settings menu yet, so all settings are set in the settings.ini file. This file will appear after the first launch of the program. You can also open this file by clicking the wrench button - the file will open in the application associated with this file type in the system.

The application can

Open STL, 3MF, OBJ files for viewing. Binary and text STL formats are supported, decoding of the main model from 3MF, partial support for OBJ (only triangle meshes).

  • Save the current view of the model from the camera with the specified resolution (SaveImageDPI setting)

  • Send the file to another local application (ExternalApp and ExternalAppArguments settings) so that you can quickly open the current file in a slicer or editor.

  • Rotate the model 90 degrees on all axes

  • Enable diffuse scattering, reflective, emissive, and diffuse materials for the inner wall. Adjust material colors (DiffuseColor, SpecularColor, EmissiveColor, BackDiffuseColor settings). By adjusting the materials, you can not only change their colors but also their transparency.

  • Switch camera modes - perspective and orthogonal. Change the viewing angle to get a wide-angle view, like a "fish-eye" effect.

  • Show XYZ axes

  • Fix normal and polygon vertex direction issues (only when viewing, without touching the original file)

  • Show model information, total number of vertices, polygons and normals, dimensions and coordinates of the model center

The application also has a light theme, which can be switched with the sun button next to the window control buttons.

Proper selection of materials can help to better view the model.

You can not only enable and disable materials, but also adjust their colors and transparency in the settings file. For example like this:

Application Parameters

  • Target platform .NET Framework 4.8, WPF (Windows 7 ... Windows 11)

  • Distribution size of version v0.1 about 100 KB

  • No installation required, copy the executable file to any empty folder.

  • The "default" settings file is created in the program folder after the first launch.

Loading model settings in another application

The upward arrow button "Open with other application" allows you to launch another application, passing a parameter to it. To do this, you need to set two parameters in the settings, for example:

  • ExternalApp=C:\Program Files\UltiMaker Cura 5.8.0\UltiMaker-Cura.exe

  • ExternalAppArguments=$file$

Then, when you click the button, the slicer will start with our model. The variable $file$ is replaced with the full path of the currently viewed model file.

Comments