Установка нуля по поверхности материала (Z -> 0) (CAD)
Добавлено: 26 сен 2015, 20:29
Результата пока нет
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
Отсутствие результата уже результат. А надо чего?torvn77 писал(а):Результата пока нет
Я уже раз 5 тут постил такую... Или я обязан её и в эту тему запостить?torvn77 писал(а):Что делать, как писать программу, которая будет работоспособна при любой выбранной системе координат?
А то как же, специально для torvn77UAVpilot писал(а):Или я обязан её и в эту тему запостить?
Выход то я нашёл, написал я это к тому, что надо бы для большего удобства сделать соответствующие системные переменные.UAVpilot писал(а):Я уже раз 5 тут постил такую... Или я обязан её и в эту тему запостить?
Код: Выделить всё
O<sys.matheight_rel> sub
M70
G21 G40 G49 G91 G94 G92.2
O<matheight_100> if [ #<_coord_system> EQ 540 ]
#<coord_system_offset_z> = #5223
O<matheight_100> elseif [ #<_coord_system> EQ 550 ]
#<coord_system_offset_z> = #5243
O<matheight_100> elseif [ #<_coord_system> EQ 560 ]
#<coord_system_offset_z> = #5263
O<matheight_100> elseif [ #<_coord_system> EQ 570 ]
#<coord_system_offset_z> = #5283
O<matheight_100> elseif [ #<_coord_system> EQ 580 ]
#<coord_system_offset_z> = #5303
O<matheight_100> elseif [ #<_coord_system> EQ 590 ]
#<coord_system_offset_z> = #5323
O<matheight_100> elseif [ #<_coord_system> EQ 591 ]
#<coord_system_offset_z> = #5343
O<matheight_100> elseif [ #<_coord_system> EQ 592 ]
#<coord_system_offset_z> = #5363
O<matheight_100> elseif [ #<_coord_system> EQ 593 ]
#<coord_system_offset_z> = #5383
O<matheight_100> else
(DEBUG,Programm stopping:uncnown coordinate system number)
M02
O<matheight_100> endif
O<matheight_120> if [ #<_current_tool> NE #<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_TOOL_NUM>]
(DEBUG,Incorect tool, plase insert tool correct number [MATERIAL_HEIGHT_PROBE]SENSOR_TOOL_NUM)
(MSG,Default:314)
M02
O<matheight_120> endif
F[#<_ini[MATERIAL_HEIGHT_PROBE]COARSE_FEED_SEARCH>]
G38.3 Z[#<_ini[AXIS_2]MIN_LIMIT> - #<_z> -#<coord_system_offset_z>]
G38.5 Z[#<_ini[AXIS_2]MAX_LIMIT> - #<_z> -#<coord_system_offset_z>]
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_SEARCH>]
G38.3 Z[#<_ini[AXIS_2]MIN_LIMIT> - #<_z> -#<coord_system_offset_z>]
#<probe_bottom> = #5063
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_LATCH>]
G38.5 Z[#<_ini[AXIS_2]MAX_LIMIT> - #<_z> -#<coord_system_offset_z>]
#<probe_top> = #5063
(DEBUG,<probe_top> = #<probe_top> )
(DEBUG,<probe_bottom> = #<probe_bottom>)
#<probe_result> = [[[#<probe_bottom>+#<probe_top>]/2] + #<coord_system_offset_z>]
G0 Z[#<_ini[AXIS_2]MAX_LIMIT> - #<_z> - #<coord_system_offset_z>]
M72
G10 L2 P1 Z[#<probe_result> - #<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_HEIGHT>]
O<sys.matheight_rel> endsub
M02
Код: Выделить всё
[MATERIAL_HEIGHT_PROBE]
COARSE_FEED_SEARCH = 8192
ACCURATE_FEED_SEARCH = 16
ACCURATE_FEED_LATCH = 8192
SENSOR_HEIGHT = 15
SENSOR_TOOL_NUM = 314Код: Выделить всё
O<sys.matheight_rel> sub
M70
G21 G40 G49 G90 G94 G92.2
G10 L2 P[#5220] Z0
O<matheight_120> if [ #<_current_tool> NE #<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_TOOL_NUM>]
(DEBUG,Incorect tool, plase insert tool correct number [MATERIAL_HEIGHT_PROBE]SENSOR_TOOL_NUM)
(MSG,Default:314)
M02
O<matheight_120> endif
F[#<_ini[MATERIAL_HEIGHT_PROBE]COARSE_FEED_SEARCH>]
G38.3 Z[#<_ini[AXIS_2]MIN_LIMIT>]
G38.5 Z[#<_ini[AXIS_2]MAX_LIMIT>]
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_SEARCH>]
G38.3 Z[#<_ini[AXIS_2]MIN_LIMIT>]
#<probe_bottom> = #5063
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_LATCH>]
G38.5 Z[#<_ini[AXIS_2]MAX_LIMIT>]
#<probe_top> = #5063
(DEBUG,<probe_top> = #<probe_top> )
(DEBUG,<probe_bottom> = #<probe_bottom>)
#<probe_result> = [[#<probe_bottom>+#<probe_top>]/2]
G0 Z[#<_ini[AXIS_2]MAX_LIMIT>]
M72
G10 L2 P[#5220] Z[#<probe_result> - #<_ini[MATERIAL_HEIGHT_PROBE]SENSOR_HEIGHT>]
O<sys.matheight_rel> endsub
M02