ЧПУ Подготовка

Плагин AVC_CNC к AutoCAD и BricsCAD

Формирование и оптимизация замкнутых полилиний для фрезеровки на ЧПУ внешних контуров, пазов, выпилов, четвертей и т.п. Контуры для захода фрезы во внутренние углы.

Аппроксимация сплайнов с заданным допуском.

Внимание!

Данный плагин больше не поддерживается.

Все команды вошли в состав A>V>C> Pro.

Если на вашем производстве используются фрезерные станки ЧПУ, то вам наверняка приходится готовить контуры деталей перед экспортом в CAM программу. Не достаточно сделать плоские снимки с 3D солидов. Нужно убрать наложения и пересечения линий, преобразовать сплайны к дугам, замкнуть контуры в полилинии, назначить правильные слои в соответствии с типом обработки. Всю эту работу можно сделать штатными средствами Автокада. Но это долго и можно не заметить многих ошибок. Для ускорения подготовки контуров предназначены команды из этого большого плагина.

Программа умеет:

- Делать плоские снимки с 3D солидов без лишних вопросов.

- Распределять линии снимков по слоям (видимы и невидимые отдельно)

- Делать плоские снимки с многогранных сетей (PolyFaceMesh) и любых других объектов Автокада

- Находить в куче линий контуры деталей, выбирать максимальные из них, помечая как контуры для фрезеровки понаруже.

- Находить максимальный замкнутый контур в наборе пересекающихся линий и дуг.

- Находить контуры вложенные друг в друга и распределять их по слоям – для наружной и внутренней фрезеровки.

- Замыкать контуры пазов, четвертей, выборок в петлю с использованием фрагментов наружного контура детали.

- Формировать дуги для захода круглой фрезы во внутренние углы детали (полная выборка углов).

- Формировать поверхность выборки внутреннего угла на 3D-солидах.

- Формировать дуги для выхода фрезы из паза за край детали (вместо обычного растягивания петли паза).

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

- Преобразовывать сплайны и эллипсы в линии и дуги с заданным допуском (максимальным отклонением от исходной кривой).

- Проецировать 3d сплайны и 2d и 3d полилинии на плоскость XY для преобразования в обычные полилинии.

- Переворачивать неправильные дуги, у которых NormalZ=-1.

- Работать с объектом 2d-полилиния, который возникает при взрыве текстов командой TXTEXP.

- Восстанавливать окружности из эллипсов и сплайнов, когда был криво спроецирован цилиндр (отверстие в солиде).

- Оптимизировать количество сегментов полилинии, убирать лишние стыки линий.

- Игнорировать мелкие случайные зазоры.

- Удалять мелкие мусорные объекты, склеивать крошечные обрезки линий в полноценные линии и дуги.

- Удалять линии наложенные одна поверх другой или расположенные слишком близко.

- Заменять мелкие цепочки линий на дуги и наоборот, слишком прямые дуги на линии.

- Подправлять слегка покосившиеся горизонтали и вертикали.

- Работать в ПСК (UCS). Все объекты будут спроецированы на плоскость XY текущей ПСК.

- Фильтровать выбранные линии, игнорируя невидимые и вспомогательные по слоям и типу линий.

- Настраивать допуски, как по размерам, так и по углу.

- Включать и отключать управление слоями.

- Использовать слои из файла-шаблона.

- Находить слишком широкие пазы и назначать им слой Выборка

- Указывать диаметр отверстий в имени слоя сверловки (для диаметров не больше фрезы).

- Указывать заданную глубину фрезеровки в именах слоев (для отверстий, пазов и выборок).

- Проставлять два габаритных размера на всех солидах и контурах одним кликом.

Отдельного упоминания стоит команда «ЧПУ Подготовка» (NCP), которая максимально автоматизирует оформления контуров по солидам. Команда сама вычисляет глубины фрезеровки, наклоны пильного диска, проставляет габаритные размеры и размеров под торцевую присадку, обозначает диаметры сверлений, правит высоты текстов.

Данная программа НЕ заменит CAM-программы, она не умеет программировать станки в G-кодах, раскладывать детали по листам заготовок. Задача программы другая – подготовить аккуратные DWG-контуры для экспорта, чтобы технолог легко сделал программы 2d обработки в любой CAM-программе.

Если вам понадобится оптимизировать программу для ваших нужд - я готов это сделать. Предложите вашу цену.

BricsCAD не умеет делать слепки (FlatShot) с солидов, поэтому мне пришлось создать упрощенный алгоритм проецирующий ребра солидов. У меня нет возможности определить видимость ребер и создать силуэты поверхностей.

Команды

DDL - DadoLoop – Контур выборки - Формирование замкнутой полилинии для фрезеровки пазов на ЧПУ

OSL – OutsideLoop – Внешний Контур - Замкнуть сегменты в полилинию. Конвертация любых кривых в полилинии. Оптимизация контуров.

