Перейти к публикации

Вопрос по постпроцессору (вывод коррекции)


Bandval

Рекомендованные сообщения



2 часа назад, sikor сказал:

Ребята, подскажите, где в Посте убрать нумерацию кадров, надоело в симке удалять

MOM_seq_off

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Ребята, есть вопрос:

 

Касяк, я так понимаю в посте:

 

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

 

%
O0
( DATE: Tue Jul 17 17:57:48 2018 )
( NAME: M75Х1.25_COPY )
( T=22 420  DIAMETER: 0.010 )
G00 G40 G80 G17
N1 T22 M06
N2 S919 M03
N3 G90 G54 X0. Y0.
N4 G43 H22 Z10.
N5 M08
N6 Z-17.5
N7 G01 G41 D22 X-30.071 Y21.848 F110.
N8 G01 X-31.056 Y20.433 Z-17.491
N9 G01 X-31.969 Y18.972 Z-17.482
N10 G01 X-32.814 Y17.47 Z-17.472
N11 G01 X-33.589 Y15.93 Z-17.463

 

а вот другим постпроцессором ошибка по коррекции на диаметр, вот начало проги, но вот этот постпроцессор супер!

 

%
O0
( DATE: Tue Jul 17 17:56:59 2018 )
( NAME: M75Х1.25_COPY )
( T=22 420  DIAMETER: 0.010 )
G00 G40 G80 G17
N1 T22 M06
N2 S919 M03
N3 G90 G54 X0. Y0.
N4 G43 H22 Z10.
N5 M08
N6 Z-17.5
N7 G01 G41 D22 X-30.071 Y21.848 F110.
N8 G03 X-30.071 Y21.848 Z-16.25 I30.071 J-21.848 K0.199
N9 X-30.071 Y21.848 Z-15. I30.071 J-21.848 K0.199
N10 X-30.071 Y21.848 Z-13.75 I30.071 J-21.848 K0.199
N11 X-30.071 Y21.848 Z-12.5 I30.071 J-21.848 K0.199
N12 X-30.071 Y21.848 Z-11.25 I30.071 J-21.848 K0.199
N13 X-30.071 Y21.848 Z-10. I30.071 J-21.848 K0.199
N14 X-30.071 Y21.848 Z-8.75 I30.071 J-21.848 K0.199
N15 X-30.071 Y21.848 Z-7.5 I30.071 J-21.848 K0.199
N16 X-30.071 Y21.848 Z-6.25 I30.071 J-21.848 K0.199
N17 X-30.071 Y21.848 Z-5. I30.071 J-21.848 K0.199
N18 X-30.071 Y21.848 Z-3.75 I30.071 J-21.848 K0.199
N19 X-30.071 Y21.848 Z-2.5 I30.071 J-21.848 K0.199
N20 X-30.071 Y21.848 Z-1.25 I30.071 J-21.848 K0.199
N21 X37.17 Y0. Z-0.5 I30.071 J-21.848 K0.199

 

что не так с постпроцессором или со станком беда?

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

а править где значение, в nx?, длина отрезка подхода более чем достаточное для включения коррекции

Ссылка на сообщение
Поделиться на других сайтах

возможно из-за K  попробуйте выводить R вместо I J K

или вывод К отключите в постпроцессоре

Ссылка на сообщение
Поделиться на других сайтах
36 минут назад, valentinych75 сказал:

возможно из-за K  попробуйте выводить R вместо I J K

или вывод К отключите в постпроцессоре

нет, так не пойдет

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, valentinych75 сказал:

или коррекция или К . вместе ни как

Вы не правы!

 

Коррекция и К вместе как:

 

%
O0
( DATE: Thu Jul 19 17:50:48 2018 )
( NAME: M75Х1.25_COPY )
( T=22 420  DIAMETER: 0.010 )
G00 G40 G80 G17
N1 T22 M06
N2 S919 M03
N3 G90 G54 X0. Y0.
N4 G43 H22 Z10.
N5 M08
N6 Z-18.135
N7 G01 G41 D22 X-9.193 Y19.817 F110.
N8 G03 X-30.071 Y21.848 Z-18. I-11.036 J-5.12 K0.065
N9 X-30.071 Y21.848 Z-16.75 I30.071 J-21.848 K0.199
N10 X-30.071 Y21.848 Z-15.5 I30.071 J-21.848 K0.199
N11 X-30.071 Y21.848 Z-14.25 I30.071 J-21.848 K0.199
N12 X-30.071 Y21.848 Z-13. I30.071 J-21.848 K0.199
N13 X-30.071 Y21.848 Z-11.75 I30.071 J-21.848 K0.199

