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

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

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




  • Сообщения

    • Sivolap36
      Нет ли у Fanuc диагностики, где было бы видно, что сейчас  ждёт привод?
    • mamomot
      Сегодня знакомимся с первым Параграфом Раздела 3 Токарная обработка Главы 8 Механическая обработка. ***** Оправка для расточки 8_3_1 Оправка для расточки.pdf
    • gudstartup
      это называется i2t перегрузка которая включает в себя 2 составляющие ток и температуру за единицу времени. не факт что ваш модуль кипит но предположительно если воздействие фактора перегрузки продолжиться то это может случиться и привод отрубается
    • Alexey8107
      Тут ключевое, "привод в сборе". Я же писал что запитывал голую плату  Ну и трактовать английский можно ну очень широко, а если уж писали японцы, да еще на англицком, то вообще трактовка становится безграничной  А если серьезно, то как по мне здесь имеется ввиду перегрузка, вычисленная по температурному датчику на большом радиаторе, ибо сейчас мы точно знаем какая авария возникает именно при токовой перегрузке "1." И кстати. Где то там еще прописано, что "1" это варнинг, а "1." это авария... Вобщем в этом руководстве можно мозг выломать пока поймешь что имеется ввиду 
    • fenics555
      на нормальных гидравлических пинолях стоят регулируемые датчики положения, и при вдавливании они выдадут ошибку, типа "патрон не разжат/зажат" или "пиноль не зажата/разжата". станок не вьедет в пиноль. На сервоприводе просто нагрузка упадет в 0 и все.  Но стойка ничего не выдаст. В авторежиме можно нашинковать много материала зря.
    • Sivolap36
      Обнаружил то, что если ввести G0 g53 A50, то едет. В рабочих не едет, а в машинных едет 
    • gudstartup
      @Alexey8107 изначально написано про перегрузку   у фанука читайте между строк этой ошибки не должно быть если привод в сборе
    • Alexey8107
      Так у меня тоже самое. Просто вы уже полезли в причины и способы устранения "Cause and troubleshooting", а я привел общее описание, что она обозначает "Meaning". А означает она именно перегрев большого радиатора, остальное это причины и способы устранения, например смахнуть пыль  Вот если они глючат, тогда будет большой БАРАБАХ. У меня такое было, сразу замена платы, ибо ну его нафиг всю обвязку перетряхивать. Плата управления, там да, далеко все не очевидно, но очевидно большую часть платы занимает импульсный источник питания на кучу напряжений, остальная часть боюсь что вообще бесполезно разбираться, ибо там на одном большом контроллере стоит страшная надпись "FANUC". Можно сушить весла...
    • gudstartup
      @Alexey8107 i2t это называется займитесь еще платой управления без нее картина маслом не получится. а вот когда драйверы управления ключами глючат все не так очевидно
    • Alexey8107
      Неееее, тут настолько все элементарно на силовой плате, все элементы чуть ли не по даташитам включены. Вот если бы мне кто нибудь скинул такую картинку и по работе еще не мешали бы, за пару часов бы выловил бы эту неисправность. А так было интересно еще понять где что и за что отвечает. В принципе стройная картина... 
×
×
  • Создать...