Как перенести 3д модель из компаса в 3д макс

Обновлено: 02.07.2024

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Наверное каждому, кто создает 3D-модели в Компас 3D знакома проблема с экспортом в STL. Во-первых, каждый раз нужно нажимать пресловутое "Сохранить как. ", там выбирать в длинном списке форматов "STL". Во-вторых, качество по-умолчанию очень грубое и изменить эти дефолтные настройки нельзя (ну по крайней мере я не нашел как) и поэтому нужно жать на стрелку, далее пункт "Сохранить с параметрами. ", затем тянуть ползунок качества и так каждый раз, снова и снова. В-третьих, если вы хотите снова распечатать ранее экспортированный файл, возникает сомнение "А все ли последние изменения я экспортировал ранее в STL?", и поэтому для уверенности приходится снова открывать модель и снова экспортировать.

Мне это очень надоело и готового решения в интернете я не нашел. Поэтому, поверхностно изучив API компаса, я написал библиотеку для автоматического экспорта в STL, весит она всего 36Кб, устанавливается один раз и очень просто, а работает следующим образом:

при любом сохранении модели, автоматически рядом с файлом модели сохраняется файл в формате STL с таким же названием как и основной m3d-файл модели. Качество по-умолчанию я так же сделал выше, чем дефолтное в компасе, а формат не текстовый, а бинарный, чтобы файл занимал меньше места на диске. Для тех, у кого большие проекты, в одной папке много моделей и не хочется засорять этот каталог еще и файлами STL для каждой модели, есть еще одна фишка. Если в папке с моделью создать папку с названием "STL" или "stl", то файл stl будет автоматически сохраняться в эту папку, тем самым все STL-файлы будут лежать в отдельной папке.

Шаг 2. Положить этот файл в надежное место в компьютере, чтобы ненароком не удалить его, например в папку компаса (C:\Program Files\ASCON\KOMPAS-3D v18 Home\Libs) или любую другую папку на вашем ПК.

Шаг 3. Запустить Компас3D и открыть пункт меню "Приложения"->"Добавить приложение" и выбрать файл Kompas3DPrint.rtw

Автоматический экспорт в STL из Компас 3D

Автоматический экспорт в STL из Компас 3D

Готово, дополнение установлено. Если после перезапуска оно вдруг перестало функционировать, проверьте наличие галочки автоматического подключения при запуске: "Приложения"->"Конфигуратор. "->"Приложения"->"Kompas 3D Print"->"Автоматически подключать при запуске системы". Там же его можно отключить или удалить если вам это потребуется или возникнут ошибки в работе компаса.

Автоматический экспорт в STL из Компас 3D

Приложение должно работать для версий 18.1 и 19. Для тех, кто не доверяет "левым" программам на github выложены полные исходники программы, можете скачать, изучить собрать программу самостоятельно из исходников. Ну и отказ от ответственности: программа полностью бесплатная, распространяется "как есть", автор не несет ответственности за правильную работу программы и любой прямой и косвенный ущерб, нанесенный ее работой. Если найдутся какие-либо ошибки, идеи, предложения, сообщайте мне, пишите тут в комментариях или в проекте на github, по возможности буду исправлять, дорабатывать.

Малыгин Александр Васильевич, старший преподаватель кафедры «Информационные технологии в машиностроении и инженерный консалтинг» Херсонского национального технического университета, г. Херсон, Украина.

Плюсы и минусы использования на одном предприятии CAD/CAM/CAE-систем от разных разработчиков обсуждались в САПР-изданиях неоднократно. В одних случаях такая ситуация обусловлена историей автоматизации, багажом старых разработок, выполненных в определенной системе. В других случаях — это стратегия, когда для каждой инженерной задачи выбран лучший, по мнению предприятия, продукт. Есть еще соображения экономии и нежелание зависеть от единственного разработчика.

В этой статье мы подробно рассмотрим, как ведет себя САПР КОМПАС-3D в окружении различных CAD/CAM/CAE-систем, насколько она отвечает требованиям информационной согласованности между системами, производительности и качества обмена данными.

Особенности преобразования данных при взаимодействии систем