Ссылка на сообщение
Поделиться на других сайтах

Возможно, во 2-ом посте попадается несовпадение центров в начальной и конечной точке дуг, превышающее допустимый из параметров станка.

Обычно правится изменением допуска в nx

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, lexincton сказал:

Возможно, во 2-ом посте попадается несовпадение центров в начальной и конечной точке дуг, превышающее допустимый из параметров станка.

Обычно правится изменением допуска в nx

Скорее всего Вы правы!, знать только где копать?

Ссылка на сообщение
Поделиться на других сайтах
В 23.07.2018 в 17:00, sikor сказал:

Скорее всего Вы правы!, знать только где копать?

Screenshot_2.png.06f64c2f2c3ec95e2c22ea171e9d47ab.png

Ссылка на сообщение
Поделиться на других сайтах

тут я пробовал, не помогло, надо искать в станке HAAS, надо знать какой параметр отвечает за точность.

Ссылка на сообщение
Поделиться на других сайтах
В 25.07.2018 в 18:36, sikor сказал:

тут я пробовал, не помогло, надо искать в станке HAAS, надо знать какой параметр отвечает за точность.

Поменяйте IJK на R, все отработает (вывод по квадрантам)

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

Вечер добрый, как выводить компенсацию на длинну инструмента, если операции разные , а инструмент один. тоесть в первой операции он ее выводит, а во второй нет. пост так сделан, что после операции стоят отьезды в нули станка и компенсация сбрасывается.

 

коррекц_ на_длинну.JPG

Ссылка на сообщение
Поделиться на других сайтах
В 07.09.2019 в 19:30, ssuss1 сказал:

Вечер добрый, как выводить компенсацию на длинну инструмента, если операции разные , а инструмент один. тоесть в первой операции он ее выводит, а во второй нет. пост так сделан, что после операции стоят отьезды в нули станка и компенсация сбрасывается.

 

коррекц_ на_длинну.JPG

так ведь G49  между операциями нет. отмены на длину не было вот и нет повторного вывода

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...

Здравствуйте! Подскажите пожалуйста как вывести список инструмента в шапку программы! Попробовал по книженции....выводит много всего и получается каша....Можно ли вывести только номер инструмента,название и диаметр???? Спасибо всем заранее!!!

Ссылка на сообщение
Поделиться на других сайтах

Можно подсмотреть как это сделано в постах с синумериком

там есть PB_CMD_creat_tool_list

Скрытый текст

