Постпроцессор с возможностью вывода циклами

К нам обратился клиент с просьбой сделать постпроцессор с возможностью вывода циклами, для уменьшения объема выводимой программы. Ранее, мы уже встречались с подобными задачами и решали их, но требовалось гораздо больше времени.  Станок для которого, требовалось написать постпроцессор-это фрезерный Leadwell v20, 3 оси, стойка ЧПУ  Fanuc oi mc.

В первую очередь, клиент отправил нам небольшое техническое и пример программы, на основе который нам необходимо было написать постпроцессор:

Нашим специалистам понадобилось более 12 дней, чтобы написать постпроцессор.  После чего он был отправлен клиенту. И далее началось самое интересное. Данные постпроцессор был передан программисту, который начал вводить очень много правок, так как хотел видеть управляющую программу  по своему и она очень сильно отличалась от того, что скинул руководитель компании с самого начала. Мы не привыкли опускать руки, спорить с клиентом и утверждать, о том, что, сделанный нами постпроцессор, был сформирован на основе ваших первоначальных пожеланий и требований. Мы просто начали переделывать весь постпроцессор под пожелания программиста:

Замечания от программиста:

«Еще момент, что бы пост   бы пост в строчке смены инструмента в скобки брал из описание инструмента, а не из графы тип инструмента»
« По мелочи. Что бы в числах два знака после запятой»

«К конце инструмента поменять Z100 на G0Z100M9»
«Еще момент с внутренним контуром, не зацикливает, если не ставить условие продления контура по косательной. Такое условие не подходит для расфрезеровки отверстий»

«Эти моменты. И еще один вопрос.  Можно ли обработку Hss тоже вывести в уп через зацикливание. Простых фасок например.  В сложные контуры нет смысла лезть, а вот скосы по прямым передвижениям, было бы не плохо»