IC - InsideCorner - Внутренний угол - Контуры для захода фрезы во внутренние углы

FLT – Flat – Плоский – Получить плоский чертеж с любого объекта Автокада. Проецировать все на плоскость XY

DimOveral - Габариты - Проставить два габаритных размера на всех солидах и контурах

NCP – NC Prepare – Подготовка контуров с размерами и аннотациями по 3D-солидам. Работает с солидами, видимыми через вьюпорт.

+Options - Диалог настроек. В Автокаде команда вызовет обычный диалог настроек на последней закладке которого вы сможете настроить все команды плагина. В БриксКАДе откроется специальный диалог настроек.

Плоский (FLT)

Команда опубликован отдельным плагином. Подробное описание см. на странице Плоский

Габариты (DimOverall)

Команда опубликован отдельным плагином. Подробное описание см. на странице Габариты

Внутренний угол (IC)

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

Вы можете задать любой диаметр фрезы. По умолчанию диаметр = 8мм. Программа начертит дугу диаметром чуть больше фрезы (на 0,01 миллиметра) и расположить ее в углу так, чтоб обеспечить доведение фрезы до угла, но при этом оставить минимальные лишние дыры. В качестве исходных данных вы можете выделить две линии или линию и дугу. Главное чтоб они лежали в одной плоскости и имели общую точку. Так же вы можете выбрать через Ctrl два сегмента полилинии (прямых или дугообразных).

Команда может обработать все внутренние углы замкнутой полилинии. Надо только задать с какой стороны контура пойдет фреза – снаружи или изнутри контура. Можно задать это с помощью слоев – если контур на слое NC_Наружный, то выборка делается снаружи, если NC_Внутренний - то изнутри.

Так же возможно делать заходы в трехмерной модели. Вы можете выбрать солид, чтоб сделать заходы во все внутренние углы или можете выбрать через Ctrl ребро, к которому примыкают две плоских поверхности твердого тела, образующие внутренний угол. С цилиндрическими поверхности программа пока не работает.

Программа работает по циклу, пока вы не нажмете Esc

В опциях команды можно выбрать режим выделения подобъектов (сегментов полилинии), чтоб не держать Ctrl.

Программа ориентирована на работу с углами 90° и тупыми углами. На острых углах такой метод захода не работает т.к. полученный контур имеет очень узкий участок. Программа автоматически вычислит самый острый угол, который сможет пройти фреза за счет заданного зазора. Например, если фреза 8мм, а зазор 0.01, то будут проигнорированы углы острее 87.1°. Если зазор не задан, то будет использовано ограничение > 90° – 0.5°(допуск по углу).

Делать заходы в слишком тупые углы тоже не имеет смысла, т.к. «выгрыз» в детали может оказаться едва заметными, меньше погрешности. Программа автоматически вычислит самый тупой угол, для которого имеет смысл делать заход фрезы (при котором дуга войдет в деталь на глубину заданную допустимой погрешностью). Например, для фрезы 8мм и погрешности 0.5мм будут проигнорированы углы тупее 122.1°

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

Внешний контур (OSL)

Команда OSL (от Outside Loop) работает аналогично обычным командам Join и Boundary: объединяет линии и дуги в полилинию. Но в отличие от Join эта команда может на много больше:

    • Ищет самый большой наружный контур.

    • Допускает, чтоб линии пересекались. Все хвосты будут отрезаны.

    • Замыкает контуры внутри наружного.

    • Соединяет небольшие разрывы в контуре.

    • Преобразует сплайны и эллипсы в линии и дуги с заданным допуском.

    • Удаляет мусор, мелкие отрезки, точки, наслоения аналогично команде чистки Overkill.

    • Объединяет линию, разбитую на сегменты в одну целую. Тем самым оптимизирует количество сегментов.

    • Переворачивает дуги у которых NormalZ=-1. Это те самые дуги, которые оставляет FlatShot и из-за которых невозможно ни вытянуть твердое тело, ни обработать на ЧПУ.

    • Раскидывает полученные контуры по слоям. Используются слои из шаблона. Если обнаружены внутренние контуры, то программа может записать глубину фрезерования в имя слоя.

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

  • Умеет заменять цепочки мелких линий дугами, и наоборот, слишком прямые дуги – прямыми линиями.

  • Умеет подправлять слегка покосившиеся горизонтали и вертикали.

    • Вызывает команду Внутренний угол для формирования заходов фрезы в угол. Опция подключается отдельно для внешних и внутренних контуров.

    • Можно сформировать сразу несколько контуров за один вызов команды.

  • Работает в пределах заданных, настраиваемых погрешностей.

В итоге на выходе получается контур пригодный для дальнейшей обработки на ЧПУ.

Настройки команды можно найти в Опциях Автокада на закладке ЧПУ. А управления слоями и шаблон слоев можно задать на закладке A>V>C> в разделе Общие настройки.

Контур выборки (DDL)