#  Place this custom command in either the start of program
#  or the end of program event marker to generate a tool list
#  in your NC file.
#
#  The Shop Doc template file "pb_post_tool_list.tpl" distributed with
#  Post Builder in "POSTBUILD/pblib/misc" directory can be copied
#  to the "mach/resource/postprocessor" or "mach/resource/shop_docs" directory,
#  in case that your UG runtime environment does not have access to the
#  Post Builder installation.
#
#  Accessing "pb_post_tool_list.tpl" in other location can also be accomplished
#  by changing the code below titled "Generate tool list data" in this proc.
#
#  The variable "mom_sys_tool_list_output_type" set in this proc allows you
#  to select the type of tool list to be generated.
#  The options are:
#
#   "ORDER_IN_USE"     - List tools used in the program in the order of operations.
#   "ALL_UNIQUE"       - List all unique tools once for each in the order of use.
#   "GROUP_BY_TYPE"    - List tools in groups of different tool types.
#
# The desired tool list type can be set by changing the code below.
# The default is set to "GROUP_BY_TYPE".
#

   set wfl_global [info globals "mom_*"]
   foreach gv $wfl_global {
      global Twfl_$gv $gv
      if {[info exists $gv]} {
        if {![array exists $gv]} {
           set wfl Twfl_$gv
           set $wfl [set $gv]
        }
     }
   }

   global mom_sys_tool_list_initialized
   global mom_sys_tool_list_output_type


   if { ![info exists mom_sys_tool_list_initialized] || !$mom_sys_tool_list_initialized } {
      MOM_output_to_listing_device "proc PB_CMD_init_tool_list must be executed in the Start of Program before PB_CMD_create_tool_list is called."
return
   }


  #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  # Set mom_sys_tool_list_output_type to the desired output fashion.
  #
  #   "ORDER_IN_USE"     - List tools used in the program in the order of operations.
  #   "ALL_UNIQUE"       - List all unique tools once for each in the order of use.
  #   "GROUP_BY_TYPE"    - List tools in groups of different tool types.
  #
  #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  # set mom_sys_tool_list_output_type "ORDER_IN_USE"
  # set mom_sys_tool_list_output_type "ALL_UNIQUE"
   set mom_sys_tool_list_output_type "GROUP_BY_TYPE"


   global mom_sys_control_out mom_sys_control_in
   global current_program_name
   global mom_tool_number mom_tool_length_adjust_register mom_tool_name


  #----------------------------------------------------------------------------
  # Save info for the currently active tool in the program being post-prcessed
  # before starting Shop Doc mechanism for tool list generation.
  #----------------------------------------------------------------------------
   if [llength [info commands PB_CMD_save_active_oper_tool_data] ] {
      PB_CMD_save_active_oper_tool_data
   }


  #-----------------------------------------------------------
  # Create tool list per selected top-level group.
  # Group name is set to blank if no group has been selected.
  #-----------------------------------------------------------
   global mom_parent_group_name

   if [info exists mom_parent_group_name] {
      set current_program_name $mom_parent_group_name
   } else {
      set current_program_name ""
   }


   set ci " "
   set co " "

   if [info exists mom_sys_control_in] { set ci $mom_sys_control_in }
   if [info exists mom_sys_control_out] { set co $mom_sys_control_out }


  #*************************
  # Generate tool list data
  #*************************
   set template_file pb_post_tool_list.tpl

   global tcl_platform
   if [string match "windows" $tcl_platform(platform)] {
      set pb_lib_misc_dir [MOM_ask_env_var UGII_BASE_DIR]\\postbuild\\pblib\\misc\\
   } else {
      set pb_lib_misc_dir [MOM_ask_env_var UGII_BASE_DIR]/postbuild/pblib/misc/
   }

   set cam_post_dir     [MOM_ask_env_var UGII_CAM_POST_DIR]
   set cam_shop_doc_dir [MOM_ask_env_var UGII_CAM_SHOP_DOC_DIR]

   if { [file exists ${pb_lib_misc_dir}${template_file}] } {

      MOM_do_template_file ${pb_lib_misc_dir}${template_file}

   } elseif { [file exists ${cam_post_dir}${template_file}] } {

      MOM_do_template_file ${cam_post_dir}${template_file}

   } elseif { [file exists ${cam_shop_doc_dir}${template_file}] } {

      MOM_do_template_file ${cam_shop_doc_dir}${template_file}

   } else {

      MOM_output_to_listing_device  "ERROR : Template file pb_post_tool_list.tpl is not found in the following directories: \n \n          $pb_lib_misc_dir \n          $cam_post_dir \n          $cam_shop_doc_dir \n \n        Tool list cannot be generated.\n"
return
   }

  #------------------
  # Tool list header
  #------------------
