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

Помощь по PostBuilder


Jobman21

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

Доброго времени суток! В процессе освоения Postbuilder возникли вопросы, с которыми без помощи не справиться. Вообщем, суть вопроса: Почему рядом с блоком (к примеру auto_tool_change), да и не только, параллельно нельзя поставить процедуру пользователя, к примеру вывод данных об инструменте. Прописать процедуру после получается без проблем, а вот хотелось бы информацию о текущем инструменте выводить  именно в той же строке, где собственно и происходит смена инструмента. Пробовал выводить путем добавления текста в этот блок, но в таком случае не получается отформатировать данные, к примеру mom_tool_nose_radius. Выводится 0.2000000001 к примеру, а нужно конечно же 0.2. Прописав команду форматирования [format "%.2f" $mom_tool_nose_radius] выдается ошибка. Прошу Вашей помощи, уважаемые форумчане.

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


21 час назад, Jobman21 сказал:

[format "%.2f" $mom_tool_nose_radius]

Поробуйте "%1.2f". Хотя, может быть придётся перед сменой вставлять процедуру пользователя, где будет set mom_tool_nose_radius  [format "%1.2f" $mom_tool_nose_radius]. Не помню сейчас как вывод в виде текста воспринимает команду format.

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

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

Почему именно в той? Можно, конечно из def вывести, так должно получиться.

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

Поробуйте "%1.2f". Хотя, может быть придётся перед сменой вставлять процедуру пользователя, где будет set mom_tool_nose_radius  [format "%1.2f" $mom_tool_nose_radius]. Не помню сейчас как вывод в виде текста воспринимает команду format.

Попробовал по Вашей рекомендации прописать процедуру форматирования переменной. В итоге постбилдер выдает ошибку:

1.jpg

2.jpg

3 часа назад, grOOmi сказал:

Почему именно в той? Можно, конечно из def вывести, так должно получиться.

Я прекрасно понимаю, что это просто моя "хотелка" вывести названия инструментов (текущего на смене и подготавливаемого) в текущую строку смены инструмента. Но если есть возможность прописать это так, как мне надо, то прошу вашей помощи в этом.

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

;FIXED_CONTOUR_COPY
;TOOL: D10R5  D=10.00 R=5.00 SL=50.00 FL=75.00 Z=2 
N6 T="D10R5"; D=10. ,FL=50.
N7 D1
N8 M6
N9 G54

Вот посидел немного, но делал не в PB, просто старый пост в блокноте поправил

Как уже говорил, реализовано через вызов из .def 

MOM_do_template tool_change

 

Там уже можно вставить что угодно

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

В итоге постбилдер выдает ошибку:

А в журнале что написано?

Ссылка на сообщение
Поделиться на других сайтах
22 часа назад, grOOmi сказал:
11 час назад, grOOmi сказал:
  Скрыть содержимое

;FIXED_CONTOUR_COPY
;TOOL: D10R5  D=10.00 R=5.00 SL=50.00 FL=75.00 Z=2 
N6 T="D10R5"; D=10. ,FL=50.
N7 D1
N8 M6
N9 G54

Вот посидел немного, но делал не в PB, просто старый пост в блокноте поправил

Как уже говорил, реализовано через вызов из .def 

MOM_do_template tool_change

 

Там уже можно вставить что угодно

 BLOCK_TEMPLATE auto_tool_change 
  {
       T[$mom_tool_number]
       T[$mom_next_tool_number]
       M[$mom_sys_tool_change_code]
       Text[(TOOL - $mom_tool_name R - [format "%1.2f" $mom_tool_nose_radius)]

Прописал таким образом. Выдает ошибку, подозреваю из-за форматирования, т.к. при удалении блока форматирования постпроцессирование срабатывает.

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

 Text[(TOOL - $mom_tool_name R - [format "%1.2f" $mom_tool_nose_radius)]

А что у вас тут с круглыми и квадратными скобками творится? Одной квадратной не хватает. Количество открытых скобок должно равняться количеству закрытых. Это аксиома для всех языков программирования при описании выражения.

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

Text[(TOOL - $mom_tool_name R - [format "%1.2f" $mom_tool_nose_radius])]

Поменял, но ничего не изменилось. выдает ошибку синтаксиса. Да, несомненно это упущение, но пока ничего не вышло.

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

Поменял, но ничего не изменилось. выдает ошибку синтаксиса.

Попробуйте круглые скобки убрать.

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

Убрал скобки, перепробовал различные спецификаторы для для команды format - ничего не меняется...

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

Прописав команду форматирования [format "%.2f" $mom_tool_nose_radius] выдается ошибка.

Напишите [format "%0.2f" [expr $mom_tool_nose_radius]]

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

Вроде разобрался. Прописывать в Text [....] какое-либо форматирование не удается, выдает синтаксическую ошибку.

Так как мне хотелось при смене инструмента следующее T3 T2 M06 (TOOL - название инструмента, Nose_R - радиус при вершине), сделал вот такой вот колхоз :

Прописал в

################ FORMAT DECLARATIONS #################

  FORMAT Nose_R_format "&_01.3_"
  FORMAT AbsCoord "&_01.5_"
  FORMAT Coordinate "&_01.5_"
 .................................................

 

################ ADDRESS DECLARATIONS ################

  ADDRESS Nose_R 
  {
      FORMAT      Nose_R_format
      FORCE       always
      MAX         10 Truncate
      MIN         0 Truncate
      LEADER      "Nose_R - "
  }

############ BLOCK TEMPLATE DECLARATIONS #############

 BLOCK_TEMPLATE auto_tool_change 
  {
       T[$mom_tool_number]
       T[$mom_next_tool_number]
       M[$mom_sys_tool_change_code]
       Text[(TOOL - $mom_tool_name ]
       Nose_R[$mom_tool_nose_radius]
       Text[)]

  }
 

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

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

@Jobman21

В предыдущем посте я показал как решается Ваша задача!

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

Прописав Text[(Tool_nose - [format "%0.2f" [expr $mom_tool_nose_radius]])]

или

Text [;]

Text [Tool_nose -  [format "%0.2f" [expr $mom_tool_nose_radius]]]

получаю один и то же результат - ошибку синтаксиса.

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

сделал вот такой вот колхоз :

Нормально вы сделали. Способов много, это один из них.

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

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

Я сделал также, можно и в tcl забить, но там уже кода побольше. Так проще и понятней, да и добавлять что-то намного проще.

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

Присоедините блок " operator message"  и напишите ( PUT TOOL NUMBER  $mom_tool_name [ format " %3.3f "$mom_tool_diameter])

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

Присоедините блок " operator message"  и напишите ( PUT TOOL NUMBER  $mom_tool_name [ format " %3.3f "$mom_tool_diameter])

Присоединить блок "operator message" параллельно блоку смены инструмента не удается, также как и форматирования в этом блоке. Выдает ошибку.

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

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

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

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

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

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

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

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

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

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

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




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