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

FAQ/Unigraphics/POST


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

ни одна их этих переменных не подходит. variable streamline вобще выдаёт как planar mill.

эта вроде выводит правильно mom_operation_type

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


ни одна их этих переменных не подходит. variable streamline вобще выдаёт как planar mill.

эта вроде выводит правильно mom_operation_type

 

Значит ее используйте

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

искал в нете как активировать авто тормоз поворотной оси но не совсем понял как это сделать именно через пост.

в самом файле как там говорится в начале я тоже нехочу делать..надо через пост

вот такая переменная mom_clamp_status.но как применить

 

http://www.eng-tips.com/viewthread.cfm?qid=258025

 

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

искал в нете как активировать авто тормоз поворотной оси но не совсем понял как это сделать именно через пост.

в самом файле как там говорится в начале я тоже нехочу делать..надо через пост

вот такая переменная mom_clamp_status.но как применить

 

http://www.eng-tips.com/viewthread.cfm?qid=258025

 

По-моему, значение переменной mom_clamp_status как раз и задается через стандартную UDEшку Clamp. Так что от событий у тебя вряд ли уйти получится. Ну либо отслеживать тип операции. Если пятиосевая, то не выводить блокировку, иначе - выводить

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

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

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

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

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

По задаче, вам по сути надо сделать следующее (поправьте если не так): необходимо при подходе в операции включить блокировку осей (типа М25 в HH), а в конце операции разблокировать (M26), но это все безобразие надо делать только при 2+3, при много осевой такой блокировки делать не надо?

Если так, что здесь можно поступить по разному, например, при пяти осеовой обработки вводить UDE, которое подавляет вывод блокировки/разблокировки или каким-либо образом "узнавать", что идет непрерывная много осевая обработка и так подавляет. Также есть всегда метод имени рабочего и крестьянки - постпостпроцессинг (но это вообще не интересно).

Вопрос как узнавать также можно решить по разному.

По своему опыту использования много осевой обработки (проще использовать UDE).

 

П.С. Интресно что вам заокеанские коллеги посоветуют? Напишите если будет что-то интресное.

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

я потом понял что кто то русский пишет там..да ты всё правильно понял что мне нужно сделать..но только пока для 3+1.мне надо распознание где позиционная обработка а где неприрывная..хочется как можно меньше вмешиваться в сам файл prt поэтому нехочу делать через EDE

я создал там новую тему..старая уже закрыта..ответят отпишусь

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

я потом понял что кто то русский пишет там..да ты всё правильно понял что мне нужно сделать..но только пока для 3+1.мне надо распознание где позиционная обработка а где неприрывная..хочется как можно меньше вмешиваться в сам файл prt поэтому нехочу делать через EDE

я создал там новую тему..старая уже закрыта..ответят отпишусь

В принципе это реально сделать (я так думаю), нужно заготовку поста и примеры prt и что и куда вставлять

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

выкладываю хасовский пост и файл..в нём нужно сделать автоматическую блокировку и разблокировку.

теперь другая проблема появилась..на nx 8 все работало. пост синумерик

там пост выводит наименьшую координату по z и потом перемешает её в начало программы.на на nx 9 не перемешает то что нужно в начало программы

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

кто подскажет переменную для выводы радиуса фрезерного инструмента..именно радиуса а не радиус скрулления

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

спасибо разобрался..только теперь как кол-во знаков уменьшить..

Первый вариант (имхо не красивый, по программистки)

MOM_output_text "G90 G10 L12 P1 R[format %1.3lf expr[$mom_tool_diameter/2]] # не проверял

Если будет ошибка, то я бы значения радиуса вычислил в отдельной переменной, а потом туда подставил

 

global radii_tool mom_tool_diameter

set radii_tool expr[$mom_tool_diameter / 2]

MOM_output_text "G90 G10 L12 P1 R[format %1.3lf $radii_tool]"

 

Второй вариант

Настроить BLOCK с необходимыми WORD и на R настроить вывод числа

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

