Nick, помнишь я давно предлагал как то упростить написание постпроцессора, чтобы пользователям не надо было разбираться с эскапами?
Сам же недавно видел, какой я постпроцессор сделал для ArtCAM'a?
А ведь писать его через эскапы будет чистым издевательство с кучей экранированных кодов и происходящих от туда ошибок.
Может тебе сделать вариант, когда вместо G-Code будут вызываться подпрограммы, как я сейчас делаю в своём постпроцессоре?
Ну или сделать ArtCAM -like синтаксис,
(для просмотра содержимого нажмите на ссылку)в котором только два особых символа кавычки " и квадратные скобки [] которые необходимо подменять на коды символов.
Ну только нотацию я сделал бы другой, вместо названия в начале строки сделал бы секции
- [SEC_HEAD_FILE] [SEC_HEAD_FILE_END]
- [SEC_TAIL_FILE][SEC_TAIL_FILE_END]
- [SEC_TOOLCHANGE] [SEC_FIRST_TOOLCHANGE_END]
[SEC_CONTROL_TOOL_PARAM][SEC_CONTROL_TOOL_PARAM_END] (для периодического контроля инструмента, и два параметра к ней число операций врезания или пройденый путь между замерами диаметра и высоты, хотя при моём подходе это надо делать непосредственно в постпроцессоре, CAM длолжен думать только о геометрии, а не режимах.)
- [SEC_DRILL_CYCLE] [SEC_DRILL_CYCLE_END]
- [SEC_START_TRAJECTORY] [SEC_START_TRAJECTORY_END]
- [SEC_END_TRAJECTORY] [SEC_END_TRAJECTORY_END]
- [SEC_FIRST_RAPID_MOVE] [SEC_FIRST_RAPID_MOVE_END]
- [SEC_RAPID_MOVE] [SEC_RAPID_MOVE_END]
- [SEC_FIRST_PLUNGE_MOVE] [SEC_FIRST_FIRST_PLUNGE_MOVE_END]
- [SEC_PLUNGE_MOVE] [SEC_PLUNGE_MOVE_END]
- [SEC_FIRST_LINEAR_MOVE] [SEC_FIRST_LINEAR_MOVE_END]
- [SEC_LINEAR_MOVE] [SEC_LINEAR_MOVE_END]
- [SEC_FIRST_CW_MOVE] [SEC_FIRST_CW_MOVE_END]
- [SEC_CW_MOVE] [SEC_CW_MOVE_END]
- [SEC_FIRST_CCW_MOVE] [SEC_FIRST_CCW_MOVE_END]
- [SEC_CCW_MOVE] [SEC_CCW_MOVE_END]
Это так же освободило спец символы = и ", ну а квадратные скобки можно вставлять так,
первая скобка свидетельствует о спец символе, а последующие скобки рассматриваются как символы
Например вставка одной скобки [[ и трёх скобок [[[[ всё это сделало бы снизило требования к знаниям для написания постпроцессора до минимума.
Конечно я твой пакет не использую не только потому, что там пост процессор на эскапах, но и потому что не осилил в целом.
Но такой вот формат постпроцессора сделал бы создание постпроцессоров для твоего GcodeTools намного удобнее и снял одну из сложностей при начальном освоении.
А так получается что я пишу постпроцессоры только для Арткама и появление его версии для других проприетарных пакетов со схожим синтаксисом более вероятно,
чем для твоего.
Обидно.
Ну или уж на худой конец, пусть постпроцессор будет sh скриптом, который будет вызывать скрипты на bash или python из указанной папки.
Тут главное чтобы файлы были унифицированы и различались только названием и собственно шаблоном gcode.