Solidworks — это эталонный CAD для механического дизайна — он одновременно бесит и восхищает. Его можно было бы назвать стандартом индустрии, если бы в индустрии вообще был стандарт. Типичная шутка про Солид выглядит так:
1 Типа две одинаковые линейки дают более точный результат чем одна, или что?!
VCarve Pro — это «поделочный» CAD со встроенным CAM процессором с которым часто работают координатные станки для столярных работ. Только Богу Компланарных Сопряжений известно почему для точного расчёта пути этому процессору, помимо самой модели, необходим ещё векторный контур детали1. И, конечно же, никто в мире не знает как правильно экспортировать начерченное в Солиде говно в VCarve. Никто, кроме меня!
В 2015 мне понадобилось экспортировать в него корпус Кнопочной Фабрики для фрезеровки. Двигаясь методом «пол — это лава, наступать только на грабли», у меня ушёл день чтобы заставить этот софт сгенерить чёткие пути правильных размеров.
В Солиде был смоделен простой корпус подходящий под т.н. 2.5D фрезеровку. Его нужно было превратить в G-code для CNC фрезы.
Вот пошаговая инструкция, которая проверена на:
- Solidworks 2015
- Adobe Illustrator CS5
- VCarve Pro 8
Получаем вектор
- В Солиде создаём чертёж детали: File → Make Drawing From Part
- В настройках листа снимаем галку Display sheet format — нам не нужна легенда.
-
Ставим переключатель на Сustom sheet size и выбираем размер чуть больше, чем размер нашей детали. Подтверждаем выбор.
- Перетаскиваем на лист вид детали, который необходимо экспортировать. На этом этапе нет никакой необходимости изменять видимость и отображение линий.
- Нажимая Esc отменяем все дополнительные виды, которые Солид старается нам подсунуть на этот чертёж.
-
Правой кнопкой открываем свойства скетча и проверяем, что выбран масштаб 1:1 и тип проекции Projected.
- Выравниваем скетч по центру листа. Можно без фанатизма.
- Сохраняем результат через меню File → Save As .ai. Не сохраняйте многостраничные файлы с поддержкой pdf. Вместо этого экспортируйте в несколько отдельных .ai, если необходимо
- Открываем получившийся .ai в Иллюстраторе
- Проверяем габаритные размеры и список слоёв.
-
Открываем панель Document Info и в ней в правом верхнем углу в выпадающем меню устанавливаем галку Show Objects
- Сейчас наша задача замкнуть все, имеющиеся в файле, пути. Но сначала вручную нужно удалить весь мусор типа вспомогательной геометрии, опорных точек, анкоров и др элементов, которые вы не планируете фрезеровать.
- В случае, если все векторные данные хранятся в одном слое в виде скомбинированного объекта Compound path, необходимо выделить все (Ctrl+A) → ПКМ2 по выделенному пути → Release Compound path
- Теперь закрываем все пути. Есть много разных способов, но самый простой это выделить необходимое при помощи Group Selection Tool и затем выполнить Join (Ctrl+J). Проверям в Document Info значение open. Должно быть 0.
- Нет необходимости разделять разные контуры по разным файлам. VCarve осилит разобрать их из общего контейнера. Проследите, чтобы среди слоёв не осталось ничего лишнего. Сохраняйте файл File → Save As .ai
- Пора экспортировать саму модель. У компании Vectric есть хороший туториал о том как это делать. Частично повторю его здесь. В Солиде открываем модель и экспортируем её через File → Save As .STL Убеждаемся что единицы измерения и точность выбраны правильно.
- Открываем VCarve и создаём новый файл через New File. Переходим на таб Modeling и импортируем модель, выбрав STL-файл из прошлого шага. Настраиваем толщину материала, ориентацию и пр.
- Для правильной генерации путей нужно подсунуть VCarve наш почищеный вектор. Переходим в двумерный режим просмотра и там на вкладку 2D drawing tools в нижнем левом углу.
- Жмём кнопку Import vectors from a file и выбираем наш .ai. и проверяем, что после открытия он правильно ориентировался относительно модели.
Предельно интуитивный процесс, в общем.
У этой инструкции есть английская версия. Не спрашивайте.
⚠️ Каменты в режиме эксперимента. Нужна регистрация на GitHub и необходимо дать разрешение боту Giscus. Если это неприемлемо, можно комментировать прямо на GitHub.