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

Бывалым: нужен совет по корректировке поста


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

Задача: В начале программы как комментарий нужно получить список позиций и параметров инструментов - тип фрезы(если фреза),в зависимости от типа - радиус скругления, угол и т.д, используемых в программе.

Пытался выхватить эти параметры в алгоритме 1 через RTOOLPAR. Но по названию системных переменных из необходимых нашел только диаметр и позицию. До остальных параметров добираюсь только через алгоритм 35 через FR[] - там записываю в массив и через BEGIN начинаю с начала, когда весь инструмент перелистан.

Возникли следующие вопросы.

- Можно ли добраться до необходимых параметров с начала программы, если да, то как.

- Если выполнять через BEGIN и массив в алгоритме 35, программа по сути получается транслируется до последней смены инструмента перед "чистовой" трансляцией. Как с этим бороться?

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

Изменено пользователем Vist
Ссылка на сообщение
Поделиться на других сайтах


Поправка. С нумерацией кадров разобрался. Т.е. результат уже получается. Остаются только первые два вопроса.

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

можешь и через BEGIN сделать, так как описал выше. Тогда чтоб сбросить номерацию используй команду GNBL/OFF, а для того, чтоб начать писать новый файл команду SET/FAIL. По их подробному описанию и применению можешь поискать в хелпе.

Другой способ- не бегать два раз апо CLData, а использовать команду GETFR (там же в хелпе через поиск найдёшь).

Пример 3 (или какого-то другого, в самом начале постпроцессора) алгоритма будет выглядеть так:

3;

......

NBL/OFF;

FOR I=1 I<=GETQC(0) I=I+1;

GETFR I _FR[];

IF _FR[1]=35 CALL 350;

ENDDO;

.....

end;

Затем 350 алгоритм (или любой другой номер. Я писал просто- чтоб не запутаться потом: 350 = 35+0 ,т.е. интуитивно понятно, что 350 алгоритм завязан с 35- алгоритмом смены инструмента):

350 ;

// перечень инструмента в шапке программы;

BLOCK;

NBL/OFF;

_NAMETL=_FR[29];

IF _FR[19]=1 _DTOOL=_FR[20]*2;

ELSE IF _FR[19]=2 _DTOOL=_FR[20];

IF _FR[9]!=0 _ZCOR=_FR[10];

ELSE _ZCOR=_FR[4];

IF _FR[3]=1 _TXT1->'(T@_FR[4] - FREZA D=@[_DTOOL]. Z-H@[_ZCOR])';

ELSE IF _FR[3]=2 _TXT1->'(T@_FR[4] - SVERLO D=@[_DTOOL]. Z-H@[_ZCOR])';

ELSE IF _FR[3]=3 _TXT1->'(T@_FR[4] - CENTROVKA D=@[_DTOOL]. Z-H@[_ZCOR])';

ELSE IF _FR[3]=4 _TXT1->'(T@_FR[4] - ZENKER D=@[_DTOOL]. Z-H@[_ZCOR])';

ELSE IF _FR[3]=5 _TXT1->'(T@_FR[4] - RAZVERTKA D=@[_DTOOL]. Z-H@[_ZCOR])';

ELSE IF _FR[3]=6 _TXT1->'(T@_FR[4] - METCHIK D=@[_DTOOL]. Z-H@[_ZCOR])';

ELSE IF _FR[3]=7 DO;

IF _NAMETL=0 _TXT1->'(T@_FR[4] - REZEC B=@[_FR[20]]., R=@[_fr[22]].)';

ELSE _TXT1->'(T@_FR[4] - REZEC @[_NAMETL])';

ENDDO;

ELSE _TXT1->'(T@[_FR[4]] -NEISVESTNIY INSTRUMENT!!!)';

BLOCK;

END ;

По второму вопросу: условие BEGIN обычно организуется в 4 алгоритме, т.е. таким образом ты выполняешь холостой пробег по всей CLData и только когда добираешься до последнего пункта "Конец программы" начинаешь пробег сначала, но уже с формированием УП. А массив с данными по инструмента собираешь в 25 алгоритме. Грубо говоря в 35 алгоритме будет такое условие: если холостой пробег, то только пишем данные в массив, а если уже не холостой, то выводим в УП смену инструмента как положено.

Изменено пользователем And86
Ссылка на сообщение
Поделиться на других сайтах

По вопросу, который ты оставил там: <noindex>http://fsapr2000.ru/index.php?showtopic=42406&st=40</noindex>

ты там писал- "Вобщем попробывал. Вроде получилось. Наштамповал инструментов. Выяснил, что в одну траекторию можно впихнуть кучу инструментов, еще и в разные места - как в "Место обработки", так и после него. Я так понимаю, что для пересчета траектории берется ближайший к обработке КЭ инструмент или ссылка.