#   shop_doc_output_literal "$co===============================================================================================$ci"
#   shop_doc_output_literal "$co                                   T O O L   L I S T                                           $ci"
#   shop_doc_output_literal "$co===============================================================================================$ci"


  #------------------
  # Output tool list
  #------------------
   global tool_data_buffer
   global mom_sys_tool_stack

   switch $mom_sys_tool_list_output_type {

      "ORDER_IN_USE" {
         set tool_list $mom_sys_tool_stack(IN_USE)
      }

      "GROUP_BY_TYPE" {
         set tool_list [concat $mom_sys_tool_stack(LATHE)  $mom_sys_tool_stack(DRILL)  $mom_sys_tool_stack(MILL)]
      }

      default {
         set tool_list $mom_sys_tool_stack(ALL)
      }
   }


   set prev_tool_type ""

   foreach tool $tool_list {

      set tool_type $tool_data_buffer($tool,type)

     # Output tool type header if it changes.
      if { ![string match "$tool_type" $prev_tool_type] } {
         if { [info exists tool_data_buffer($tool_type,header)] &&  $tool_data_buffer($tool_type,header) != "" } {
            shop_doc_output_literal ";$tool_data_buffer($tool_type,header)"
         }
      }

      if [info exists tool_data_buffer($tool,output)] {
         shop_doc_output_literal ";$tool_data_buffer($tool,output)"
      }
      set prev_tool_type $tool_type
   }

  #------------------
  # Tool list footer
  #------------------
   shop_doc_output_literal ";$co                                                                                               $ci"


  #-------------------------------------------------------------------------------
  # Restore info for the currently active tool in the program being post-prcessed.
  #-------------------------------------------------------------------------------
   if [llength [info commands PB_CMD_restore_active_oper_tool_data] ] {
      PB_CMD_restore_active_oper_tool_data
   }

  set wfl_global [info globals "Twfl_*"]
  foreach gv $wfl_global {
     set mv [string trimleft $gv "Twfl_"]
     global $gv $mv
     if {[info exists $gv]} {
       set $mv [set $gv]
       unset $gv
    }
  }

 

Изменено пользователем 5axisCNC
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, 5axisCNC сказал:

Можно подсмотреть как это сделано в постах с синумериком

там есть PB_CMD_creat_tool_list

  Скрыть содержимое

#  Place this custom command in either the start of program
#  or the end of program event marker to generate a tool list
#  in your NC file.
#
#  The Shop Doc template file "pb_post_tool_list.tpl" distributed with
#  Post Builder in "POSTBUILD/pblib/misc" directory can be copied
#  to the "mach/resource/postprocessor" or "mach/resource/shop_docs" directory,
#  in case that your UG runtime environment does not have access to the
#  Post Builder installation.
#
#  Accessing "pb_post_tool_list.tpl" in other location can also be accomplished
#  by changing the code below titled "Generate tool list data" in this proc.
#
#  The variable "mom_sys_tool_list_output_type" set in this proc allows you
#  to select the type of tool list to be generated.
#  The options are:
#
#   "ORDER_IN_USE"     - List tools used in the program in the order of operations.
#   "ALL_UNIQUE"       - List all unique tools once for each in the order of use.
#   "GROUP_BY_TYPE"    - List tools in groups of different tool types.
#
# The desired tool list type can be set by changing the code below.
# The default is set to "GROUP_BY_TYPE".
#

   set wfl_global [info globals "mom_*"]
   foreach gv $wfl_global {
      global Twfl_$gv $gv
      if {[info exists $gv]} {
        if {![array exists $gv]} {
           set wfl Twfl_$gv
           set $wfl [set $gv]
        }
     }
   }

   global mom_sys_tool_list_initialized
   global mom_sys_tool_list_output_type


   if { ![info exists mom_sys_tool_list_initialized] || !$mom_sys_tool_list_initialized } {
      MOM_output_to_listing_device "proc PB_CMD_init_tool_list must be executed in the Start of Program before PB_CMD_create_tool_list is called."
return
   }


  #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  # Set mom_sys_tool_list_output_type to the desired output fashion.
  #
  #   "ORDER_IN_USE"     - List tools used in the program in the order of operations.
  #   "ALL_UNIQUE"       - List all unique tools once for each in the order of use.
  #   "GROUP_BY_TYPE"    - List tools in groups of different tool types.
  #
  #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  # set mom_sys_tool_list_output_type "ORDER_IN_USE"
  # set mom_sys_tool_list_output_type "ALL_UNIQUE"
   set mom_sys_tool_list_output_type "GROUP_BY_TYPE"


   global mom_sys_control_out mom_sys_control_in
   global current_program_name
   global mom_tool_number mom_tool_length_adjust_register mom_tool_name


  #----------------------------------------------------------------------------
  # Save info for the currently active tool in the program being post-prcessed
  # before starting Shop Doc mechanism for tool list generation.
  #----------------------------------------------------------------------------
   if [llength [info commands PB_CMD_save_active_oper_tool_data] ] {
      PB_CMD_save_active_oper_tool_data
   }


  #-----------------------------------------------------------
  # Create tool list per selected top-level group.
  # Group name is set to blank if no group has been selected.
  #-----------------------------------------------------------
   global mom_parent_group_name

   if [info exists mom_parent_group_name] {
      set current_program_name $mom_parent_group_name
   } else {
      set current_program_name ""
   }


   set ci " "
   set co " "

   if [info exists mom_sys_control_in] { set ci $mom_sys_control_in }
   if [info exists mom_sys_control_out] { set co $mom_sys_control_out }


  #*************************
  # Generate tool list data
  #*************************
   set template_file pb_post_tool_list.tpl

   global tcl_platform
   if [string match "windows" $tcl_platform(platform)] {
      set pb_lib_misc_dir [MOM_ask_env_var UGII_BASE_DIR]\\postbuild\\pblib\\misc\\
   } else {
      set pb_lib_misc_dir [MOM_ask_env_var UGII_BASE_DIR]/postbuild/pblib/misc/
   }

   set cam_post_dir     [MOM_ask_env_var UGII_CAM_POST_DIR]
   set cam_shop_doc_dir [MOM_ask_env_var UGII_CAM_SHOP_DOC_DIR]

   if { [file exists ${pb_lib_misc_dir}${template_file}] } {

      MOM_do_template_file ${pb_lib_misc_dir}${template_file}

   } elseif { [file exists ${cam_post_dir}${template_file}] } {

      MOM_do_template_file ${cam_post_dir}${template_file}

   } elseif { [file exists ${cam_shop_doc_dir}${template_file}] } {

      MOM_do_template_file ${cam_shop_doc_dir}${template_file}

   } else {

      MOM_output_to_listing_device  "ERROR : Template file pb_post_tool_list.tpl is not found in the following directories: \n \n          $pb_lib_misc_dir \n          $cam_post_dir \n          $cam_shop_doc_dir \n \n        Tool list cannot be generated.\n"
return
   }

  #------------------
  # Tool list header
  #------------------
