В настоящий момент я занимаюсь созданием надстройки SolidWorks для экспорта 3D-моделей в формате OBJ.
OBJ открыт и очень простой формат
Я googled и узнал следующую информацию о существующих решениях: есть несколько платных плагинов и 1 бесплатный, который называется "Free OBJ Exporter"
Это было взято за основу. Но он не экспортирует наклейки.
Наклейки - это изображения, которые вы рисуете поверх основной текстуры (если вы отходите от контекста SolidWorks, в 3D-программировании это как отметки пуль, капли крови и т.д.)
Экспортные надписи являются важной частью проекта.
Я переписал весь код VBA на С#.
И теперь я сталкиваюсь с проблемой экспортных наклеек. Документация Solidworks API довольно плохая.
После недели чтения документации и нескольких вопросов по LinkedIn я обнаружил следующее:
IDecal
- это класс, наследуемый от IRendererMaterial
. Поэтому я могу получить список всех отличительных знаков и получить следующую информацию:
- Yposition
- Xposition
- Ширина
- Высота
Я также могу получить список объектов IFace2 и получить FaceDecalProperties
.
IFaceDecalProperties
предоставляет следующую информацию:
-
TextureTranslationU
-
TextureTranslationV
-
TextureTranslationX
-
TextureTranslationY
-
TextureUScale
-
TextureVScale
Что это такое, что он обозначает и как его использовать, я не знаю.
Формат OBJ не поддерживает прямые наклейки.
Как я могу использовать эти параметры для конкатенации текстуры и декалирования в одном файле? Я хочу сделать это для рендеринга наклейки на лицо и решить проблему Z-боя, потому что у меня нет исходного кода средства визуализации.