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

Использование Openapi


Vladimir2004

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

Здравствуйте все.

Мне шеф поставил задачу: нарисовать в UG трубопровод считывая его координаты из файла. Нужно сделать какую-то внешнюю программку, которая пользовалась бы функциями UG.

Я так понимаю это можно сделать через Open Api?

Сам я ниразу не работал с UG, я в этом деле новичок. Си++ знаю хорошо, программирую на Buildere.

Не подскажите что нужно подключать к проекту и как?

Может подскажите где прочитать?

А ещё лучше маленький примерчик.

Спасибо.

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


С GRIP'ом связываться бы не советовал. Хоть он и поддерживается в UG, но не развивается. Поэтому можно столкнуться с невозможностью получить доступ к какой-либо возможности UG, которой не было в ранних версиях UG, и, которой соответственно не было в GRIP.

Проторенный путь -- использовать VisualC++, для которого есть шаблон и примеры. Говорят, что можно использовать и Borland C++Builder. Но для этого надо преобразовывать библиотеки и все не так просто. Я так и смог задействовать Borland C++Builder, пришлось устнавливать VC++.

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

Разобрался, спасибо. Всё оказалось довольно просто.

А вот как мне трубопровод нарисовать?

Знаю, что сначала надо линию нарисовать потом оптянуть её трубой.

Для начала пробую простую линию нарисовать:

tag_t * line1;

UF_CURVE_line_p_t lpt;

lpt->start_point[0]=0;

lpt->start_point[1]=0;

lpt->start_point[2]=0;

lpt->end_point[0]=50;

lpt->end_point[1]=100;

lpt->end_point[2]=0;

UF_CURVE_create_line(lpt,line1);

ничего не получается...

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

Попробуйте так

tag_t line1;

UF_CURVE_line_p_t lpt;

lpt.start_point[0]=0;

lpt.start_point[1]=0;

lpt.start_point[2]=0;

lpt.end_point[0]=50;

lpt.end_point[1]=100;

lpt.end_point[2]=0;

UF_CURVE_create_line(&lpt, &line1);

а еще лучше (как в примерах):

UF_CALL(UF_CURVE_create_line(&lpt, &line1));

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

to FFF

неа, не то. Компилятор ругается на &lpt. C &line1 результат тот же.

UF_CALL вообще незнает такой функции, а в каком она h-файле я не знаю.

Вообще UG ругается на lpt пишет:

The variable lpt is being used without being defined

типа я её ещё не определил?

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

Заработало! Как говорится дело было не в бабине...

Вот как надо было:

UF_initialize();

tag_t line1;

UF_CURVE_line_s lpt;

lpt.start_point[0]=0;

lpt.start_point[1]=0;

lpt.start_point[2]=0;

lpt.end_point[0]=10;

lpt.end_point[1]=0;

lpt.end_point[2]=0;

UF_CURVE_create_line(&lpt, &line1);

UF_terminate();

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

А ещё такой вопрос, в Visual C можно сделать exe-файл чтобы вызывал функции UG. Пробовал скомпилить, запускать никакого результата.

Для чего нужен exe-файл и как им пользоваться?

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

>Vladimir2004

Open C API programs can run in 2 different environments, depending on how the program was linked. The two environments are:

External - these Open C API programs are stand alone programs that can run from the operating system, outside of Unigraphics, or as a child process spawned from Unigraphics.

Internal - these Open C API programs can only be run from inside of a Unigraphics session. These programs are loaded into main memory along side of Unigraphics and access routines within Unigraphics. One advantage to this is that the executables are much smaller and link much faster. Once an Internal Open C API Program is loaded into memory, it can stay resident for the remainder of the Unigraphics session. If you call this program again, it executes without reloading (provided it was not unloaded). Internal Open C API programs work on the current part and automatically modify the part display.

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

Я вот пока понять не могу:

Скомпилил exe файл, скопировал его в папку UGII чтобы библиотеки все видел, делаю все теже команды по рисованию трубопровода - ничего. Запускается чёрное досовское окно и висит.

Может ещё надо какую-нибудь команду давать по открыванию UG?

В Helpe я искал, нифига не нашёл...

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

Вообще внешняя программа позволяет работать с функциями UG

также как и внутренняя

Чтобы появился результат надо создать часть и потом сохранить ее

Надо иметь в виду что на запуск exe нужна отдельная лицензия

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

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

