Доброго времени суток уважаемые форумчане!
У меня назрел один вопросик, не знаю как решить проблему. Суть вот в чем:
Создал постпроцессор на станок в Постбилдере, допустим 3х-осевой (допустим — потому как это не важно, многоосевой обработки нет) под Синумерик 840. И все хорошо, все замечательно работает, но совершенно неожиданно и непредсказуемо из цеха прилетает «привет», станок выдает ошибку «Ошибка точки конца окружности». Траектории либо Adaptive_mill или Cavity_mill — это на каких траекториях я это замечал, причем ошибка как я уже сказал, совершенно неожиданная, потому как этим же постом я выводил УП на другие детали с такими же (по типу) траекториями и все было хорошо.
Однажды ошибку выдало ну почти в начале траектории и я смог не много «поразвлекаться» с этой ошибкой. Вывел УП и вывел CLS файл и каково мое удивление что некоторых точек нет в УП которые есть в CLS файле и кадры в УП получились так что действительно есть ошибка в определении кадра круговой интерполяции (уже строил траекторию по точкам в Компасе) определение I J получились не корректны, но если брать не достающие точки то они корректны для последней «потерянной», и кстати сказать радиус был маленький 3….4 сотки. Но это получилось отследить только один раз, в остальных не ожиданных случаях это было где то глубоко в программе и сложно найти. Решал либо менял глубину резания и пересчет, либо (в последнем случае) точность повысил (а зачем это для черновой выборки? — не зачем) и в настройках поста увеличил точность дуги и уменьшил мин радиус (хотя изменения настройки поста не помогли).
Вопрос, куда копать? Где закралась проблема? Может кто уже решал это?
Просто не удобно выходит сосчитал УП вывел и ушел в отпуск, а там такой сюрприз, узнаю только когда вышел!
Благодарю за любую подсказку и помощь. Проекты и пост выложить не могу, они на работе, а с работы фиг чего вынесешь — безопасность не спит!
Доброго всем.
Уважаемые форумчане столкнулся с такой проблемой.
есть 2 окружности R500 и R400 с известными центрами. к ним проведена касательная.
Контур задан из т1, лежащей на окружности R500 в точку 2 на R400. T3 и T4 — точки касания прямой и окружностей.