Прикладным программам, например, программе генерации сетки для анализа по методу конечных элементов или траектории движения инструмента станков с числовым программным управлением (ЧПУ), требуется на входе техническое описание продукта. Данные технических требований делятся на два типа. Первый тип данных – это данные чертежа; они включают векторное описание линий и пояснительные данные, имеющиеся на чертеже. Ко второму типу данных технических требований относится представление твердотельной модели и некоторые пояснительные данные. Поэтому данные технических требований обычно импортируются из CAD-системы – либо автоматизированной разработки чертежей, либо из системы твердотельного моделирования.

Однако все CAD-системы хранят результаты проектирования, то есть данные технических требований, в своих собственных структурах данных, формат которых зависит от конкретной системы. Они могут не соответствовать входному формату используемой прикладной программы. Таким образом, когда две или более CAD/CAM/CAE-системы объединяются и связываются для совместного использования данных, возникает проблема обмена данными. Для решения этой коммуникационной проблемы необходима возможность преобразовывать данные технических требований одной системы в форму, понятную для других систем, и наоборот.

Различные CAD/CAM/CAE-системы хранят данные технических требований в структурах разного вида, поэтому для переноса данных необходимо преобразовывать данные технических требований одной системы в формат другой системы. Еще один конвертор необходим для обратного переноса данных между системами.

Конвертеры для обмена данными между системами

Также обмен данными можно обеспечить, введя нейтральную структуру данных, называемую нейтральным файлом, которая была бы независима от существующих САПР. Эта структура будет действовать как промежуточная точка коммуникации между различными структурами баз данных САПР.

Обмен данными между системами с помощью нейтрального файла

Например, «система 1» экспортирует данные в нейтральный файл, а «система n» импортирует данные из этого файла. В каждой системе будет своя пара конверторов для экспорта и импорта данных в этот нейтральный файл. Конвертор, преобразующий данные из собственного формата данной системы в нейтральный формат, называется препроцессором, а конвертор, выполняющий обратное преобразование, – постпроцессором.

При переносе данных технических требований через нейтральный файл некоторая информация, как правило, теряется, особенно информация о топологическом дереве и ограничениях в системах параметрического моделирования.

Преобразование данных при взаимодействии двух систем

Международными стандартами были приняты форматы нейтральных файлов: STEP, IGES, ACIS, Parasolid, STL, VRML, C3D, AutoCAD DWG, AutoCAD DXF и др.

Описание приведенных форматов и история развития описана в специальной документации 2.

Импорт – экспорт данных в САПР КОМПАС-3D

Система КОМПАС-3D поддерживает следующие форматы нейтральных файлов:

Форматы нейтральных файлов для импорта/экспорта данных в документах КОМПАС-3D

3D моделирование проектируемых изделий на сегодняшний день является основой любого технологичного производственного процесса.Однако в современных рыночных условиях немаловажную роль играет яркое и эффектная презентация продукции своего предприятия.Здесь на помощь приходит визуализация 3D моделей.В 80% случаев для этой цели используется пакет трехмерного моделирования 3D Max.Вся сложность заключается в корректном переводе файлов CAD систем в полигональные сетки. Мало того что 3D Max вообще не понимает CAD форматы, что ведет к некорректной полигональной сетке,, конвертация через промежуточные форматы может увеличить размер конечного файла десятки раз. А учитывая, что при создании рендеров и просчете визуализации система и так работает на пределе возможностей, объем визуализируемой сцены, здесь может иметь критически важное значение. Надо всегда стремиться, по возможности, уменьшить объем файла или сцены.

3D модели CAD

CAD система позволяет создавать 3D модели для дальнейшего производства, вовлекать их в технологическую цепочку предприятия, создавать чертежи на базе полученных 3d моделей и сборок, и готовить весь пакет технологической документации. К таким программам можно отнести – SolidWorks, Autodesk Inventor, ProEngeneer и множество других. Архитектура моделирования изделий в этих системах позволяет на любом этапе создания модели вернуться к предыдущему шагу, поменять какие либо параметры ( размеры, сами эскизы и т.п.) в результате чего модель сразу же может менять свою геометрию, а так же сама сборка ( если изменяемая деталь находится в составе сборки). Информация о действиях при создании 3D модели сохраняется в виде «дерева построения» — четкой иерархической структуре. Именно меняя параметры в дереве построения, меняется вся модель. И, конечно же, эти параметры задаются с высокой точностью, что и необходимо при производстве изделий и оказывает влияние на точность сборки в целом.

