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

Использование 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 пользователей

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




  • Сообщения

    • AlexKaz
      По теории Дарвина, все заказчики и исполнители, кто имеет каплю мозга чтобы учиться и инстинкт самосохранения чтобы не стать персонажем Гарри Гаррисона.
    • MagicNight
      Приветствую всех! Использую Fanuc. В частности длинные программы, с кадром в конце М30. Соответственно станок автоматически выключается. Вопрос, может Fanuc создает какой-то текстовый файл с историей (во сколько закончилась программа, общее время работы программы и прочее)    
    • lem_on
      Omron d5f Но чёт у этих "федоров" тоже цена в два раза взлетела смотрю.  Ещё touch master видел, написано американский, ни по виду Китай. 
    • ev121
    • Anat2015
      Есть ли китайская замена датчикам измерения инструмента Renishaw и Marposs? Конкретно: Renishaw TS20 (он же Marposs T18) и Marposs TT30. Ну, еще добавлю Renishaw RP3. В России цены просто дикие на оригиналы: от 4 до 5 килобаксов, а гарантии, что оператор/наладчик не убьет датчик нет.
    • maxx2000
      будешь смеяться. НО. Просит человек сделать будку на машину МТО, типа у него есть, надо такую же но на другое шасси. По сути ящик для инструментов. Говорю ему от полугода до года срок. Говорит не, сфоткай и в фотошопе или в чём там Вы работаете сделайте за пару дней, как это будет выглядеть я хочу глянуть, мне говорит так наклейку на Такси делали. Потом надо сделать картинки для лазера, какие нах полгода-год. Другой просит сделать модель прессформы для эксцентрикового зажима. Ну деталь то плевнеькая, не пролить маловероятно, тем более что лить будет на самодельном ТПА от души . Говорю ему сделай сам, у меня дорого, в общем всячески отмазываюсь. Жалуется что никто  не хочет браться, даже те кто ему их изготавливает. Говорит боюсь, сделаю, а она не работает, а за изготовление заплачу. Ты мне как то на заре сотрудничества  показывал как масса на симуляции заполняет форму и как она остывает, мне такое никто не показывал больше. Я говорю не показывают, значит не считают нужным и не значит что этого не делают. Говорю что ему везде отказывают потому что не хотят браться за такую простую и дешёвую работу.   Взрыв-схема, картинки, мультики и описание того что это за ненужные файлы которые  не открываются на телефоне. И вот ещё короночка.  
    • Anat2015
    • davidovka
      Creo 3 и выше. Это неофициальные бесплатные модули.
    • Евгений 1981
      Вопрос по листогибу контроллер Е22. Программа на 4 гиба 1,2,3 всё работает в норме. После 3 гиба задний упор не встаёт на заданную точку, приходиться переключать контроллер и после переключения упор встаёт на своё место. С чем это связано? Помогите пожалуйста.
    • Sergey___1978
      А с какой версии крео питонить можно?
×
×
  • Создать...