беда в том, что при обработке на станке в этих местах происходит «преломление» контура. На выходе видим ситуацию как на картинке в красном кружке. причем ситуация имеет место в обеих точках перехода.
вот выдержка из программы
N1810 G0 X200 Z514.494
N1820 G1 G41 X197.3 Z514.494 F0.45 ;подход с коррекцией в Т1
N1821 G3 X183.357 Z619.282 CR=550 F0.3 ;R550 в Т3
N1880 G1 X166.26 Z1093.591 F0.45 ;конус в Т4
N1881 G3 X166 Z1108 CR=400 ;R400 в Т2
N1860 G40 X210 F2
полное впечатление, что при расчете траектории станок не может дотянуться заданным радиусом в конечную точку окружности и смещает ее центр. Отсюда и происходит зарез.
пробовал программировать с указанием центра окружности
N1810 G0 X200 Z514.494
N1820 G1 G41 X197.3 Z514.494 F0.45 ;подход с коррекцией в Т1
N1821 G3 X183.357 Z619.282 I=AC(639.095) K=AC(733) F0.3 ;R550 в Т3
N1880 G1 X166.26 Z1093.591 F0.45 ;конус в Т4
N1881 G3 X166 Z1108 I=AC(566) K=AC(1108) ;R400 в Т2
N1860 G40 X210 F2
получаю ошибку «Ошибка конечной точки окружности».
в общем «концов» пока найти не могу. С этой стойкой мало общался, может чего не так делаю? помогите чем можете))
Токарный ЧПУ Sinumerik 840D
#1
![]()
OFFLINE
Отправлено 18 Февраль 2011 — 18:34
Добрый день.
Станок Beaver 25AVLT, стойка управления Sintec. При запуске программы или симуляции выдает ошибку: L22 Arc destination not on.
останавливается на G3 G17 X310. Y-10.074 I310 J-40.074 F4000
подскажите, пожалуйста, что неправильно?
текст программы:
(NC FILE : proba1)
(DATE : 18 .02 .11 & TIME — 13 :25 :10)
G40
M05
M01
(=================)
(TOOLPATH : 1_1)
(STRATEGY USED : Profile)
(TOOLPATH WP : World)
(=================)
(TOOL TYPE : ENDMILL)
(TOOL NAME : FRC20)
(TOOL DIA.: 20 & TIP RAD.: 0)
T4
G43 H4
S18000
M03
G90
G0 G40 X340. Y-40.074
Z30.
G1 Z20. F1000
G3 G17 X310. Y-10.074 I310 J-40.074 F4000
G1 X.867
-
0
- Наверх
#2
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 18 Февраль 2011 — 18:54
G17-G19 Переключение рабочих плоскостей (XY, XZ, YZ)
G17 у вас нужен? нет ,удалите и проверьте
для ArtCam попробуйте вот этот постпроцессор Syntec_u00.rar
для Type3 вот этот
Сообщение отредактировал MiG: 18 Февраль 2011 — 19:25
-
0
- Наверх
#3
![]()
OFFLINE
Sullen
Отправлено 19 Февраль 2011 — 00:43
Похоже что спотыкается именно на G3, может быть такое что станок не понимет эти команды?
-
0
- Наверх
#4
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 19 Февраль 2011 — 00:48
понимает отлично
удаляли G17? она вообще не нужна там
постпроцессоры что выложил — именно на этот станок при пусконаладке даю людям…проверенные короче ![]()
или вы в другом CAMe делаете уп?
пример рабочей уп
G90
G49
G40
G80
G54
M6 T1
G43 H1
M03 S20000
G90
G0 X0.000 Y0.000
G0 Z10.000
G0 X273.824 Y1349.819 Z10.000
G1 Z-10.000 F500.0
G2 X480.184 Y1479.394 I+193.012 J-78.278 F6000.0
G2 X668.275 Y1324.487 I-13.348 J-207.853
G3 X912.498 Y1071.292 I+275.554 J+21.407
G3 X1207.479 Y1262.967 I+31.331 J+274.603
G3 X722.557 Y734.620 I-125.574 J-371.454
G3 X273.824 Y1349.819 I-631.867 J+10.364
G0 Z10.000
G0 X0.000 Y0.000
M05
M30
Сообщение отредактировал MiG: 19 Февраль 2011 — 01:12
-
0
- Наверх
#5
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 20 Февраль 2011 — 05:21
L22 Arc destination not on.(направление дуги не указано,по часовой против часовой)
G3 G17 X310. Y-10.074 I310 J-40.074 F4000 то-есть эта самая G17 перекрывает G3
или удалять G17 или ставить её перед G3
ПРИМЕР
G17 G3 X310. Y-10.074 I310 J-40.074 F4000
Сообщение отредактировал MiG: 20 Февраль 2011 — 05:24
-
0
- Наверх
#6
![]()
OFFLINE
Sullen
Отправлено 02 Март 2011 — 20:46
Исправил постпроцессор (PMPost), убрал G17, все равно пишет ту же ошибку.
G90
G49
G40
G80
G54
M6 T1
G43 H1
M03 S18000
G90
G0 X45.000 Y-30.000
G0 Z26.000
G1 Z16.000 F1000
G2 X75.000 Y0 I+75.000 J-30.000 F4000
G1 X150.000
G3 X200.000 Y50.000 I+150.000 J+50.000
G1 Y100.000
G2 X150.000 Y150.000 I+200.000 J+150.000
G1 X50.000
G3 X0 Y100.000 I+50.000 J+100.000
G1 Y0
G1 X75.000
G2 X105.000 Y-30.000 I+75.000 J-30.000
G0 Z26.000
M5
M30
-
0
- Наверх
#7
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 03 Март 2011 — 01:22
в коде уп все нормально…
попробуйте сдвинуть модель чтоб точка вреза была не -30 а в положительных значениях или 0
————-
G90
G49
G40
G80
G54
M6 T1
G43 H1
M03 S18000
G90
G0 Z26.000
G0 X45.000 Y0.000 Z26.000
G1 Z16.000 F1000.0
G2 X75.000 Y30.000 I+30.000 J-0.000 F4000.0
G1 X150.000 Y30.000
G3 X200.000 Y80.000 I+0.000 J+50.000
G1 Y130.000
G2 X150.000 Y180.000 I-0.000 J+50.000
G1 X50.000
G3 X0.000 Y130.000 I-0.000 J-50.000
G1 Y30.000
X75.000 Y30.000
G2 X105.000 Y0.000 I+0.000 J-30.000
G0 Z26.000
G0 X0.000 Y0.000
M05
M30
————————————-
хотя навряд ли,скорее что-то в настройках стойки…но уж на всякий случай проверьте…
еще после числа должна стоять точка…Y 0. X 0.- (G2 X75.000 Y0 I+75.000 J-30.000 F4000 ) -сам не вижу разницы ,но глюки на некоторых станках без точки возникали-теперь даже на 0 ставлю ![]()
без G2G3 все работает нормально?
могу сделать постпроцессор для ArtCam без дуговой интерполяции
разницы в качестве реза никакой,только размер файла побольше
Сообщение отредактировал MiG: 03 Март 2011 — 01:53
-
0
- Наверх
#8
![]()
OFFLINE
valery_k
valery_k
- Пол:Мужчина
- Из:СПб.
Отправлено 03 Март 2011 — 03:53
Дело в том, что в ЧПУ забивается (жестко или нет) значение расстояния между радиусом начальной точки и конечной точки дуги,
при круговой интерполяции.
Если эта расстояние в коде программы превысит , то значение которое установлено в ЧПУ.
придет сообщение об ошибке.
Что у Вас и происходит.
Плюсы перед положительными значениями ставить не обязательно,
а вот плоскость где строится контур лучше определить.
Можно проверить следующим образом.
Уберите X и У в кадрах с G2 и G3 на которые выдается ошибка, оставьте только I и J.
Посмотрите, что будет при визуализации в ЧПУ.?
Должны нарисоваться окружности.
Сообщение отредактировал valery_k: 03 Март 2011 — 04:28
-
0
- Наверх
#9
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 03 Март 2011 — 04:15
на станках этой модели код что показал выше -проверен и работает(4 станка) ,постпроцессоры то же,кроме последнего,просто убрал из него g2g3 интерполяцию,
определение плоскости не использовал(не требуется)
плюсы сами ставятся…в постпроцессоре не писал
остается косяк в настройке стойки…ну или в точке после 0(сам не понимаю почему,но иногда бывает)
проще обойтись наверное без G2G3
Сообщение отредактировал MiG: 03 Март 2011 — 04:22
-
0
- Наверх
#10
![]()
OFFLINE
valery_k
valery_k
- Пол:Мужчина
- Из:СПб.
Отправлено 03 Март 2011 — 04:25
на станках этой модели код что показал выше -проверен и работает(4 станка) ,постпроцессоры то же,кроме последнего,просто убрал из него g2g3 интерполяцию,
определение плоскости не использовал(не требуется)
плюсы сами ставятся…в постпроцессоре не писал![]()
остается косяк в настройке стойки…ну или в точке после 0(сам не понимаю почему,но иногда бывает)
проще обойтись наверное без G2G3
Если стоика не поддерживает круговую интерполяцию, то что она (круговая интерп) вообще делает в коде??
Ее нельзя использовать.
С другой стороны стойка выдает ошибку по круговой интерполяции, значит она поддерживается стойкой..,,?
Сообщение отредактировал valery_k: 03 Март 2011 — 04:31
-
0
- Наверх
#11
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 03 Март 2011 — 04:30
стойка поддерживает…
я вроде не писал что не поддерживает….
код представленный работает 100%
удаленно трудно понять что там за косяк,потому
без интерполяции предложил как альтернативу
если скопированный мой последний код выдаст ошибку-значит косяк в стойке
и если поскорее надо начать работать то лучше отказаться от G2G3 и работать спокойно без неё
Сообщение отредактировал MiG: 03 Март 2011 — 04:37
-
0
- Наверх
#12
![]()
OFFLINE
valery_k
valery_k
- Пол:Мужчина
- Из:СПб.
Отправлено 03 Март 2011 — 04:36
стойка поддерживает…
я вроде не писал что не поддерживает….
код представленный работает 100%
удаленно трудно понять что там за косяк,потому
без интерполяции предложил как альтернативу
Код проверил.
Действительно рабочий.
(Больша не могу,
пошел спать. Трудно соображается.
)
-
0
- Наверх
#13
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 03 Март 2011 — 04:41
спокойной ночи…надо тоже двигать ![]()
-
0
- Наверх
#14
![]()
OFFLINE
Sullen
Отправлено 03 Март 2011 — 12:33
Уважаемые MiG и valery_k, я вчера в спешке забыл написать, что программа генерированная в арткаме, (постпроцесор Ваш MiG) прекрасно работает.
2 valery_k
предположение, что не совпадают радиуса начальной и конечной точки дуги, при построении через центр проверил начертив в автокаде траекторию движения фрезы по координатам программы. Все совпадает.
Сообщение отредактировал Sullen: 03 Март 2011 — 12:39
-
0
- Наверх
#15
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 03 Март 2011 — 12:39
значит все нормально теперь работает? ну вот и хорошо ![]()
Сообщение отредактировал MiG: 03 Март 2011 — 12:57
-
0
- Наверх
#16
![]()
OFFLINE
valery_k
valery_k
- Пол:Мужчина
- Из:СПб.
Отправлено 03 Март 2011 — 13:07
2 valery_k
предположение, что не совпадают радиуса начальной и конечной точки дуги, при построении через центр проверил начертив в автокаде траекторию движения фрезы по координатам программы. Все совпадает.
Вы не верно поняли то, о чем я сказал (может не внимательно прочитали.)
Но если все работает, вопроса, как я понимаю нет.
-
0
- Наверх
#17
![]()
OFFLINE
Sullen
Отправлено 03 Март 2011 — 15:50
2 MiG Не работает
I,J -это координаты центра окружности или нет?
Сообщение отредактировал Sullen: 03 Март 2011 — 15:50
-
0
- Наверх
#18
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 03 Март 2011 — 16:23
расстояние от начальной точки до центра со знаком…
Программирование векторов I, J, K определяющих положение центра дуги начальной точки осуществляется всегда в приращениях, независимо от G90 или G91.
а пробовали копировать мой последний код ? он проверен на точно таком же станке…
Сообщение отредактировал MiG: 03 Март 2011 — 16:52
-
0
- Наверх
#19
![]()
OFFLINE
Sullen
Отправлено 03 Март 2011 — 16:29
расстояние от начальной точки дуги до центра со знаком…
а пробовали копировать мой последний код ? он проверен на точно таком же станке…
пробовал, работает
-
0
- Наверх
#20
![]()
OFFLINE
MiG
MiG
- Пол:Мужчина
- Из:Россия , Ковров
Отправлено 03 Март 2011 — 16:34
ну тогда предположим такое…
второй перевод ошибки»направление дуги не на…(допустим не на поверхности заготовки)»
в вашем варианте кода дуга в минус как раз уходит по Y , а в моем варианте модель сдвинута и все координаты находятся не ниже 0 заготовки..попробуйте сделать уп с учетом этого…ну и про точку не забудьте после целого числа в координатах(возможно именно в ней и проблема,хотя 0 он и есть 0. но….)
Сообщение отредактировал MiG: 03 Март 2011 — 16:47
-
0
- Наверх
Круговая интерполяция G02 и G03 — это движение по круговой дуге
Закончив обсуждение линейной интерполяции или движения по прямой линии, мы переходим к круговой интерполяции G02 и G03, которая представляет собой движение по дуге окружности. За исключением довольно экзотической способности следовать «NURBS-пути», большинство контроллеров G-кода поддерживают только два вида движения: линейное и круговое. Круговая интерполяция на вашем станке немного сложнее, так как две оси должны быть точно согласованы. Рисование полного круга включает не только скоординированное движение, но и изменение направления в каждой из четырех точек квадранта. Это будут точки, соответствующие 0, 90, 180 и 270 градусам. Если у станка вообще есть люфт, он будет очевиден при этих разворотах, потому что там будет сбой в разрезе.
Круговое движение — это режим, инициируемый через G02 и G03
Как и линейное движение (инициированное G00 и G01), круговое движение — это режим, инициированный через G02 и G03. G02 устанавливает режим для дуг окружности по часовой стрелке. G03 устанавливает режим для дуг окружности против часовой стрелки.