3D модели Poly

Программы полигонального 3D моделирования, 3DS Max, например, обладает колоссальными возможностями для создания сколь угодно сложных 3d моделей, но лишенных абсолютно какой либо ценности в плане дальнейшего их производства. Программа позволяет создать лишь примерную по точности 3D модель, из которой нельзя получить ни чертежей, ни чего либо другого.Поверхности в них формируются не точными математическими выражениями, контролирующими формы изделий, а наборами полигонов, которые могут «плавать» в плане точности.
Но огромный плюс программы – это возможность создать великолепные фотореалистичные изображения 3D моделей, сделать сложную анимацию. Именно в этом моменте получается, что необходимо состыковать сложные 3D модели, полученные из CAD систем с дальнейшей их визуализацией ( анимацией) в программе 3DS MAX.

Заказчик всегда хочет видеть четкое соответствие изделия, которое он проектирует с дальнейшей визуализацией этого самого изделия. Если речь идет об инвестициях в проект, инвесторы должны четко видеть и понимать, что предлагаемое изделие на презентации иди 3D ролике будет соответствовать заявляемому проектному образцу.

Перевод CAD 3D моделей в Poly

Мы не претендуем на истину в последней инстанции, просто хотим показать как можно осуществить подобную процедуру с получением необходимого результата.
За пример я возьму сборку, спроектированную в SolidWorks. Сборка SolidWorks – это фактически выстроенная система ссылок на детали, из которых состоит сборка. Связи между деталями осуществляются при помощи сопряжений и условий контактов.

Существует множество промежуточных форматов файлов 3D моделей, которые воспринимают различные программы трехмерного моделирования. Это .dwg, .iges, .fbx ,.obj и т.д.

Наиболее оптимальным вариантом промежуточного сохранения в данном примере я считаю перевод в промежуточный формат .step

Конвертация 3D моделей

Конвертация 3D модели

Видим, что все данные сохранились в одном файле, и объем его уже вырос почти на 50 %.Это произошло за счет внедрения данных по деталям из ссылки в сборке.

Изменение объема файла при конвертации

Объем файла step 3D модели

Работа с 3D моделью в Rhinoceros

Все конвертации я осуществляю через программу Rhinoceros.Это очень хорошая и мощная программа для 3D моделирования. Она сочетает в себе мощность NURBS моделирования и имеет большие возможности по работе с полигонами и сетками.Несмотря на кажущуюся простоту, это очень сложная в освоении программа.
Открываем полученную деталь в Rhino.

3D моделирование в среде Rhino

3D модель в Rhino 5

Rhino перевел все детали нашей сборки в полиповерхности. Теперь мы можем перевести все поверхности в сетки. Один важный момент – в сборках может быть большое количество однотипных деталей – винты, гайки и так далее. Лучше все детали в Rhino сразу загнать в слои.
Сейчас у нас есть только один слой. Если не разбить по слоям, при дальнейшем импорте в 3DS Max может возникнуть проблема, что все однотипные детали будут отдельными деталями, а не группами.Организация компонентов изделий по слоям существенно облегчит работу с 3D моделью.

Работа со слоями в Rhinoceros Слои в Rhino

Далее, используя функции mesh из Rhino мы конвертируем полиповерхности в mesh.Обязательно запускаем анализ получившихся сеток.

Создание mesh из polysurface в Rhino 5 Проверка корректности полигональной сетки в Rhinoceros

Таким образом мы смогли корректно переконвертировать поли в меш.Одновременно и сохранилась структура слоев. Открываем отдельно сохраненную сетку.Обратите внимание, что объем файла сетки по сравнению с исходным SolidWorks файлом увеличился с 500 кб до 838 кб.
И это еще без упрощения сетки. Далее проверяем сетку и упрощаем по количеству полигонов. Сделав пару тройку вариантов, добиваемся того, чтобы сетка совсем не была упрощена и геометрия совсем не ушла в Low-poly.

Перевод 3D модели surface to mesh

Reduce mesh в Rhino 5