Команда DDL (от англ. DadoLoop) предназначена для замыкания контуров выборок, пазов, четвертей. Работает только с чертежами из линий, дуг, полилиний лежащих в плоскости XY. Вначале работы команда запрашивает диаметр фрезы, чтоб обеспечить проходимость петли. Затем программа запрашивает контур выборки. Это могут быть дуги, линии, полилинии и сплайны. Можно выбрать два параллельных контура, если это паз. Далее программа ищет основной контур детали. Без него работа не возможна. Основной контур должен быть замкнутой полилинией и выбранный вами контур выборки должен заканчиваться на контуре детали. Затем программа строит петлю так, чтоб обеспечить проход фрезы заданного диаметра, но минимально изводить обрезки на опилки. Кроме того программа делает заходы фрезы во все внутренние углы контура выборки (Вызывается команда «Внутренний угол»), чтоб обеспечить полную выборку, чтоб в паз можно было вставить прямоугольные детали. Готовая петля замыкается в полилинию.

Программа работает по циклу, пока вы не нажмете Esc.

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

Программа может работать с диаметром фрезы равным нулю – в этом случае контуры выборки просто замыкаются по контуру детали, без заходов фрезы в угол. Только учтите, что сброс учета диаметра фрезы влияет и на работу команд NCP и OSL.

Вы можете задать в настройках глубину фрезерования. Эта цифра будет добавлена к имени слоя.

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

Настройки команды можно найти в Опциях Автокада на закладке ЧПУ.

ЧПУ Подготовка (NCP)

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

Для использования команды требуется подготовка:

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

  • Настройте текущий стиль размеров (_DimStyle). Обратите внимание на точность отображения линейных и угловых размеров.

  • Настройте текущий стиль и высоту текстов (_Style и TextSize). Высота текстов должна соответствовать пространству листа, а не модели.

  • Вызовите диалог настройки автокада (Options). На закладке ЧПУ проверьте диаметр фрезы, допустимую погрешность и все настройки программы. Отметьте нужные опции команды NCP.

  • Выложите солиды-детали в плоскость XY. Лучше всего использовать команду Выкладка (LAY)

  • Настройте лист (layout) и на нем видовой экран (viewport) так чтоб был виден один или несколько солидов. Если видны несколько солидов, то оставьте между ними достаточно пространства для простановки размеров.

  • Команда не сработает, если вы не выбрали лист, но вы можете работать в модели через вьюпорт.

  • Вызовите команду NCP.

  • Команда работает только с одним вьюпортом. Если их несколько на одном листе, то будет запрос выбора вьюпорта.

  • Команда максимизирует вьюпорт на экране и заблокирует его масштаб.

  • Глубины фрезеровки и диаметры отверстий в именах слоев будут округлены в пределах заданного допуска. Формат написания настраивается в Общих настройках плагинов AVC.

  • Все аннотации будут в пространстве листа, а не в модели.

  • После выполнения всей работы команда напишет в консоль, сколько солидов обработано.

  • Исходные солиды будут заменены на плоские контуры.

  • Поправьте положение выносок и размеров. Программа не может расположить их идеально.

  • Войдите в модель и вызовите Контур Выборки (DDL) для замыкания контуров пазов. Это пока не делается автоматически.

  • Проверьте контуры, попавшие в слои NC_внутренний. Некоторые из них могут быть обработаны наоборот, по наруже – ваша задача выбрать оптимальный алгоритм фрезеровки.

Помните, что команда предназначена для получения контуров для 2.5D-фрезерования. Она не сможет оформить чертежи сложных трехмерных изделий.

BricsCAD не умеет делать слепки (FlatShot) с солидов, поэтому мне пришлось создать упрощенный алгоритм проецирующий ребра солидов. У меня нет возможности определить видимость ребер и создать силуэты поверхностей.

Настройки команд ЧПУ

Вы можете вызвать диалог настроек из любой команды, выбрав опцию НАстроить. Кроме того, опции программы есть обычном диалоге настроек Автокада на закладке ЧПУ. В БрискКАД настройки можно вызвать командой +Options. У всех опций есть всплывающая подсказка.

На работу команд из этого плагина влияют Общие настройки всех плагинов A>V>C>

Следите за консолью – туда выводятся все сообщения программы.

Известные проблемы

  • DDL – невозможно замкнуть контуры пазов с ответвлениями и пересечениями. Программа принимает на входе не более 2х контуров, а каждое ответвление – это новые изолированные контуры. Вы можете разбить разветвлённый паз на несколько простых, просто перемкнув его в подходящем месте.

  • OSL – Помещает все контуры внутри наружного в слой NC_Внутренний. Но это не всегда верно. Бывают выступы на детали внутри выборок. И их надо фрезеровать снаружи контура. Программа не может это понять по плоским снимкам. Будьте внимательны.

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

Особая благодарность:

Данная программа базируется на коде изначально написанном Сергеем Донсковым.