Определение дуги для контроллера ЧПУ
После того, как установлен режим G02 или G03, дуги определяются в G-коде путем идентификации двух конечных точек и центра, который должен быть равноудаленным от каждой конечной точки, в противном случае возникнет аварийный сигнал.
Определение центра через относительные смещения IJK
Центр чаще всего идентифицируется с помощью I, J или K для определения относительного смещения от начальной точки дуги к центру. Вот типичная дуга по часовой стрелке:

Буквы I и J указывают относительные координаты от начальной точки до центра. Другими словами, если мы добавим значение I к X начальной точки и значение J к Y начальной точки, мы получим X и Y для центра.
Определение центра через радиус с помощью «R»
Мы также можем определить центр, просто указав радиус круга. Допустим радиус нашего круга равен 2, поэтому g-код может быть простым:
G02
X2Y0 R2
Многие из вас прямо здесь и сейчас решат, что, поскольку R проще для понимания и короче для написания, вы просто собираетесь использовать R и забыть о IJK. Но мастера ЧПУ обработки советуют использовать команды IJK. Их аргумент состоит в том, что, используя IJK, вы дважды проверяете правильность дуги.
Почему?
Потому что контроллер может вычислить фактический набор координат для центра через IJK. Получив координаты центра, он может проверить, что он одинаково удален от обеих конечных точек. Проверка каждого из этих двух расстояний — это двойная проверка. В случае формата «R» контроллер не имеет такой двойной проверки. Он должен выбрать центр, который гарантирует равное расстояние.
Лично я не знаю, согласен ли я с инструкторами ЧПУ в том, что это обеспечивает дополнительную проверку или нет. Я говорю, что используйте тот подход, который имеет смысл в вашей конкретной ситуации, но вы определенно должны быть знакомы с обоими. В любом случае вам нужно будет привыкнуть к относительным координатам, поскольку они чертовски удобны.
Варианты синтаксиса Arc для различных диалектов и режимов G-кода
Это еще одно из тех мест, где происходит много непонятных вещей, например, что будет делать ваш контроллер. Обычно предполагается, что если у вас есть и IJK, и R в одном блоке, R имеет приоритет, а IJK игнорируется. Но есть контроллеры, которые работают не так, поэтому убедитесь, что вы знаете, что происходит.
Есть несколько параметров, которые определяют, как работают дуги.
Давайте рассмотрим эти варианты:
— Инкрементальный против абсолютного IJK: мы обсуждали IJK как представление координат относительно начальной точки для центра. Добавьте I к X, J к Y и K к Z начальной точки, и вы получите центр. Многие элементы управления также имеют возможность использовать IJK как абсолютные координаты центра.
— Модальные центры IJK: когда IJK являются абсолютными координатами центра, некоторые контроллеры запоминают последний определенный центр, поэтому в этом случае IJK является модальным. При использовании такой настройки управления вы можете просто продолжать вводить команды XYZ для дуг без необходимости каждый раз определять новый центр. Однако не ясно, что вы сэкономите много — как часто вы хотите делать несколько дуг с одним и тем же центром?
— Модальные центры R: Еще одна разновидность идеи модального центра состоит в том, чтобы позволить радиусу, определенному буквой «R», быть модальным. Каким бы ни был последний использованный R, контроллер запоминает и снова использует это значение, если R не задано. Это кажется более полезным, чем модальный IJK. Например, у кармана могут быть дуги для углов одинакового радиуса.
— Приоритет R: как уже упоминалось, большинство контроллеров будут использовать «R», если «R» и «IJK» указаны в одном блоке. Н
— Helical Interp. : Эта опция определяет, разрешает ли ваш контроллер спиральную интерполяцию.
Наиболее распространенная проблема при настройке постпроцессора CAM или симулятора ЧПУ: абсолютный и относительный IJK
У всех нас был опыт, когда мы смотрели на симуляцию проходов (или, что еще хуже, видели его в реальном движении инструмента, что довольно пугающе), и видели гигантские почти полные круги без каких-либо признаков знакомых движений деталей, которые мы ожидали увидеть. Вот типичный пример:

Если вы видите такие вещи, первое, что нужно проверить, — это абсолютный IJK в сравнении с относительным IJK для дуг. Настройка должна соответствовать между тем, что выдает CAM, и тем, чтополучает контроллер или симулятор.
Дроби круга, квадранты и регуляторы
Первое, что нужно знать о дуге, это то, что невозможно указать дугу более 360 градусов. В некоторых контроллерах для спиральной интерполяции есть некоторые исключения (см. Ниже) просто потому, что это может быть полезно для спиралей. Если требуется полный круг, установите начальную и конечную точки равными друг другу:
G01 X3.25 Y2.0
G02 X3.25 Y2.0 I-1.25 J0
Интересно, что вы не можете указать полный круг с помощью «R». Это связано с тем, что существует бесконечное количество кругов, которые начинаются и заканчиваются в одной и той же точке определенного радиуса, поэтому контроллер не знает, какой круг может быть правильным.
Есть еще более забавный ньюанс с «R» и более крупными дугами. Например, дуга все еще может иметь определенный радиус и по часовой стрелке (или против часовой стрелки), но центр будет разным, если вы перемещаетесь более чем на 90 градусов. Например:

Учитывая два показанных варианта, контроллер выбирает путь на основе знака радиуса. Отрицательное получает более длинную дугу, положительное — короче. Отрицательный знак заставляет контроллер искать дугу более 180 градусов.
Некоторые контроллеры еще более чувствительны и не будут программировать дугу, пересекающую линию квадранта. Следовательно, наибольший угол, по которому может следовать дуга, составляет 90 градусов, и этот угол не должен пересекать 0, 90, 180 или 270 градусов. Углы в 90 градусов, пересекающие линию квадранта, должны быть разбиты на две части, причем соединение между частями должно быть прямо на линии квадранта.
Полные круги без XYZ
Полные круги появляются, когда начальная и конечная точки идентичны, а центр указан через IJK (помните, что R ведет к бесконечному количеству кругов). Учитывая, что вы хотите, чтобы начальная и конечная точки были одинаковыми, возможно, вам не придется беспокоиться даже об указании конечной точки с помощью XYZ. Некоторым контроллерам это может потребоваться, но большинству — нет. Вот простая программа с g-кодом, которая таким образом создает 3 круга:
N45 G0 X-2. Y.75
N46 G1 Z-.5 F10.
N47 Y.5 F30. S2000
N48 G2 J-1.1
N49 G1 Y.75
N50 Z.2
N51 G0 X.75 Y-3.4
N52 G1 Z-.5 F10.
N53 X.5 F30.
N54 G2 I-1.1
N55 X.75
N56 Z.2
N57 G0 X-4.75 Y-3.4
N58 G1 Z-.5 F10.
N59 X-4.5 F30.
N60 G2 I1.1
N61 G1 X-4.75
N62 Z.2
А вот как выглядит визуализация:

Совет по упрощению программирования дуги: начните с сегментов
Когда я прокладываю траекторию инструмента, я предпочитаю оставлять дуги напоследок. Вместо каждой дуги я просто помещаю отрезок линии, конечные точки которого соответствуют конечным точкам дуги. Это позволяет быстро собрать грубый набросок траектории инструмента, и часто кажется, что легче вернуться и преобразовать линии в дуги, когда базовая структура уже установлена.
Спиральная интерполяция
Спираль — это дуга, которая непрерывно движется в третьем измерении, как винтовая резьба. При винтовой интерполяции мы указываем такую дугу с помощью G02 / G03, чтобы резец перемещался по спирали. Это может быть сделано для фрезерования резьбы, интерполяции отверстия или для множества других целей. Вот диаграмма из программы резьбы 1/4 ″ NPT:

Вот пример кода программы фрезерования резьбы:
G01 G91 Z-0.6533 F100.
G01 G42 D08 X0.0235 Y-0.0939 F10.
G03 X0.0939 Y0.0939 Z0.0179 R0.0939
G03 X-0.1179 Y0.1179 Z0.0179 R0.1179
G03 X-0.1185 Y-0.1185 Z0.0179 R0.1185
G03 X0.1191 Y-0.1191 Z0.0179 R0.1191 F16.
G03 X0.1196 Y0.1196 Z0.0179 R0.1196
G03 X-0.1202 Y0.1202 Z0.0179 R0.1202 F26.
G03 X-0.1207 Y-0.1207 Z0.0179 R0.1207
G03 X0.1213 Y-0.1213 Z0.0179 R0.1213
G03 X0.1218 Y0.1218 Z0.0179 R0.1218
G03 X-0.0975 Y0.0975 Z0.0179 R0 0,0975
Это формат «R» (радиус) для дуг, и обратите внимание, что есть координата Z, чтобы указать изменение глубины для конечной точки каждой дуги. В этом коде используется относительное движение (G91), поэтому каждый «Z0.0179» перемещает фрезу на 0,0179 дюйма глубже.
Мы вернемся к резьбофрезерованию более подробно в следующей главе, полностью посвященной этой теме. А пока мы просто хотели, чтобы вы познакомились с идеей создания спиралей, а также плоских двумерных дуг.
Создание траекторий движения инструмента понравится вашей машине
Каждый раз, когда резак меняет направление, он добавляет определенное напряжение. Резак будет врезаться в материал больше или меньше, чем был, в зависимости от того, меняется ли направление на заготовку (или неразрезанный материал) или от нее. Ваша машина будет намного счастливее, если вы запрограммируете дугу, а не резкое изменение направления по прямой. Даже дуга с очень маленьким радиусом позволит контроллеру избежать мгновенного изменения направления, что может оставить след на поверхности в лучшем случае и вызвать вибрацию или другие проблемы в худшем случае. Для небольших изменений направления это может не иметь смысла. Но чем резче изменение, тем больше вероятность, что вам следует использовать дугу для облегчения поворота.
Добрый день, нужна Ваша помощь, проблема с новым станком.
При резе фигур происходит смещение начала и конца реза. Сделал юстировку на втором зеркале попадает все в одну точку, на третьем максимальное смещение на 2 мм. Проверил натяжение ремней (ослаблял до того что сопли висели и натягивал так что и двигатели начинали пробуксовывать) проблему не устраняло, сейчас сделал среднюю натяжку, люфтов при включенном станке нет.
Во все рабочее поле начертил прямоугольник 695 на 495 мм, разница диагоналей составила менее 2 мм.
Вне зависимости от диаметра круга смещение всегда не более 1 мм. (бывает что все сходиться)
Делал все в кореле и запускал через плагин RDWorksV8. Чтобы исключить программные глюки запустил на резку файл из памяти станка (от производителя).
Результат с внутренним квадратом такой же, смещение начал и конца реза.
Есть еще один нюанс. Смещение зависит от начала реза Если рез начинается с верхней точки (не важно в какую сторону) он самый большой, если с права или с низу его практически нет, а вот с левой стороны снова появляется. На фото обведены начало реза и стрелками показаны направления.
Еще один момент. Если на резку отправить сразу же два круга часто бывает что внутренний круг со смещением а внешний сходиться хорошо.
При резке круга смещение всегда происходит внутрь не зависимо с какой стороны начинаешь резать. И еще маленькие круги он как-то очень странно рисует, по оси «y» (если начинается рез с верху) как будто бы происходит подтормаживание и получается прямая по оси «x», а затем более резкое опускание по «y», то же самое происходит и в нижней части круга.
Решил сегодня вырезать слово размером 10см на 3 см, точки начала и конца также не сошлись на 0,5 мм. вроде мелочь но хочется чтобы этого не было.
Подскажите где копать.