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

помогите начинающему в 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 пользователей

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




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