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

помогите начинающему в Nxopen


Gennady_

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

Добрый день уважаемые профессионалы.

Хочу просить у вас совета. Я два года работаю в NX4 и вот недавно столкнулся с необходимостью написания макросов и различных программок упрощающих жизнь инженеру. Стал изучать C++, и вроде потихоньку осваиваю. Но вот с функциями для NX пока туго. Подскажите пожалуйста с помощью какой функции можно заполучить в код длину указанной на экране прямой. И вообще получить информацию о объекте указанном на экране курсором в программу для дальнейших действий.

И еще вопрос:

Не богат ли кто нибудь, если не хелпом по NX OPEN( на русском языке) то хотя бы собственными переводами документации по этому разделу?

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


Подскажите пожалуйста с помощью какой функции можно заполучить в код длину указанной на экране прямой.

Я конечно не профессионал, но для UGOpen вот:

выбор объекта UF_UI_select_with_single_dialog

длины кривой UF_CURVE_ask_arc_length

Дока на русском - это круто, но не реально

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

AVD, большое спасибо тебе!! и за оперативность в том числе!! :smile:

буду пробовать..

а на счет доки согласен.. просто натыкался в нете на рекламу обучающих курсов по NX, и в числе этих курсов были занятия по программированию. И я думаю что у компании проводящей подобные курсы должна быть хоть какая нибудь литература на русском. Хотя это конечно не догма.

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

AVD, большое спасибо тебе!! и за оперативность в том числе!! :smile:

буду пробовать..

а на счет доки согласен.. просто натыкался в нете на рекламу обучающих курсов по NX, и в числе этих курсов были занятия по программированию. И я думаю что у компании проводящей подобные курсы должна быть хоть какая нибудь литература на русском. Хотя это конечно не догма.

Есть методические материалы, ДА, русского перевода хелпа, скорее всего нет. В свое время спрашивал у UGS будет ли локализована документация по UGOpen? Так мне прямо сказали - "нет". Как пример, MSDN не переводили десятки лет, но вот не давно в 2008-2009 (точно не помню), перевели. Вода камень точит.
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Доброго всем дня. А у меня вот родился еще один вопрос..

Если после записи в журнал определенных действий (запись в код С++) в полученном коде нет ничего кроме комментариев о входе и во выходе из определенного меню.. значит программным путем я этого сделать не смогу?

вот самый простой пример: нужно в навигаторе сборки расположить колонки в определенном порядке.. я пока что смог добиться некоторых результатов только с помощью макросов. Но из за того что эти колонки в каждом файле могут находиться в разных положениях-мой макрос не может выводить однозначный результат.

Мб кто нибудь подскажет функции, если они существуют по управлению колонками в навигаторе сборки? что нибудь отвечающее за их порядок..

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

Доброго всем дня. А у меня вот родился еще один вопрос..

Если после записи в журнал определенных действий (запись в код С++) в полученном коде нет ничего кроме комментариев о входе и во выходе из определенного меню.. значит программным путем я этого сделать не смогу?

В общем случае это не так

Даже более того если в документации нет описания этой функции что Вам нужна то это не

означает что ее нет

Нужно понимать что набор функций разрабатывают одни люди

Вывод в журнал другие

А документацию третьи

И не всегда они идут вровень

Может быть так что в header файлах есть та функциональность что Вам нужна а в документации

ее еще нет и журнал о ней не знает

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

Спасибо, NUT888.

буду искать-надеюсь что нибудь разыщу.

а вот еще вопрос: если зайти в Инструменты-Настройки и зайти в меню "Клавиатура" то там можно найти соответствие команд меню с названиями этих команд.. их ID. Но ведь эти ID не имеют ничего общего с функциями UGOPEN? или я ошибаюсь? я не смог найти таких функций в header_ах

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

Спасибо, NUT888.

буду искать-надеюсь что нибудь разыщу.

а вот еще вопрос: если зайти в Инструменты-Настройки и зайти в меню "Клавиатура" то там можно найти соответствие команд меню с названиями этих команд.. их ID. Но ведь эти ID не имеют ничего общего с функциями UGOPEN? или я ошибаюсь? я не смог найти таких функций в header_ах

