Gcodetools руководство пользователя
Благодарности
Разработчики
-
Николай Дробченко (Nick http://www.cnc-club.ru )
-
Владимир Каляев (Dormouse http://www.cnc-club.ru )
-
Henry Nicolas (Alfcnc http://www.cnc-club.ru )
-
Chris Lusby Taylor (ChrisInNewbury http://www.cnc-club.ru )
Переводчики
-
John Brooker (greybeard из http://www.cnczone.com )
|
Tip
|
Примечание gcodetools - выделяет названия программных продуктов. Жирное начертание - определения Жирное начертание+курсив - клавиатурные команды Курсив - название операции (функции) в меню |
Описание программы Gcodetools
Gcodetools это расширение для графического векторного редактора Inkscape для создания G-кода на основе изображения. Gcodetools умеет генерировать G-код для различных видов обработки - фрезерование 2.5D, токарная обработка, раскрой материала и др.
Gcodetools и Inkscape распространяются под лицензией GNU GPL, т.е. бесплатно, в т.ч. для коммерческого использования. Обе программы кросплатформенные, есть дистрибутивы под Windows, Linux и MacOS.
Установка Gcodetools
Windows
Распакуйте архив и скопируйте все файлы в каталог Program Files\Inkscape\share\extensions\
Linux
Распакуйте архив и скопируйте все файлы в каталог /home/<имя пользователя>/.config/inkscape/extensions/ или /usr/share/inkscape/extensions/ и перезапустите inkscape
Версию, находящуюся в разработке, можно загрузить с http://www.launchpad.net/gcodetools при помощи bazaar, для этого выполните в консоли bzr branch lp:gcodetools или через веб-интерфейс http://bazaar.launchpad.net/~gcodetools.team/gcodetools/develope/files.
Возможности Gcodetools
-
Экспорт в Gcode
-
Экспорт кривых в Gcode
-
Аппроксимация с использованием круговой интерполяции (G02 и G03)
-
Автоматическое разбиение кривых для достижения заданной степени точности
-
Обработка со сменой инструментов
-
Экспорт Gкода в параметрической или обычной формах
-
Добавление собственных заголовков и окончаний
-
Выбор единиц измерения
-
Многопроходная обработка
-
Автоматическое добавление цифрового суфикса к назваию сохраняемого файла
-
-
Обработка на токарном станке
-
Создание траекторий для обработки детали на токарном станке
-
Расчет чистового прохода
-
Задание заглубления при чистовом проходе
-
Задание количества чистовых проходов
-
Два различных метода вычисления чистовых проходов
-
Замена стандартных осей
-
-
Обработка площади контуров
-
Создание траекторий для обработки площади контуров
-
Возможность коррекции созданных траекторий
-
-
Гравировка фигурными фрезами
-
Создание траекторий для обработки контуров фигурной фрезой
-
Задание произвольной формы фрезы
-
-
Библиотека инструментов
-
Здание различных параметров инструмента и обработки (диаметр инструмента, скорость обработки, заглубление за проход, скорость заглубления, задание произвольного кода перед/после заглубления, форма инструмента, произвольный код смены инструмента)
-
Возможность копирования инструментов
-
Возможность обработки со сменой инструмента
-
-
Система ориентирования
-
Задание масштабирования по всем осям
-
Задание поворотов в плоскости ХY
-
Задание смещения по всем осям
-
Ориентация по произвольным точкам
-
-
Постпроцессор
-
Создание произвольной программы постпроцессора или выбор из стандартного набора
-
Масштабирование и смещение Gcode
-
Произвольная замена команд (в том числе одновременная замена)
-
Параметризация Gcode
-
Округление длинны дробной части чисел в Gкоде
-
-
Предварительная проверка рисунка
-
Выделение маленьких контуров (возможных артефактов area)
-
Проверка принадлежности инструментов
-
Проверка порядка обработки
-
-
Плоттерная резка
-
Экспорт в Gкод для плоттера с тангенциальным ножом. Четвертая ось A - угол наклона ножа.
-
-
Общие
-
Проверка наличия обновлений.
-
Основные понятия
Контур
Gcodetools работает с кривыми безье - основным элеметном рисукнов в Inkscape. Все векторные объекты (фигуры, тексты, клоны) могут быть приведены к виду кривой Безье без потери точности. Для перевода объекта в кривую Безье (далее контур или path) нужно выполнить Контур-Оконтурить объект или нажать клавиши Ctrl+Shift+C.
Объект
Объекты не являющиеся контурами, т.е. те объекты, которые нужно преобразовывать в контуры:
-
Текст
-
Фигуры: Окружности, эллипсы, прямоугольники, звезды, многоугольники
-
Динамические втяжки
Чтобы определить, является ли объект контуром, нужно его выделить при этом в строке состояния должно быть написано Контур или несколько Контуров.
Размер объекта
По-умолчанию, Inkscape рассчитывает размер объектов исходя из его видимых размеров. Т.е. в линейные размеры объектов, помимо размеров контура, входят толщина обводки, размеры эффектов. Если вы нарисуете круг размером 10х10мм с обводкой 1мм, то Inkscape будет отображать его размер как 11х11мм, но при экспорте в G-код круг будет диаметром 10мм. Это связанно с тем, что основное предназначение Inkscape - векторная графика.
Чтобы Inkscape отображал реальные размеры контуров без учета обводк и эффектов нужно зайти в настройки Inkscape нажатием клавиш Ctrl+Shift+P, в самом верхнем пункте (Инструменты) изменить Площадка объекта на Геометрическая площадка.
Единицы измерения - по умолчанию Inkscape используется - px (пикселы). Соотношения между пискселами и другими единицами измерения
-
1 дюйм = 90 px = 25.4 мм
-
1 мм = 3.543 px ~ 0.03937 дюйма
-
1 px = 0.2822 мм ~ 0.01111 дюйма
Практически все внутренние вычисления проводятся в px. Единицы измерения можно изменить в настройках документа нажатием клавиш Ctrl+Shift+D. Можно настроить единицы отображения, единицы линеек и единицы сетки.
Интерфейс Gcodetools
Вкладки
Т.к. Gcodetools является стандартным расширением Inkscape, то возможности по созданию интерфейсов сильно ограничены. Выбор выполняемой функции определяется открытой вкладкой во время нажатия кнопки Применить. Например, если Вы хотите выполнить экспорт в G-код, то перед нажатием на Применить нужно открыть вкладку Path to Gcode. Если появляется следующая ошибка:
|
Warning
|
Select one of the action tabs - Path to Gcode, Area, Engraving, DXF points, Orientation, Offset, Lathe or Tools library. Current active tab id is "preferences" |
то это значит, что вы не открыли нужную вкладку перед нажатием Применить.
Раньше все вкладки Gcodetools были размещены на одном окне, но вкладок становилось все больше и больше и они перестали влезать на экран, поэтому пришлось разместить их на разных окнах. При этом одни и те же вкладки могут встречаться на нескольких окнах по мере надобности.
Live preview
Live preview - никогда не включайте Live preview. Чтобы окно Gcodetools не блокировало Inkscape и не закрывалось при нажатии Применить, Gcodetools сделан в виде live effect. Это обусловливает появление Live Preview. Но с live preview могут возникать проблемы, поэтому, лучше не трогайте live preview!
Дополнительные настройки
Некоторые настройки, такие как параметры инструментов и точки ориентации, вынесены с формы Gcodetools в сам рисунок. В этом случае их можно редактировать при помощи инструмента Текст (F8). Например, чтобы изменить подачу включите инструмент Текст и измените число напротив поля Feed в описании инструмента. Старайтесь редактировать такие параметры только при помощи инструмента Текст. Такие настройки, например определение инструментов можно копировать обычными методами Inkscape.
[IMPORTANT] Ни в коем случае не разгруппировывайте группы настроек, это удалит скрытые параметры и Gcodetools не сможет определить эти настройки!
Вкладка Path to Gcode
image::img/path-to-gcode-tab.png
Экспорт в G-код (Path to Gcode) - самая первая функция, с которой началась разработка Gcodetools. Она предназначена для экспорта контуров в Gcode для фрезерной обработки и раскроя материала. Режущий инструмент перемещается в плоскости XY повторяя выбранные контуры.
Path to Gcode использует Точки ориентации и характеристики Инструментов для определения параметров обработки (подача, скорость заглубления, заглубление за проход, дополнительный G-код перед/после контура (см. далее)). Если Точки ориентации или определение инструмента не были заданы, то Gcodetools добавит стандартный инструмент и стандартные точки ориентации, о чем будет дополнительное сообщение.
Path to Gcode это одна из основных функций и она будет использоваться на финальной стадии создания G-code практически для любого вида обработки.
По-умолчанию, Path to Gcode экспортирует выделенные контуры в G-code, если ничего не выделено то Path to Gcode попытается экспортировать все контуры на рисунке (это поведение можно изменить, отключив на вкладке Options опцию Select all paths if nothing selected).
Параметры Path to Gcode
Biarc interpolation tolerance - допуск по точности аппроксимации контура биарками. Изначально каждый сегмент контура аппроксимируется одной биаркой, затем вычисляется максимальное расстояние от биарки до сегмента контура. Если оно превышает заданный допуск в единицах измерения (заданных точками ориентации) то сегмент разбивается на две части, и процедура повторяется для каждой части отдельно.
Maximum splitting depth - максимальная глубина разбиения, максимально число итераций для аппроксимации сегмента контура биарками. Необходимо отметить, что конечное число частей. на которые будет разбит контур может быть гораздо больше, чем максимальная глубина разбиения. Оно ограниченно 2n, где n это максимальная глубина разбиения. Если необходимая точность достигнута на какой-то итерации, то сегмент контура не будет разбиваться далее. Если вы все-таки хотите, чтобы сегмент был разбит на максимальное количество частей, то просто установите допуск аппроксимации равным 0.
Cutting order - это порядок в котором будут обрабатываться контуры. Контуры обрабатываются в порядке следования Слоев на рисунке, сначала обрабатывается самый верхний слой, за тем слои которые находятся ниже. Внутри слоя очередность обработки может быть следующей:
-
Path by path - обработка ведется контур за контуром. Т.е. сначала обрабатывается перый контур целиком, затем второй и т.д. Все контуры обрабатываются на максимальную глубину перед переходом к следующему контуру.
-
Subpath by Subpath - обработка субкотура за субконтуром. Тоже самое, что и Path by path, но на уровне субконтуров. Контуры могут состоять из нескольких субконтуров. Например, контур с отверстием это два субконтура - внешний и внутренний. Даже если в субконтуре нет отверстий и он кажется непрерывным он все рано может состоять из нескольких субконтуров. Для того, чтобы разделить субконтуры нужно нажать Контур - Разбить (Ctrl+Shift+K). Для того, чтобы объединить контуры в один контур - Контур - Объединить или Ctrl+K.
-
Pass by pass - проход за проходом. Сначала будут обработаны все контуры на заглубление первого прохода, потом на заглубление второго прохода и т. д.
Depth function - при помощи этой функции можно дополнительно определить глубину обработки. При задании Depth function можно пользоваться математическими и другими фцнкциями python (например math.sin(), math.sqrt()). Также могут быть определены константы:
-
d - глубина обработки заданная при помощи точек ориентации
-
s - координата поверхности заданная при помощи точек ориентации
-
c - коэффициент цвета. Число от 0 до 1 определяющее яркость цвета контура (0.0 - белый, 1.0 - черный).
Sort paths to reduse rapid distance - сортировать контуры для того, чтобы уменьшить холостой пробег.
Вкладка Параметры
image::img/parameters-tab.png
Select all paths if nothing selected - если ни один контур не выбран и включена эта опция, то Gcodetools будет пытаться обработать все контуры на рисунке.
Minimun arc radius - EMC2 может выдать ошибку если радиус дуги G02 или G03 будет меньше 0.02 мм (также возможны ошибки в других контроллерах на маленьких дугах). Поэтому все дуги с радиусом меньше Minimun arc radius будут заменяться прямыми отрезками G01.
Get additional comments from objects properties - gcodetools может извлекать дополнительные параметры объектов из их свойств. Эти параметры можно отредактировать нажав правой кнопкой мышки на объекте и выбрав Свойства.
Comment Gcode - В этом поле можно задавать дополнительные коментарии которые будут отображаться перед началом обработки контура.
Вкладка Preferences
image::img/preferences-tab.png
File - название файла для сохранения готового G-кода.
Add numeric suffix to filename - если включена, к имени файла будет автоматически добавляться числовой суффикс для предотвращения перезаписи старых экспортов, например output.ngc → output_0001.ngc.
Directory - папка в которую будет сохраняться G-код. Удостоверьтесь, что у вас есть права на запись в этой папку, в противном случае Gcodetools выдаст ошибку. Если в этой директории содержаться файлы header или footer, то они будут использованы в качестве заголовка и окончания G-кода вместо стандартных заголовков.
Z safe distance for G00 move over blanc - безопасная дистанция над поверхностью материала на которой будут выполняться перемещения от контура к контуру. Выставляйте это расстояние больше всех элементов крепления заготовки, для того, чтобы быть уверенным в том, что вы не врежетесь в них инструментом.
Units - единицы измерения мм или дюймы определяет постановку кода G20 или G21 в готовый G-код.
Post processor - заранее заданные пост процессоры для дополнительной подготовки Gcode.
Additional post processor - вы можете задать произвольный пост-процессор. Подробнее о возможностях и синтаксисе пост-процессоров смотрите по ссылке: http://cnc-club.ru/forum/viewtopic.php?f=33&t=78 (пока только на английском).
Generate log file - генерировать файл лога.
Full path to log file - полный путь к лог файлу.
Вкладка Area
image::img/area-tab.png
При помощи вкладки Area можно создавать контуры для обработки площадей. Area использует внутренние функции Inkscape для создания контуров, а именно Dynamic offset (динамическая втяжка). После применения Area в рисунок будет добавлено необходимое количество динамических втяжек. Функция Area дает не самые лучшие результаты по качеству выборки материала. Если обработка ведется без нахлеста траекторий, то в острых углах будут оставаться необработанные участки.
Maximum area cutting curves - этот параметр нужен для того, чтобы избежать слишком большого количества динамических втяжек.
Area width - это онсновной параметр, от которого зависит количество добавленных контуров. Количество контуров равно Area width/Tool D (ширина контура/диаметр инструмента). Ширина контура это не ширна в общем смысле, это толщина в самом толстом месте.
Area tool overlap - параметр задающий нахлест траекторий. Это может быть необходимо для получения более чистого результата. 0.0 - означает без нахлеста, 0.9 - практически полный нахлест.
Вкладка Fill area
image::img/fill-area-tab.png
Fill area - функция служит для заполнения площади контура прямыми линиями. Заполнять можно по двум алгоритмам - зигзаг и спираль. Эта функция самая стабильная из всех функций по обработке площади, т.к. не требует сложных вычислений.
Area fill angle - угол наклона прямых. 0 - вертикальные линии.
Area fill shift - сдвиг "фазы" заполнения линиями (от 0 до 1).
Area fill overlap - нахлест траекторий. Нужен для получения более качественной обработки и более простого съема материала. (0 - без нахлеста, 0.9 - практически полный нахлест)
Filling method - выбор метода заполнения - зигзаг или спираль.
Вкладка Area artifacts
image::img/aria-artifacts-tab.png
Area artefacts Т.к. функция отступа кривой безье очень не простая, иногда она дает артефакты. А при увеличении количества отступов вероятность появления ошибок растет. Для поиска этих ошибок разработана функция Area artefacts. Она ищет контуры маленького размера и в зависимости от выбранного действия выделяет их цветом или стрелкой или удаляет.
Aretefact diametr - максимальный размер артефакта, все контуры меньше заданного размера будут выделены\удалены.
Action - действие производимое с артефактами. Выделить цветом, выделить стрелкой, удалить.
Вкладка Orientation points
image::img/orientation-points-tab.png
Orientation points (точки ориентации) нужны для позиционирования материала детали на станке/рисунке. При помощи точек ориентации можно задать масштаб, перемещение, поворот, растяжение по осям.
Если необходима только простая ориентация без не пропорциональных растяжений по осям и отражений, используйте ориентацию по двум точкам.
После применения Orientation points на рисунок добавятся две или три точки ориентации. Точка ориентации это стрелка с координатами. Положение точки определяется исходя из положения вершины стрелки.
При помощи точек ориентирования можно ориентировать деталь по конкретным точкам, для этого выберите любые две или три точки на детали, переместите в них точки ориентации и задайте для них желаемые координаты.
В самом простом случае, точки ориентации просто добавляются в рисунок и задают начало координат.
Точки ориентации применяются к текущему слою и все слоям ниже (до следующего слоя имеющего свои точки ориентации).
|
Important
|
Внимание! Не разгруппировывайте точки ориентации! Это приведет к их дисфункции! Для того, чтобы переместить только одну точку просто войдите в группу двойным щелчком мыши на группе. Координаты можно редактировать при помощи инструмента Text (F8) не разгрупповывая элементы. |
Orientation type - ориентация по двум или трем точкам.
Z surface - высота (координата Z) поверхности материала (начало обработки)
Z depth - глубина (координата Z) обработки.
_Units _- единицы измерения, для удобства стандартные точки ориентации добавляются в точках (0,0), (0,100) и (100,0) для миллиметров и (0,0), (0,5) и (5,0) для дюймов.
Вкладка Tools library
image::img/tools-library-tab.png
Tools library (библиотека инструментов). Библиотека инструментов создает шаблон для описания конкретного типа инструментов.
В описании инструмента можно задавать различные параметры, начиная с простых, таких как диаметр, скорость реза, заглубление за проход, и оканчивая более сложными - G-код до и после контура, которые позволяют задавать, например, коды включения или выключения шпинделя или другого режущего интсрумента.
Проверка обработки
Для того, чтобы увидеть, что будет реально вырезано, можно воспользоваться Inkscape и не использовать внешние инструменты. Для этого:
-
Выберите все контуры, которые будут экспортироваться или контуры предварительного просмотра
-
Назначьте им толщину обводки равную толщине обрабатывающего инструмента
-
Выберите скругление на углах контуров и скругление обводки на концах контура, во вкладке Стиль обводки на окне Заливка и Обводка
-
Таким образом обводка будет изображать профиль фрезы на всей траектории реза.