#   shop_doc_output_literal "$co===============================================================================================$ci"
#   shop_doc_output_literal "$co                                   T O O L   L I S T                                           $ci"
#   shop_doc_output_literal "$co===============================================================================================$ci"


  #------------------
  # Output tool list
  #------------------
   global tool_data_buffer
   global mom_sys_tool_stack

   switch $mom_sys_tool_list_output_type {

      "ORDER_IN_USE" {
         set tool_list $mom_sys_tool_stack(IN_USE)
      }

      "GROUP_BY_TYPE" {
         set tool_list [concat $mom_sys_tool_stack(LATHE)  $mom_sys_tool_stack(DRILL)  $mom_sys_tool_stack(MILL)]
      }

      default {
         set tool_list $mom_sys_tool_stack(ALL)
      }
   }


   set prev_tool_type ""

   foreach tool $tool_list {

      set tool_type $tool_data_buffer($tool,type)

     # Output tool type header if it changes.
      if { ![string match "$tool_type" $prev_tool_type] } {
         if { [info exists tool_data_buffer($tool_type,header)] &&  $tool_data_buffer($tool_type,header) != "" } {
            shop_doc_output_literal ";$tool_data_buffer($tool_type,header)"
         }
      }

      if [info exists tool_data_buffer($tool,output)] {
         shop_doc_output_literal ";$tool_data_buffer($tool,output)"
      }
      set prev_tool_type $tool_type
   }

  #------------------
  # Tool list footer
  #------------------
   shop_doc_output_literal ";$co                                                                                               $ci"


  #-------------------------------------------------------------------------------
  # Restore info for the currently active tool in the program being post-prcessed.
  #-------------------------------------------------------------------------------
   if [llength [info commands PB_CMD_restore_active_oper_tool_data] ] {
      PB_CMD_restore_active_oper_tool_data
   }

  set wfl_global [info globals "Twfl_*"]
  foreach gv $wfl_global {
     set mv [string trimleft $gv "Twfl_"]
     global $gv $mv
     if {[info exists $gv]} {
       set $mv [set $gv]
       unset $gv
    }
  }

 

Да! Так я и делал....Воды много.....Мне бы по минимуму инфы....только чтоб список был!

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...