Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]
Добавлено: 19 июл 2013, 12:31
А чего путь абсолютный?
(LOGOPEN,/home/aystarik/emc2/nc_files/probe.txt)
(LOGOPEN,/home/aystarik/emc2/nc_files/probe.txt)
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
а если необходимо не компенсировать неровность, а к примеру фрезеровать на заведомо выпуклой поверхности(полусфере) плоскую фигуру, можно ли использовать эту утилиту?kada писал(а):утилиту для изменения G-кода с целью компенсации неровностей:
Да отлично работает, только примени доработку которую делал я.Тима писал(а):а если необходимо не компенсировать неровность, а к примеру фрезеровать на заведомо выпуклой поверхности(полусфере) плоскую фигуру, можно ли использовать эту утилиту?kada писал(а):утилиту для изменения G-кода с целью компенсации неровностей:
И вот еще глюк - некорректно работает с переменными и/или подпрограммами (LinuxCNC). Сгенерированный файл содержит чушь.kada писал(а):Не знаю проскакивала ли здесь ссылка на опен-сорс Java утилиту для изменения G-кода с целью компенсации неровностей:
http://www.cnczone.com/forums/pcb_milli ... obing.html
http://marcuswolschon.blogspot.de/2013/ ... lling.html
А вот это уже очень мне интересно - как "пощупать" плату и загрузить в арткам?VEL писал(а):Почему никто не захотел использовать ArtCam для создания G-кода?
В него можно загрузить любую предварительно созданную поверхность (с помощью того же крокодила-щупа). Выгнутый текстолит не будет проблемой для ArtCam-а он прекрасно высчитает траекторию движения шпинделя.
Потому что для этого надо либо перезагружаться туда-сюда, либо второй комп.VEL писал(а):Почему никто не захотел использовать ArtCam для создания G-кода?
Сам не пробовал но говорят можно такUAVpilot писал(а):Потому что для этого надо либо перезагружаться туда-сюда, либо второй комп.
Если надо делать несколько плат, придется много раз код заново генерить...VEL писал(а):Как щупать плату здесь описано.
Осталось решить как передать нащупанные координаты в какой-нибудь 3d редактор для создания 3d модели поверхности.
В artcame дальше всё просто и технично. Ошибки положения исключаются.
Можно сохранить в STL формате - это простой текстовый файл в котором записаны координаты вершин треугольных полигонов.VEL писал(а):Осталось решить как передать нащупанные координаты в какой-нибудь 3d редактор для создания 3d модели поверхности.
Код генерирует Artcam, а не руки.Nick писал(а): Если надо делать несколько плат, придется много раз код заново генерить...
25 листов описания манипуляций как это сделать и в конце всё равно у парней остаются глюки.Nick писал(а): И получается больше манипуляций...
Выгода в точности.Nick писал(а): И не совсем понятна выгода от всего этого в итоге... Разве, что с мачем будет работать
СПС, мне на будущее пригодитсяmichael-yurov писал(а):Можно сохранить в STL формате - это простой текстовый файл в котором записаны координаты вершин треугольных полигонов.VEL писал(а):Осталось решить как передать нащупанные координаты в какой-нибудь 3d редактор для создания 3d модели поверхности.
Либо - сохранить в растровом файле серую карту высот, что тоже довольно просто.
Придется, конечно, простенькую программку написать для этого.
25 листов - это разработка решенияVEL писал(а):25 листов описания манипуляций как это сделать и в конце всё равно у парней остаются глюки.
Код: Выделить всё
M65 P0
T1 M6
#<h> = 15.0000 (Y - height)
#<w> = 50.0000 (X - width)
#<x0> = 3.0000
#<y0> = 3.0000
#<step> = 5.0000
#<search_feed> = 25
#<latch_feed> = 1 (set to 0 to ignore latching, if GT 0 then latch forward, else - backward)
#<safe_z> = 2.0000
#<safe_fast_z> = 0.1000
#<search_z> = 0.0000
(PROBEOPEN filename.txt)
G0 Z#<safe_z>
#<y> = #<y0>
O101 WHILE [#<y> LT #<h>+#<y0>]
#<x> = #<x0>
O102 WHILE [#<x> LT #<w>+#<x0>]
G0 X[#<x>] Y[#<y>]
F[#<search_feed>]
G38.3 Z[#<search_z>] (Search)
o103 IF [#<latch_feed> GT 0] (Latch if needed)
G0 Z[#5063+#<safe_fast_z>]
F[#<latch_feed>]
G38.5 Z[#<search_z>]
o103 ELSEIF [#<latch_feed> LT 0]
F[-#<latch_feed>]
G38.5 Z[#<safe_z>]
O103 END IF
G0 Z[#5063+#<safe_fast_z>]
#<x> = [#<x>+#<step>]
O102 ENDWHILE
#<y> = [#<y>+#<step>]
#<x> = [#<x>-#<step>]
O104 WHILE [#<x> GE #<x0>]
G0 X[#<x>] Y[#<y>]
F[#<search_feed>]
G38.3 Z[#<search_z>] (Search)
o105 IF [#<latch_feed> GT 0] (Latch if needed)
G0 Z[#5063+#<safe_fast_z>]
F[#<latch_feed>]
G38.5 Z[#<search_z>]
o105 ELSEIF [#<latch_feed> LT 0]
F[-#<latch_feed>]
G38.5 Z[#<safe_z>]
O105 END IF
G0 Z[#5063+#<safe_fast_z>]
#<x> = [#<x>-#<step>]
O104 ENDWHILE
#<y> = [#<y>+#<step>]
O101 ENDWHILE
(PROBECLOSE)
F1600
G0 Z3
G0 X3 Y3
G92 X3 Y3
M64 P1
G4 P1
M65 P1
G4 P4
M64 P0
G4 P4
T2 M6
(user code)
M2 (end program)
%