в дистрибутиве UG есть пример external UF: ext_uf_example.c .

может, сначала "потренироваться на кошках" -- добиться работоспособности этого примера, а потом по его подобию сотворить свой ?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Павлуха
      Я скажу Вам так, что модель сама кривыми руками сделана. Нет базовых плоскостей и граней. Поэтому столько.
    • jtok
      Спасибо, более-менее понятно. А это видео - оно от модели @Павлуха , "Хитрый полик"? Если да и если нужно 12 фичеров на эту операцию, то похоже, что я неверно оценил свои силы и время на проект(
    • DJ Astro
    • ak762
      @jtok записал видео с СВ23 может поможет разобраться Recording 2024-05-23 211508.mp4
    • Павлуха
    • nikzubik
      они подключены на видео не видно, загрузил фото в хорошем качестве там видно что эти разьемы подключенны нет там напряжения, как то раньше мерял было что то около 100 вольт, сейчас померял там нет ничего
    • Александр1979
      Посмотрите на станке, где есть "автоподход", параметры 6071-6089. Если в одном из этих параметров число 46, то при выполнении кода M46 вызывается пользовательская макропрограмма. 
    • jtok
      Какая хоть версия, чего ставить? У меня последняя 21(
    • androskv
      При выборе того или иного подшипника для обеспечения его статической и динамической прочности необходимо руководствоваться справочными значениями его статической и динамической грузоподъемности. В старых ГОСТах (за 1975 и 1987 гг.) для указанных ниже в таблице подшипников приводились таблицы со справочными значениями их статической и динамической грузоподъемности. Но неожиданно для себя я обнаружил что в новых ГОСТах (за 2022 и 2023 гг.) данные таблицы отсутствуют, а также отсутствует какая-либо ссылка (сноска), где в этом случае смотреть справочную статическую и динамическую грузоподъемность подшипников. Поиск информации вывел на два ГОСТа: – ГОСТ 18855-2013. Подшипники качения. Динамическая грузоподъемность и номинальный ресурс – ГОСТ 18854-2013. Подшипники качения. Статическая грузоподъемность.   В данных ГОСТах действительно есть формулы для расчета статической и динамической грузоподъемности для каждого типа подшипника. Однако, чтобы рассчитать данные значения необходимо знать дополнительные параметры, например, для шариковых подшипников это: – Z – число шариков в подшипнике; – Dw – диаметр шарика в подшипнике; – Dpw – диаметр центов шариков в подшипнике. Данные параметры не приводятся ни в старых, ни в новых ГОСТах по подшипниках. Числовые значения двух данных параметров (Z и Dw) можно найти только в справочниках (например, Анурьев). Dpw – в справочниках не приводится, но если рассуждать логически то его можно принять равным Dpw=d+0.5(D-d), но это не точно. Все это делает нелогичным расчет грузоподъемности по ГОСТ, беря для этого недостающие данные из справочников или другой специальной литературы.   Решил проверить расчет статической и динамической грузоподъемности подшипников по формулам и сравнить их с приведенными в старых ГОСТах (приняв Z и Dw из справочников, а Dpw рассчитав по предложенной формуле). Для простоты выбрал шариковые радиальные однорядные подшипники с диапазоном номеров 200…220. В результате получилось следующее: 1 рассчитанная по формуле динамическая грузоподъемность достаточно близко совпадает с динамической грузоподъемностью приведенной в таблицах в старых ГОСТах 2 рассчитанная по формуле статическая грузоподъемность достаточно близко совпадает со статической грузоподъемностью, приведенной в таблицах в старых ГОСТах, но для подшипников с малым диаметром внутреннего кольца d. По мере увеличения диаметра внутреннего кольца подшипника расхождение между расчетными и табличными значениями существенно возрастает. Например, для подшипника №220 табличное значение статической грузоподъемности в старом ГОСТе составляло 79.000 Н, а рассчитанное по формуле составило 92.900 Н. 3 для аналогичных подшипников SKF и FAG, указанные в каталогах статическая и динамическая грузоподъемность достаточно близко совпадает с рассчитанной по формулам.   Файл с расчетом прилагаю ниже. Сравнение расчета по ГОСТ грузоподъемности подшипников.rar   Вопрос скорее всего будет риторический: что думаете по этому поводу и ваши предложения по расчету статической и динамической грузоподъемности по новым ГОСТам?
    • Zver 0209
×
×
  • Создать...