Далее экспортирую чистый mesh в отдельный файл, открываем его Rhino.Теперь задача состоит в том, чтобы уменьшить размер Mesh так, чтобы он не повлиял на отображение модели с одновременным уменьшением веса. Как пример, я сделал reduce на уровне 30% от исходного mesh, полученного переводом из полиповерхностей. Обратите внимание – размер файла практически соразмерим с размером исходного файла ( было 495 кб в soidworks и стало 579 кб mesh)

Для экспорта в 3DS Max я так же рекомендовал бы экспортировать mesh слоями используя формат .3ds. Таким образом вы получите набор групп, к которым вы сможете применить материалы и визуализировать 3D модели тем рендерером, который используете в своей работе, например 3DS Max+V-Ray.

Перевод Solidworks в 3DS Max

Сконвертированный файл Solidworks

Экспорт 3D-моделей в STL формат


Для начала печати на 3D-принтере необходимо подготовить цифровую 3D-модель. Существует множество программ для 3D-моделирования, в которых можно создать 3D-модель, в какой именно программе создавать модель – не важно, но чтобы она была принята 3D-принтером, нужно экспортировать её в подходящий для большинства принтеров формат .STL. В этой статье мы расскажем, как сделать экспорт 3D-модели в STL-формат в самых распространенных программах для 3D-моделирования.

2. SolidWorks Student Design Kit (SolidWorks Student Edition)
Из учебной версии SolidWorks можно сделать экспорт в .STL только с помощью софта eDrawings, который обычно устанавливается с SolidWorks по умолчанию. Если этого расширения всё же не оказалось, то скачать его можно здесь.
В SolidWorks SDK можно сохранить 3D-модель в формате .SLDPRT. Для конвертации в .STL откройте нужный файл в формате .SLDPRT в eDrawings.
• В панели инструментов откройте File (Файл) -> Save As (Сохранить как)
• Установите тип файла .STL
• Сохраните

4. Autodesk 3ds Max (3D Studio Max)
• В меню программы нажимаем File -> Export
• Выберите тип файла -> StereoLitho *.stl
• Введите имя файла, сохраните, в диалоговом окне выберите тип файла -> Binary -> OK
Важно! Зачастую при экспорте в .STL из 3ds Max изменяются размеры моделей, чтобы этого избежать перед началом моделирования необходимо проверить указанные в программе единицы измерения. Если размеры модели заданы в миллиметрах, то в параметрах “Display Unit Scale” (единицы, в которых отображается модель в программе) и “System Units Setup” (единицы, в которых модель экспортируется) нужно установить именно миллиметры (часто по умолчанию стоят дюймы). Если вдруг обнаружили неверные единицы измерения при экспорте уже после того, как сделали модель – не беда, в любом случае нужно выставить мм, а затем масштабировать модель - в параметре “Distance from origin” указывается цифра во сколько раз будет уменьшена или увеличена модель в зависимости от установленных единиц, это значение и берем как коэффициент масштабирования. Например, если в параметре “System Units Setup” стояли дюймы, а нужно выбрать мм, то созданную модель нужно будет увеличить в 25,4 раз.

6. Blender
• В верхнем меню откройте вкладку File -> Export -> STL
• Укажите имя файла и место для сохранения экспортируемой модели
• Нажмите -> Export STL

7. Rhino (Rhinoceros 3D)
• В панели инструментов File (Файл) -> Save As (Сохранить как) -> тип файла Stereolithography (*.stl)
• Введите имя файла и сохраните его
• Выберите “Binary STL files”
• Снимите флажок с параметра “Export Open Objects”
• Сохраните
Параметр “Export Open Objects” позволяет экспортировать объекты, которые не являются полностью закрытыми, а это противоречит требованиям к 3D-моделям для 3D-печати.
Если этот параметр выключен, то экспорт «открытого» объекта в STL не удастся, а полигональные сетки/поверхности, служащие камнем преткновения будут выделены. Используйте команду ShowEdges (Показать Края) для поиска граней, нуждающихся в исправлении. Советы по исправлению полигональной сетки в Rhino.