Они могут по разному называться

Сейчас еще подумал насчет журнала

Он может быть реализован на базе только одной из "C" библиотек

А ведь их несколько: UGOPEN, UGOPENPP, NXOPEN

И в рамках каждой может быть обеспечена какая то функциональность

Наиболее полная функциональность реализована в UGOPEN

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

А ведь их несколько: UGOPEN, UGOPENPP, NXOPEN

И в рамках каждой может быть обеспечена какая то функциональность

Наиболее полная функциональность реализована в UGOPEN

А вы не могли бы мне разъяснить принципиальную разницу между этими библиотеками. Понятно что я могу для этого просмотреть некоторые файлы. Но ведь у них какой то пинцип разделения. Возможно зная его мне будет легче искать ту или иную функцию. Буду вам очень признателен за такую информацию..

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

А вы не могли бы мне разъяснить принципиальную разницу между этими библиотеками. Понятно что я могу для этого просмотреть некоторые файлы. Но ведь у них какой то пинцип разделения. Возможно зная его мне будет легче искать ту или иную функцию. Буду вам очень признателен за такую информацию..

UGOPEN - исторически самая первая библиотека

Поэтому видимо она самая полная

Содержит набор С функций для работы с UG

UGOPENPP - исторически самая первая С++ библиотека

На мой взляд не очень удачная

Но набор классов для работы с dlg у них написан очень хорошо

NXOPEN - еще одна объектно-ориентированная библиотека

Проект развивается

Не стану ее комментироват так как особо ее не знаю

С ее приходом вроде появилась возможность кроме С++ использовать NET ...

Опять же не знаю этих технологий (считается что они проще для понимания чем классический C++)

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

Спасибо большое вам, NUT888.

А еще хотелось бы уточнить..

Моя работа заключается все таки в проектировании-я инженер а не программист. Но как и многие на этом форуме со временем столкнулся с задачей автоматизации и заинтересовался ей. Так вот в данный момент я в самом начале изучения как UGOPEN/OPENPP так собственно и С++, и вообще с объектно ориентированного программирования ( т.е просто C -для меня тоже неизвестность). И очень хочется знать наверняка: позволяет ли С++ работать со всеми функциями языка С ( в частности интересуют функции из UGOPEN), или все не так просто?

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

С++ и UGOPEN - это хорошо. На чистом Си уже наверное никто и не пишет давно. А сейчас и на языках NET можно писать - Visual Basic (для начинающих само то), C#. На первый взгляд там тоже все функции реализованы, а диалоги так вообще легко делаются в Windows Forms,

примерно как в Borland C++Builder. Эх,блин, когда же они 64-битный билдер выпустят, а то под 64-бит NX писать надо сложные диалоги.

Обещали в этом году, да видать прокинули опять. Кстати, никто в Visual Studio MFC- диалоги свои не писал под NX? Чёт не получается у меня...

Ну еще Java есть, но там я некоторых классов/функций не нашел - почему то пропустили их, в принципе это не проблема конечно - из Java можно тоже UGOPEN вызывать через native методы.

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

UGOPEN - исторически самая первая библиотека

Поэтому видимо она самая полная

Содержит набор С функций для работы с UG

UGOPENPP - исторически самая первая С++ библиотека

На мой взляд не очень удачная

Но набор классов для работы с dlg у них написан очень хорошо

NXOPEN - еще одна объектно-ориентированная библиотека

Проект развивается

Почему развивается?

Проект в самом соку, использовать - одно удовольствие. ;-)

Не стану ее комментироват так как особо ее не знаю

С ее приходом вроде появилась возможность кроме С++ использовать NET ...

Опять же не знаю этих технологий (считается что они проще для понимания чем классический C++)

Собственно, С++ в UG до момента появления UGOPENPP по сути и не было официально, по крайней мере для сторонних разработчиков.

Просто компилятор и некоторые "фичи" С++ использовались, а все "пользовательские" библиотеки были чисто "С-шными".

Ну а UGOPENPP - это убожество, конечно. Похоже, они уже тогда знали, что на NXOPEN пойдут и не стали заморачиваться особо.

А что касается NXOPEN, то там кроме собственно библиотек классов этого самого NXOPEN можно использовать ВСЕ старые "С-шные" функции,

для которых имеются соответствующие "враперы".

С++ и UGOPEN - это хорошо. На чистом Си уже наверное никто и не пишет давно. А сейчас и на языках NET можно писать - Visual Basic (для начинающих само то), C#. На первый взгляд там тоже все функции реализованы, а диалоги так вообще легко делаются в Windows Forms,

примерно как в Borland C++Builder. Эх,блин, когда же они 64-битный билдер выпустят, а то под 64-бит NX писать надо сложные диалоги.

Про какой такой 64-битный билдер и сложные диалоги идёт речь???

Обещали в этом году, да видать прокинули опять. Кстати, никто в Visual Studio MFC- диалоги свои не писал под NX? Чёт не получается у меня...

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

когда с использованием C# и NXOPEN это делается на порядок легче и удобнее?

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

Про какой такой 64-битный билдер и сложные диалоги идёт речь???

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

когда с использованием C# и NXOPEN это делается на порядок легче и удобнее?

Речь о том, что есть уже программы, написанные на CBuilder, ну что то типа CADMECH (ну попроще, конечно) - с кучей

диалогов (довольно сложных - с компонентами доступа к БД и т.п.) для работы со стандартными изделиями и др.

В билдере это всё просто делалось, а теперь пошел 64-битный NX, а билдера нету такого.

А переписывать код под что то другое не очень охота.

То, что на C# легче, это понятно, правда опасаюсь, не будет ли C# тормозить по сравнению с native-кодом...

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

Всем-Здравствуйте. и с наступающим!

А может ли мне кто подсказать: у нас в офисе есть как 64битные машины так и 32. Есть определенный набор макросов и dll_ек. Некоторые из DLL перекомпилины под 64. Можно ли сделать так чтобы с одной кнопки( в собственной тулбаре), в зависимости от того под каким юниграфиксом(32 или 64) мы работаем запускать соответствующуюDLL ( для 32 или для 64).

Где то на форуме был пример запуска с одной кнопки разных макросов, в зависимости от языка(русский или английский) в UGII.. мб что то похожее можно сделать?

Пример для тулбара:

TITLE My Toolbar

VERSION 170

DOCK TOP



	BUTTON  SOME_ACTION_FOR_LAUNCHING_MACRO

	LABEL   Some Label

	ACTION  c:\macro\my_${UGII_LANG}_macro.macro

Соответственно должны быть созданы

c:\macro\my_russian_macro.macro (для русского интерфейса)

и

c:\macro\my_english_macro.macro (для английского интерфейса )

Regardzzz ...

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

Всем-Здравствуйте. и с наступающим!

Где то на форуме был пример запуска с одной кнопки разных макросов, в зависимости от языка(русский или английский) в UGII.. мб что то похожее можно сделать?

UF_TEXT_load_translation_file

Посмотрите

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

Всем новогоднего настроения!

А у меня вот какой вопрос. Для того чтобы dll скомпилированная для NX4 в VS7.1 заработала в NX6-необходимо ее перекомпилировать в более поздней VS. А если не на все dll остались исходники-можно что нибудь сделать? или придется писать их заново?

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

Да обычно всё работает. Только, если используешь исключенные из UGOPEN функции, тогда возникнут проблемы - типа функция такая то не найдена в такой то DLL. Ну еще MFC DLLки могут понадобиться разные, но они обычно идут в SYSTEM32...

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

Всем новогоднего настроения!

А у меня вот какой вопрос. Для того чтобы dll скомпилированная для NX4 в VS7.1 заработала в NX6-необходимо ее перекомпилировать в более поздней VS. А если не на все dll остались исходники-можно что нибудь сделать? или придется писать их заново?

Под Windows

Если для работы с UG Вы использовали только UGOpen (чистую С библиотеку для

работы с объектами UG) то работать будет и без перекомпиляции

Если например используете UGopenpp то может получиться так что объект

созданный в одной версии будет разрушен в другой

Это касается не только скомпилированных библиотек но и template в частности stl

Это приведет к краху

В этом случае исходники недостающие придется переписать заново

Да обычно всё работает. Только, если используешь исключенные из UGOPEN функции, тогда возникнут проблемы - типа функция такая то не найдена в такой то DLL. Ну еще MFC DLLки могут понадобиться разные, но они обычно идут в SYSTEM32...

Лень искать

Но такая проблема в частности решается включением специального header

где старые deprecated функции переписыванием их с помощью новых

В header лежит прямо исходный код

Таким образом все собирается и в lib и dll этих функций нет

Еще проблемы пре перекомпиляции C кода в новую версию может быть

увеличение количества членов в struct в новой версии по сравнению со старой

Такие вещи редко но бывают и приводят к тому что эти новые члены в новой сборке

становятся неициализированными что может привести к краху на этапе выполнения или неадекватной

работе программы

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

Добрый день, всем!

не хочу заводить новую тему-поэтому продолжу свои вопросы в этой!

1. Как програмно выбрать из навигатора сборки все компоненты с именем "mastermodel" , которые появляются в навигаторе при импорте в рабочий файл существующего шаблона чертежа.

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

Спасибо за помощь.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • jtok
      Он сильно зависит от марки PP, от расчетной температуры и от расчетного срока службы (количества циклов нагружения). Поищите стандарт DVS 2205, части 1 и 2. В нем есть номограммы долговременной прочности. Он на немецком, но ничего лучше нет. Номограммы эти приведены по ссылке, внизу страницы, раздел "Список приложений".  Например, диаграмма для PP type 1 по ссылке: В оригинале же выглядят они вот так (для PP type 1): Также был древний документ на русском по этой теме, прицеплен к сообщению. _raschet_emkosti DVS 2205-2.pdf
    • Andrey_kzn
      - тут возможно смысл сообщения в том, что оси не синхронизированы, только вот зачем синхронизировать  оси X и Y не понятно. В случае двух шпинделей например,  coupled будет означать синхронизацию.
    • niagara39
      Правильно ХУ на этом станке не перпендекулярны. Тормоз оси У включен постоянно, отключается только при перемещении самой оси У. Координаты не  меняются... Знать бы что за параметры, пока ничего подобного не нашли
    • nicomed
      Поднял старые записи. Из того что было максимально похоже на то, что можно было назвать "получалось" :   Самому не совсем понятно поведение СкетчМенеджера при отрисовке линии от координат 0,0,0 - частенько слетает в произвольное место на виде. 
    • maxx2000
      на втором  скрине PLC сообщает что-то типа "старт программы запрещён потому что оси ХУ не связаны". Возможно станок в режиме точения должен заблокировать перемещение У, включить тормоз или что-то ещё для произвольного смещения под нагрузкой. Возможно косяк в тексте программы.
    • maxx2000
      @sneg0vik как это? Если ХУ не перпендикулярны то это уже не У, а скажем ось В. Нет, конечно в теории можно построить станок с неперпендикулярными ХУ. Вопрос зачем? Gildemeister CTX 420 это же токарно-фрезерный с осью У
    • sneg0vik
      На станке ось "X" является наклонной по отношению к оси "Y" (т. е. они не перпендикулярны). Поэтому надо полагать (учитывая текст ошибки) у вас отключена связь оси "Y" с осью "X".   Проверьте меняются ли координаты оси "X", когда вы двигаете ось "Y". И наоборот. Если - нет, то ищите как включить (наверное через параметры) взаимосвязь оси "Y" с осью "X".
    • ДОБРЯК
      Если ваш Заказчик и такую работу примет, то необходимо в шпоночное отверстие добавить и массу воды. Примерно 1/4 от той массы которую вы будете добавлять.  Да и еще и не забыть добавить момент инерции от воды.
    • Soprin
      В функции MOVE по F7.3 должно же из R270 переносить в R278?
    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
×
×
  • Создать...