что обозначают эти буквы

 set output [format "%-10s %-8.3f %-9.1f %-3d"

f - тип данных с плавающей точкой

d - целое число

s - строка

Подробности ИМХО можно смотреть в описании команды sprintf из С http://ru.cppreference.com/w/cpp/io/c/fprintf

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

теперь другая проблема появилась..на nx 8 все работало. пост синумерик

там пост выводит наименьшую координату по z и потом перемешает её в начало программы.на на nx 9 не перемешает то что нужно в начало программы

проанализировав работу поста я выяснил, что команда set file [open $ptp_file_name a] и последующим seek уже не робит. Я изменил ключ а на a+. seek стал "скакать", то он вставляет символы с заменой существующих. ((

Что-то видимо изменилось в TCL

Поэтому можно воспользоваться старым методом - запись в новый файл и переименовывание

 

Вот вариант он работает на 9-ке (я думаю, что и на любой версии)

set temp_dir [MOM_ask_env_var UGII_TMP_DIR]
set temp_file temp.temp
set f [open "$temp_dir\\$temp_file" w+]
set fcom [open $ptp_file_name r]

# shitivaem pervuyou 2 stroku i zapisivaem v fail up
for {set i 0} {$i < 2} {incr i } {
  gets $fcom inLine
  puts $f "$inLine"
}

# zapisivaem vremya
puts $f  "(MACHINE TIME: $mtime)"
puts $f  "$co----MIN Z..[format "%.2f" $coord_z]---- $ci"
puts $f  "$co TOTAL TIME:[format "%.2f" $mom_machine_time] $ci"

# zapisivaem ostalnuya chast UP
while { [gets $fcom inLine] >=0 } {
    puts $f "$inLine"
}

close $f
close $fcom

file rename -force "$temp_dir\\$temp_file" $ptp_file_name
file delete -force "$temp_dir\\$temp_file"

Минус только в том, что в окне NX немного выглядит не так))

 

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

выкладываю хасовский пост и файл..в нём нужно сделать автоматическую блокировку и разблокировку.

Один из вариантов

global mom_tool_axis_type

#0=None, 1=Fixed Vector, 2=Normal to Part, 3=Swarf Relative to Part Surface(+U), 4=Swarf Relative to Drive Surface(+V), 5=Swarf Relative to Part Surface(-U), 6=Swarf Relative to Drive Surface(-V), 7=Relative to Part Non-Perpendicular, 8=4-Axis Normal to Part, 9=Through or Away from a Point, 10=Towards Point, 11=Away from Line, 12=Towards Line, 13=Surface Ruling, 14=Fan, 15=Same, 16=Normal to Drive Surface, 17=Parallel to Part Surface, 18=Parallel to Drive Surface, 19=Relative to Drive Surface, 20=4-Axis Normal to Drive Surface, 21=4-Axis Relative to Part Surface, 22=4-Axis Relative to Drive Surface, 23=Same as Drive Path, 24=Relative to Vector, 25=Dual 4-Axis or Dual 4-Axis Relative to Part, 26=Dual 4-Axis Relative to Drive, 27=Interpolated Tool Axis, 28 = User Defined to Part, 29 = All
switch $mom_tool_axis_type {
  "0" { MOM_output_literal "mom_tool_axis_type = NONE"}
  "1" { MOM_output_literal "mom_tool_axis_type = Fixed Vector"}
  "2" { MOM_output_literal "mom_tool_axis_type = Normal to Part"}
}

  MOM_output_literal "mom_tool_axis_type = $mom_tool_axis_type"
  MOM_output_literal "M10 (*********************************)"

Здесь в зависимости от типа ориентации оси инструмента вводим блокировку или нет

С разблокировкой оси можно поступить аналогично или выводить всегда... как вашей душеньке угодно.

Ограничение такого способа, состоит в том что в старых версия NX (до 9-ки) он всего не будет работать

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

спасибо огромное ..пока до тормаза оси не добрался но все остальное работает..кстати в том примере с минимальным z как сделать чтоб нумерация строчек была..вначало программы бросает но без нумерации строчек

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

кстати в том примере с минимальным z как сделать чтоб нумерация строчек была..вначало программы бросает но без нумерации строчек

не уловил что надо сделать

Вот часть УП

%
O1234 ( 4X TEST.prt )
(MACHINE TIME:    4.6 MINUTES)
(----MIN Z..-6.91---- )
( TOTAL TIME:4.57 )
( CONTROL HAAS )
(------------------------------)
(           TOOLS              )
(------------------------------)
( T#    NAME            LENGTH )
(------------------------------)
(------------------------------------)
( DATE: 13/JUN/2014  TIME: 01:10:21  )
( Part File Name: 4X TEST.prt )
N1 G91 G28 Z0.
N2 G91 G28 A0.
N3 G17 G90 G80 G40 G21
N4 M11
N5 (TOOL #1 MILL)
N6 T1 M6
N7 (VARIABLE_CONTOUR)
N8 G0 A0
N9 G90 X50. Y-30. S100 M3
N10 G43 H1 Z18.03 M8

Покажите где надо исправить?

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

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

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

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

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

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

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

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

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

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

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




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