8. Pro ENGINEER
• Откройте вкладку File -> Save a Copy
• Выберите тип STL и нажмите OK
• В появившемся диалоговом окне выберите стандартную систему координат Coordinate System -> Standard
• Отметьте Format -> Binary
• Установите минимально допустимые значения в параметрах Chord Height – 0 и Angle Control - 0
• Введите имя файла и нажмите OK

9. КОМПАС-3D
• В меню откройте “Файл” -> “Сохранить как…”
• Вберите тип файла .STL
• Нажмите “Сохранить”
Можно назначить параметры экспорта и таким образом получить наилучшее качество экспортируемой модели.
Начиная с версии V15.1 в КОМПАС-3D изменился диалог настройки параметров сохранения в STL. Если ранее настройка зависела от параметров точности, установленных для детали, то в новой версии появился диалог «Параметры экспорта STL».

Результаты сохранения с разными параметрами для шара диаметром 50 мм.
Для оценки параметров используется «Microsoft 3D Builder»
Максимальное линейное отклонение

Максимальное угловое отклонение

Максимальная длина ребра

10. Solid Edge ST6 - ST8
• Application Button -> Save As
• В появившемся выберите тип фала STL (.stl)
• Откройте пункт «Параметры»
• Укажите в “Conversion Tolerance” -> millimeters
• Определите значения допусков “Tolerance Units”
Чем ниже значение допуска, тем выше детализация модели, но также увеличивается вес файла за счет увеличения количества полигонов в сетке модели. По излишне тяжелой модели может быть сложно подготовить задание для печати на 3D-принтере.
• Отрегулируйте угол плоскости поверхности “ Surface Plane Angle”(в зависимости от желаемой гладкости поверхности) - чем ниже значение, тем больше точность (имеет смысл для небольших детализированных деталей)
• В пункте Output File as -> Binary
• Нажмите OK-> Save
Подробнее о параметрах для экспорта в STL в Solid Edge читайте здесь .
Solid Edge (старше ST6)
• Откройте модель и выберите File -> Save As…
• Выберите тип файла -> STL
• Зайдите в Options, задайте параметры: Conversion Tolerance не менее 0.0254 mm для FDM-печати; не менее 0.015 mm для PolyJet
• Установите Surface Plane Angle до 45°
• Выберите тип файла -> Binary
• Нажмите OK и сохраните

Blender 3D — Свободный редактор 3D-графики

Талмас Амантай

Талмас Амантай запись закреплена

Alexander Chaschin

Талмас Амантай

Alexander, спасибо, но это не то.Там описывают экспорт из блендера для 3Д печати, а мне нужен экспорт из Компаса с последующим импортом в блендер и что бы сетка не исказилась.

Alexander Chaschin

Талмас Амантай

Павел Харыбин

Талмасъ, а в чём проблема замоделить с нуля? Компасовский процесс моделирования это одно сплошное экструдирование. Но в блендере оно сделано куда лучше, даже не являясь при этом основным.

Талмас Амантай

Павел, там модель сложная, у меня пол дня уйдет что бы все мелкие детали отрисовать каждый винтик и заклепку + 2 детализированных редуктора. Если бы модель была проще то я бы с радостью все с нуля сделал, так и вправду было бы удобнее.

Павел Харыбин

Талмасъ, знаешь, в чём тут главная проблема? В том, что компас и блендер это абсолютно разные типы редакторов. Компас — твердотельное моделирование, блендер — поверхностное. Понятие "точная полигональная сетка" применительно лишь ко второму типу. В первом же типе моделируют не сетку а объём. Если говорить про топологию, то особенность компасо-подобных CAD-ов в том, что они динамически перестраивают топологию после каждого действия. На разных этапах у тебя будет и разная топология. С этим ты ничего не поделаешь. Либо автоматика импорта, либо ручное моделирование топологии с нуля.

Талмас Амантай

Павелъ, ясно, спасибо. Я наверное через stl импортирую и потом просто буду в ручную чинить сетку где мне будет нужно, видимо легкого пути не дано)

Павел Харыбин

Талмасъ, что касается винтиков, то в блендере есть аддоны-библиотеки объектов. Add mesh: extra objects. Воспользуйся ими.

Талмас Амантай

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

DELETED

Нормально все из компаса переносится (stl). Главное потом сглаживание настроить

Читайте также: