Началась эта история с того, что несколько лет назад я купил 3D принтер. Конечно, по началу не представлял толком, как эта технология работает, и насколько прочными и полезными будут его пластиковые изваяния. Однако, быстро натренировавшись и отрегулировав эту машинку, я был удивлён и вполне удовлетворён качеством пластиковых изделий, спайкой слоёв и точностью их геометрических размеров. Конечно, в последствии не обошлось без модернизаций аппарата, но сейчас не об этом.

Печатать игрушки с thingiverse мне, конечно, надоело быстро, да и брал я свой дрыгостол с большим прицелом на техничку. Принтер вскоре стал одной из любимых игрушек, а связка Blender+Cura позволяла лепить модели мелких деталей порой за считаные минуты, отправляя их затем на печать. Сломалось колёсико у дивана - не в магазин же бежать, отломилось какое-нибудь крепление или кронштейн - и уже гудит вентилятор хотэнда. Штырьки, подпятники, элементы механизмов, и конечно, куча всяких баночек и коробочек...

Библиотека STL и 3MF росла. И в какой-то момент стало понятно, что я не помню, в каком файле лежит та или иная деталь. Хоть файлы и имели осмысленные названия на английском, но я просто уже забыл, что и как назвал, и ориентироваться в разрастающейся свалке становилось всё труднее. Нужен был какой нибудь удобный просмотрщик. Вот так и зародился несколько лет назад проект Solid Model Browser.

Приложение создано на платформе WPF и работает под Windows. В окне отображается загруженная модель, панель инструментов-кнопочек, и файловая панель слева, меняющая свою прозрачность по мере её востребованности.

Перемещаясь по списку файлов и каталогов, мышкой или курсорными клавишами, мы сразу же видим выбранную модельку, что удобнее, чем открывать каждую в слайсере или редакторе, только ради того, чтобы вспомнить, что это за модель, или что за версия модели.

Камера управляется мышкой - то есть её вращение и перемещение в пространстве вокруг модели.

Никакой менюшки для настроек я пока не сделал, так что все настройки устанавливаются в файле settings.ini. Этот файл появится после первого запуска программы. Также можно открыть этот файл нажав кнопку с гаечным ключиком - файл откроется в приложении, ассоциированным с данным типом файлов в системе.

Приложение умеет

Открывать для просмотра STL, 3MF, OBJ файлы. Поддерживаются бинарные и текстовые STL форматы, декодирование основной модели из 3MF, частичная поддержка OBJ (только меши из треугольников).

  • Сохранять текущий вид модели с камеры с заданным разрешением (настройка SaveImageDPI)

  • Отправлять файл в другое локальное приложение (настройки ExternalApp и ExternalAppArguments), чтобы можно было быстро открыть текущий файл в слайсере или редакторе.

  • Поворачивать модельку на 90 градусов по всем осям

  • Включать материалы диффузного рассеяния, отражающего, излучающего и диффузного для внутренней стенки. Настраивать цвета материалов (настройки DiffuseColor, SpecularColor, EmissiveColor, BackDiffuseColor). Настраивая материалы, можно не только менять их цвета, но и прозрачность.

  • Переключать режимы камеры - перспективный и ортогональный. Менять угол обзора для получения широкоугольного вида, типа эффекта "рыбий глаз".

  • Показывать оси XYZ

  • Устранять проблемы нормалей и направления вершин полигонов (только при просмотре, не трогая исходный файл)

  • Показывать информацию о модели, общее количество вершин, полигонов и нормалей, габариты и координаты центра модели

Также в приложении есть светлая тема, переключается кнопкой с солнышком возле кнопок управления окном.

светлая тема
светлая тема

Правильный подбор материалов может помочь рассмотреть модель лучше.

Здесь отключен основной диффузный материал поверхности, но при этом включен диффузный материал внутренних сторон стенок модели
Здесь отключен основной диффузный материал поверхности, но при этом включен диффузный материал внутренних сторон стенок модели

Можно не только включать и отключать материалы, но и настроить их цвета и прозрачность в файле настроек. Например так:

другой вариант расцветки основных трёх материалов
другой вариант расцветки основных трёх материалов

Параметры приложения

  • Целевая платформа .NET Framework 4.8, WPF (Windows 7 ... Windows 11)

  • Размер дистрибутива версии v0.1 около 100 KB

  • Установка не требуется, скопируйте исполняемый файл в любую пустую папку.

  • Файл настроек "по умолчанию" создаётся в папке программы после первого запуска.

Настройка загрузки модели в другом приложении

Кнопка со стрелочкой вверх "Open with other application" позволяет запустить другое приложение, передав в него параметр. Для этого нужно в настройках задать два параметра, например так:

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

  • ExternalAppArguments=$file$

Тогда при нажатии на кнопку будет запускаться слайсер с нашей моделькой. Переменная $file$ заменяется на полный путь текущего просматриваемого файла модели.

Github

Скачать исходники или последнюю сборку можно на гитхабе.

Надеюсь, кому-то из читателей Solid Model Browser тоже поможет лучше ориентироваться в локальной библиотеке 3D моделей и отправке их на печать. Удачи!

Комментарии (2)


  1. lonelymyp
    17.10.2024 18:10

    Если хочется просто ориентироваться в проводнике по куче 3Д файлов, то иконки с превью можно включить через PowerToys например или любую другую бесплатную софтину.


  1. Tirarex
    17.10.2024 18:10

    Хорошая идея, очень давно искал софт который будет быстро открывать 3д модели, дабы не ждать 3ds max/blender и их медленную загрузку. Если добавить поддержку распространенных форматов обычных 3д моделей (fbx / 3ds / gltf /glb и тому подобных) с загрузкой текстур, а так же докурить рендер (pbr / ibl + тени), то будет ультимативное решение для просмотра моделей.

    C шейдерами и рендером могу помочь.