Какие тут подводные камни?

В хелпе об это ни слова не нашел. Может есть толковый мануал помимо хелпа?"

Во-первых- чтоты называешь "траекторией"? У меня такое ощущение, что это ты так переходы обработки называешь... А Траектория- это плоская или пространственная ломаная линия, которая описывает пут настроечной точки инструмента.

Если ты натолкаешь в переход несколько инструментов (хотя я без понятия зачем тебе такое может понадобиться...), то в любом случае в расчёт берётся первый инструмент, который находится в переходе обработки. Инструменты которые затолканы в Место обработки вообще игнорируются. То что ты смог затолкать объект Инструмент в папку Место обработки, как говорил один дяденька " это не ваша заслуга, а наша недоработка..." Исправимся.

Мануала по этому дела пока нету, т.к. в дальнейшем планируется создание некого специализированного конструктора и магазина инструмента. Разве что в упражнениях по САМ модулю для 9 версии ADEM есть пример создания магазина инструмента и описание работы с ссылочным инструментом.

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

Пример 3 (или какого-то другого, в самом начале постпроцессора) алгоритма будет выглядеть так:

3;

......

NBL/OFF;

FOR I=1 I<=GETQC(0) I=I+1;

GETFR I _FR[];

IF _FR[1]=35 CALL 350;

ENDDO;

.....

Большое спасибо. Разобрался с этой схемой очень полезная фишка.

При работе с первым способом через BEGIN пронаблюдал следующее: по сравнению с исходным постпроцессором тот, что заработал с бегин давал плюс микрон в 5% мест программы, которая получалась после BEGIN. И четко совпадала до не BEGIN. Может, конечно, я чет намудрил, но такая тенденция была)).

Теперь возникло еще пару вопросов.

Пытался в set/fail задавать как путь комбинацию с @ипрог - получалось, работало.

А вот ндет или идет - нет. Т.е. не получается в строку ' С:\...\...' втулить ндет или идет, а ипрог получалось.

Так понимаю, что это из-за того, что ипрог интерпретируется как число. И чере @ его можно втулить в строку.

Как тогда работать со строками, или такое не предусмотрено?

Изменено пользователем Vist
Ссылка на сообщение
Поделиться на других сайтах

вроде всё нормально получается...

правда мне привычнее использовать англоязычные написания переменных, хотя это влиять не должно.

set/file '@nameprog';

попробуй ещё раз и учти несколько но:

1) ставь сию команду не 1, а во 2 или 3 алгоритме, т.е. когда уже пришло наименование и обозначение детали, которые ты задаёшь в общих данных техпроцесса механообработки.

2) если наименование и обозначение детали пишется русскими буквами, то прежде чем затолкать их внутрь команды set/file желательно перевести название в виндузовую кодировку, иначе имя файла на выходе получишь закорючками в досовской кодировке.

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

Первое учитывал. Со вторым проблем не было. Попробую еще раз - отпишусь. Спасибо))

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

Извините, сразу не понял. С ИПРОГ, т.е nameprog как я и писал ранее - все нормально работает.

А вот с ИДЕТ И НДЕТ, т.е NAMEPART и N/PART - не работает.

Т.е в формируемый файл эти значения выводятся, а работать с ними через

SER/FAIL не получается.

И еще вопрос.

Как сделать так, чтобы по умолчанию редактором открывался файл, в который записывались последние данные, т. е тот файл, который я поставил через SET/FAIL?

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

Кстати, проверил реазлизацию без begin - все совпадает четко)))

Так что это наиболее оптимальный вариант.

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

Еще вопрос.

Как можно захватить в постпроцессоре обведенные данные, если в cldata они не фигурируют.

post-30512-1306228417_thumb.jpg

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

Канэш ставил. И так, и этак, и через плече. Все ставил и везде. Когда галочку ставил, так оно даже cldata иконку неактивной делало после пересчета (если сам переход пересчитывать). А если операцию - то все равно отображает имя программы из операции или вообще не отображает, если его нет.

Изменено пользователем Vist
Ссылка на сообщение
Поделиться на других сайтах

только что пробовал: сгруппировал несколько переходов из маршрута. Пересчитал целиком программную операцию. Глянул CLData, там нормально пришла 459 команда с кучей параметров.

Или ты хочешь отдельно рассчитать и получить управляшку ТОЛЬКО на сгруппированные объекты?

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

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

post-30512-1306235452_thumb.jpg

Грубо говоря да, только на сгруппированные объекты.

Ага, я так понял, к ним можно через пользовательские параметры.... А почему в пользовательских параметрах тогда выводится 0, если это текст и выводится число, если это число? Как получить текст?

Изменено пользователем Vist
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




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