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

FAQ/Unigraphics/POST


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

@artem-nafanya

Ни что, именно в обратном и выводятся, для вывода в нужном порядке нужно сделать сортировку, ручную или через встроенную - вариантов масса, для этого скорее всего придется поменять логику создания списка, но об этом как раз можно прочитать в книге, которую я рекомендовал

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


5 часов назад, lexincton сказал:

@artem-nafanya

Ни что, именно в обратном и выводятся, для вывода в нужном порядке нужно сделать сортировку, ручную или через встроенную - вариантов масса, для этого скорее всего придется поменять логику создания списка, но об этом как раз можно прочитать в книге, которую я рекомендовал

Я понял. Книгу эту давно читаю. Если бы понимал что там написано про массивы, то нужен ли бы тут вас спрашивал.

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

Я понял. Книгу эту давно читаю. Если бы понимал что там написано про массивы, то нужен ли бы тут вас спрашивал.

А что конкретно не понятно?

 

Приведу примерный алгоритм для вас:

в первый список записываете значение не строковое, а численное = №инстр*100 + D

 

при чтении сортируем список вручную методом "пузырьков" или проще с помощью lsort (идем в книгу)

далее проходим по списку и число превращаем в нужную нам строку, т.е. сначала делим на 100 и округляем, получаем №инстр, полученный номер вычитаем из первоначального значения, получаем D

строку из 2-х найденных переменных думаю уж составите

 

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

А что конкретно не понятно?

Спасибо.

Просто за этими словами об алгоритме не возникает образ кода. Видать надо читать дальше. 

 

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

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

@artem-nafanya

запись
global list_tool

set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
if { [Isearch -inline -all $list_tool $row_tool ] < 0 } {
  lappend list_tool $row_tool
}


чтение
lsort -integer $list_tool
foreach number $list_tool {
    set t_num [expr int($number/100)]
    set d_num [expr $number-$t_num]

    set row_output [string format "bla bla %s - %s   " $t_num $d_num]
}
 

Работу не проверял, но примерно так должно выглядеть

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

@lexincton

9 часов назад, lexincton сказал:
Показать содержимое  

@artem-nafanya

запись
global list_tool

set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
if { [Isearch -inline -all $list_tool $row_tool ] < 0 } {
  lappend list_tool $row_tool
}


чтение
lsort -integer $list_tool
foreach number $list_tool {
    set t_num [expr int($number/100)]
    set d_num [expr $number-$t_num]

    set row_output [string format "bla bla %s - %s   " $t_num $d_num]
}
 

Работу не проверял, но примерно так должно выглядеть

Hide  

Вероятно не нравится ему команда string в последней строчке.

Этот код в чтении работает без puts $ofile ?

RO2gUFbmwyg.jpg

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

@lexincton

Вероятно не нравится ему команда string в последней строчке.

Этот код в чтении работает без puts $ofile ?

RO2gUFbmwyg.jpg

опечатка есть, format без string надо писать, вместо set row_output поставить puts $ofile

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

@lexincton

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

опечатка есть, format без string надо писать, вместо set row_output поставить puts $ofile

Теперь ошибка во время постпроцессирования.

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

@artem-nafanya

запись

global list_tool
if { ![info exists list_tool] } { set list_tool {} }
set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
if { !$bsearch } { lappend list_tool $row_tool }

 

чтение

global list_tool
foreach number [lsort -ascii $list_tool] {
    set t_num [expr int($number/100)]
    set d_num [expr $number-$t_num*100]
    puts $ofile [format "bla bla %s - %s   " $t_num $d_num]
}

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

Уважаемые гуру, подскажите направление, где "копать". Вопрос по трансформациям координат. Взависимости от кинематики станка, если к примеру взять 4 осевые станки, вывод координат отличается. Где собственно происходит весь этот расчет? Вопрос, понятно, очень обширен, что там масса процедур, но хотелось бы понять алгоритм. Можно ли в одном посте две кинематики реализовать?

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

Уважаемые гуру, подскажите направление, где "копать". Вопрос по трансформациям координат. Взависимости от кинематики станка, если к примеру взять 4 осевые станки, вывод координат отличается. Где собственно происходит весь этот расчет?

Боюсь, здесь никто вас не будет посвящать в это)

 

6 часов назад, Jobman21 сказал:

Можно ли в одном посте две кинематики реализовать?

Хоть 10

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

Я же не прошу процедуры выложить, все на блюдечке приподнести. Просто разъяснить. Мда, неужто все это под грифом сектретно? 

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

Занимательно, но не то

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

Но если не здесь, где черпать эти секреты, может кто-нибудь посоветует. 

Секреты распределены ровным слоем по интернету. Для начала можете изучить в файле *.tcl постпроцессора все PB_CMD, где встречаются mom_angle, mom_out_angle и т.п.

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

@lexincton

22 часа назад, lexincton сказал:
Показать содержимое  

@artem-nafanya

запись

global list_tool
if { ![info exists list_tool] } { set list_tool {} }
set row_tool [expr $mom_tool_number*100+$mom_tool_adjust_register]
set bsearch 0
foreach tool $list_tool {
    if { $tool == $row_tool } {
        set bsearch 1
        break
    }
}
if { !$bsearch } { lappend list_tool $row_tool }

 

чтение

global list_tool
foreach number [lsort -ascii $list_tool] {
    set t_num [expr int($number/100)]
    set d_num [expr $number-$t_num*100]
    puts $ofile [format "bla bla %s - %s   " $t_num $d_num]
}

Hide  

Заработало.

На мой взгляд предыдущий вариант кода более гибок для изменений, но если надо вывести пару параметров, то тоже хорош. 

В коде есть какой-то ключ, меняя который можно менять условие сортировки или для этого код переписывать надо?

Снимок.JPG

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

На мой взгляд предыдущий вариант кода более гибок для изменений, но если надо вывести пару параметров, то тоже хорош. 

Можно создать сколько угодно массивов с одиннаковыми индексами и записывать в них что угодно

 

16 минут назад, artem-nafanya сказал:

В коде есть какой-то ключ, меняя который можно менять условие сортировки или для этого код переписывать надо?

lsort

Ссылка на сообщение
Поделиться на других сайтах
В 11.01.2018 в 00:33, vicebear сказал:

Количество чистовых проходов: $mom_finish_passes.

Количество черновых проходов: $mom_rough_passes.

555.jpg

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...