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

FAQ/Unigraphics/POST


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

29 минут назад, lexincton сказал:

стр. 167

Не разбираюсь в tcl. Не нужно из меня делать специалиста. Просто скажи как получить значения этих переменных. Больше ничего не нужно. Пробовал их global объявить, не помогло. И еще вопрос, где взять все переменные, которые выдает nx с описанием?

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


5 минут назад, sapr71 сказал:

Пробовал их global объявить, не помогло.

Может их и не существует

5 минут назад, sapr71 сказал:

И еще вопрос, где взять все переменные, которые выдает nx с описанием?

Screenshot_5.png.2d8b8010fdb3b3afeecfbfe825ec5bc7.png

Но там не все

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

Больше ничего не нужно. Пробовал их global объявить, не помогло.

Непонятно почему у вас ошибка возникает. У меня эти переменные читаются из любого места.

N0010 G40 G90 G71
N0020 ############## begin FINISH PASSES = 4 ###############
N0030 ############## begin ROUGH PASSES = 2 ###############
N0040 (*****   begin of operate  *****)
N0050 ############## oper FINISH PASSES = 4 ###############
N0060 ############## oper ROUGH PASSES = 2 ###############
N0070 M80
N0080 M82
N0090 M84
N0100 M90
N0110 M20
N0120 G01 X-2.895 Y10.6 U-1.051 V0.0 F0.0
N0130 (*****   prohod   begin *****)
N0140 ############## prohod FINISH PASSES = 4 ###############
N0150 ############## prohod ROUGH PASSES = 2 ###############
N0160 G41 X-1.395
N0170 X.105

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

@lexincton

Показать содержимое  

запись

 

global list_tool

set row_tool "; T$mom_tool_number\

D$mom_tool_adjust_register"

set bsearch 0
set last_index 0
for {set i 1} {$i<=99} {incr i} {
    
    if { [info exists list_tool($i)]  } { 

          if {  $list_tool($i) == $row_tool } {

              set bsearch 1
              break;    

         }
    }  else  {
        set last_index $i
    }
}

if { !$bsearch } { set list_tool($last_index) $row_tool

 

чтение 

 

for {set i 1} {$i<=99} {incr i} {    
    if { [info exists list_tool($i)]  } { 

      puts $ofile $tool_list($i)

     } else { break }
}

Hide  
Подскажите, каким образом в этот код можно вставить Mom_output_literal, чтобы только строка с  одной переменной, например, D$mom_tool_adjust_register, выводилась с номером кадра УП?
Изменено пользователем artem-nafanya
Ссылка на сообщение
Поделиться на других сайтах
33 минуты назад, artem-nafanya сказал:

@lexincton

Подскажите, каким образом в этот код можно вставить Mom_output_literal, чтобы только строка с  одной переменной, например, D$mom_tool_adjust_register, выводилась с номером кадра УП?

MOM_output_literal "[format "D%s" $mom_tool_adjust_register] или в лоб MOM_output_literal "D$mom_tool_adjust_register"

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

@lexincton

1 час назад, lexincton сказал:

MOM_output_literal "[format "D%s" $mom_tool_adjust_register] или в лоб MOM_output_literal "D$mom_tool_adjust_register"

В лоб не выйдет, а если так: 

set row_tool  [MOM_output_literal "D$mom_tool_adjust_register"]

set bsearch 0
set last_index 0
 

то в УП выводит какой-то набор цифр:

Показать содержимое  

2216
2028
1845
1671
1500
1331
1152
794
460
268
82

Hide  

 

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

@lexincton

В лоб не выйдет, а если так: 

set row_tool  [MOM_output_literal "D$mom_tool_adjust_register"]

Это что? Что вообще хотите получить?

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

Это что? Что вообще хотите получить?

N10 T1

D1

N20 T2

D1

...

 

Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, artem-nafanya сказал:

N10 T1

D1

N20 T2

D1

...

 

Возьмите последний вариант, в нем чтение поменяйте на

global list_tool

foreach number [lsort -ascii $list_tool] {
    set t_num [expr int($number/100)]
    set d_num [expr $number-$t_num*100]

    MOM_set_seq_on

    MOM_output_literal "T$t_num"

    MOM_set_seq_off

    MOM_output_literal "D$d_num"
}

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

Непонятно почему у вас ошибка возникает. У меня эти переменные читаются из любого места.


N0010 G40 G90 G71
N0020 ############## begin FINISH PASSES = 4 ###############
N0030 ############## begin ROUGH PASSES = 2 ###############
N0040 (*****   begin of operate  *****)
N0050 ############## oper FINISH PASSES = 4 ###############
N0060 ############## oper ROUGH PASSES = 2 ###############
N0070 M80
N0080 M82
N0090 M84
N0100 M90
N0110 M20
N0120 G01 X-2.895 Y10.6 U-1.051 V0.0 F0.0
N0130 (*****   prohod   begin *****)
N0140 ############## prohod FINISH PASSES = 4 ###############
N0150 ############## prohod ROUGH PASSES = 2 ###############
N0160 G41 X-1.395
N0170 X.105

 

 

 

Вот так прописываю в начале прохода.

 

 

222.jpg

 

после того как пытаюсь постпроцессировать выдает вот такую ошибку

 

 

111.jpg

 

 

Может где то еще что то нужно объявлять?

 

 

 

Как можно посмотреть какие вообще данные выдает nx в постпроцессор, допустим имена всех переменных и из значения.

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

Непонятно почему у вас ошибка возникает. У меня эти переменные читаются из любого места.


N0010 G40 G90 G71
N0020 ############## begin FINISH PASSES = 4 ###############
N0030 ############## begin ROUGH PASSES = 2 ###############
N0040 (*****   begin of operate  *****)
N0050 ############## oper FINISH PASSES = 4 ###############
N0060 ############## oper ROUGH PASSES = 2 ###############
N0070 M80
N0080 M82
N0090 M84
N0100 M90
N0110 M20
N0120 G01 X-2.895 Y10.6 U-1.051 V0.0 F0.0
N0130 (*****   prohod   begin *****)
N0140 ############## prohod FINISH PASSES = 4 ###############
N0150 ############## prohod ROUGH PASSES = 2 ###############
N0160 G41 X-1.395
N0170 X.105

 

Разобрался, спасибо. Я не правильно объявлял переменную.

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

@lexincton

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

Ссылка на сообщение
Поделиться на других сайтах
52 минуты назад, artem-nafanya сказал:

@lexincton

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

Если проверять в списке, что через lsearch, но у меня в предыдущем варианте не хотел искать, разбираться тоже не стал и написал через перебор списка циклом

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

Здравствуйте товарищи программисты. Возник вопрос как постпроцессору на токарный станок задать вывод точки безопасного подхода и отхода инструмента если используется один и тот же инструмент на всех операциях??? если я хочу поставить между 26 и 27 номером кадра. И можно ли сделать так, чтоб номера инструментов выводились если даже используются одни и те же.

В постах не очень понимаю, так что сильно не ругайте.

Точка подхода.png

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, 62Alex33 сказал:

Здравствуйте товарищи программисты. Возник вопрос как постпроцессору на токарный станок задать вывод точки безопасного подхода и отхода инструмента если используется один и тот же инструмент на всех операциях??? если я хочу поставить между 26 и 27 номером кадра. И можно ли сделать так, чтоб номера инструментов выводились если даже используются одни и те же.

В постах не очень понимаю, так что сильно не ругайте.

Предположу, что инструмент выводите адресом T, соотв-но перед выводом вставляете MOM_force once T, если делаете не программно, через интерфейс билдера можно в контестном меню адреса поставить принудительный вывод (в этом случае билдер за вас сам пропишет предыдущую команду)

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

Если проверять в списке, что через lsearch, но у меня в предыдущем варианте не хотел искать, разбираться тоже не стал и написал через перебор списка циклом

Не совсем понял посыл. Какая там логика должна быть и примерный код.

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

Не совсем понял посыл. Какая там логика должна быть и примерный код.

set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
если bsearch == 0, значит элемент в списке не найден

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

MOM_force once T

Подскажите где ее искать. Пошагово плиз. 

1 минуту назад, 62Alex33 сказал:

Подскажите где ее искать. Пошагово плиз. 

А принудительно это когда снимаешь галочку модальности на T и ставишь обязательный вывод???

 

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

Подскажите где ее искать. Пошагово плиз. 

 

9 минут назад, 62Alex33 сказал:

А принудительно это когда снимаешь галочку модальности на T и ставишь обязательный вывод???

Не, вот где

Screenshot_1.png.847891c05d7d96f069eb44abd1555a44.png

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

set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
если bsearch == 0, значит элемент в списке не найден

Не пойму почему код сравнивает несколько наборов значений $tool и $row_tool?

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

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Denis_12
      Вот это помогло! Большое спасибо))) А я то все пытался через сборку это реализовать)  А Вы случайно не знаете как размеры в эскизе зафиксировать? Я имею ввиду при отдалении чертежа размеры стрелок и шрифтов увеличивается и происходит наслоение размеров друг на друга
    • ID_Hacker
      Для этого есть отдельная зона промышленной подсети. Если не лезть в настройки системной подсети ничего не завалится.   Сеть то грохнуть могли как на NCU так и на PCU50 и подходы к решению проблемы будут разные.
    • Artas28
      Добрый день! Есть какие ни будь рекомендации, на какую длину  нужно зажимать хвостовик в  термопатроне? Есть фреза д6, L50. Могу ли я зажать её за 15мм, или это будет мало? Или нужно зажимать  как минимум за  3 диаметра?
    • Ветерок
      Не понял что это за процедура такая "перенос в 2D".   Наверное, скрывать объекты на том или ином виде надо на соответствующем виде чертежа, а не в сборке. Или создать в сборке соответствующую конфигурацию и отображать на чертеже её.
    • Viktor2004
    • Denis_12
      Доброго времени суток! Ребят, ни как не могу решить проблему авто-обновления чертежного вида 3D сборки, к примеру скрываешь все кроме основания каркаса сборки, переносишь это в 2D (чертежный вид) указываешь размеры и т.п. (ставишь галочки "исключить из авто-обновления") после чего начинаешь в 3D сборке показывать дополнительно стойки (для создания нового вида), и вот в ранее созданном виде даже с отключенным авто-обновлением они тоже начинают проявляться. Как решить эту проблему? Нужно зафиксировать вид, чтобы он не обновлялся без моего участия. SolidWorks 2022 года.
    • Зинаида
      Возможно Вы смотрите не в той перспективе. Проверьте в перспективе "Мой Teamcenter" стоя на ревизии объекта. Возможно Вы смотрите не в той перспективе. Проверьте в перспективе "Мой Teamcenter" стоя на ревизии объекта.
    • alek77
      Да, спасибо, я уже из интереса ее нашел. Еще раз повторю, чтобы не выхватить, сам я такими методами указния размеров не пользуюсь, это самая вредная практика из всех, что встречал. В свое время имел много проблем в автокаде, корректируя чужие чертежи. Но там и отртогональные линии под углом в 0,001 градуса были в норме, и миллион линий одна поверх другой, и незамкнутые отрезки и много всего, от чего волосы дыбом. В солиде, думал, не столкнусь с таким, наивный. Поэтому искал и нашел макрос который косяки размеров подсвечивает. Он вполне рабочий, но не стабильный. В чем причина не разбирался, так как со своей задачей он справляется. Причем отрабатывает и галочки, и замену текста в размере. Хорошо, что @malvi.dp нашел время и что-то корректирует, спасибо отдельное ему за это. Макрос достаточно полезный при работе с чужими документами. И если удастся сохранить все начальные функции этого макроса против изощренных методов вредительства - будет офигенно.
    • Kelny
      Если этой ссылки достаточно для отображения материала и материал уже есть в обозначенной модели, то возможно подойдёт TabBuilder: https://help.solidworks.com/2023/russian/SolidWorks/SWHelp_List.html?id=e68c1877b4fa431483f8c751bd9fcc78&_gl=1*lby1j3*_up*MQ..*_ga*NTEyNjA5NDQ3LjE3MTQxMTU3MzA.*_ga_XQJPQWHZHH*MTcxNDExNTcyOS4xLjEuMTcxNDExNTczNy4wLjAuMA..#Pg0   В старых версиях при написанни ссылок такого радо в некоторых случаях можно было не писать имя файла, а достаточно было вместо имени файла модели оставить ПРОБЕЛ.SLDPRT и имя после этого подставлялось само. Пробовать надо.   Так же можете глянуть макрос по изменению свойств файла (методы и функции там устаревшие, но возможно даже будет работать и можно поковыряться в коде): https://kelnyproject.ucoz.ru/load/6-1-0-8 по програмированию так же есть справка (версию в ссылке поменяйте на свою, что бы справка была актуальна для вашей версии): https://help.solidworks.com/SearchEx.aspx?query=get custom property&version=2010&lang=english,enu&prod=api
    • gudstartup
      только перед обновлением обязательно выполните  все что написано в руководстве и касается сохранения состояния станка и чпу. и обязательно сделайте образ диска и помните что слишком новые версии могут не заработать на вашем чпу относительно безопасно ставить только сервиспаки
×
×
  • Создать...