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

Поиск объекта по имени для DLL


Gala_Buz

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

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

Пытаюсь сделан шаблон для "Черчения" NX8.5. По имени может взять только объект эскиз. А выражения, таблицы и группы, по имени не может, похоже  идет обращение по тэгу.

Этот шаблон может добавлять несколько раз, у эскиза, например добавляется "_0", а у группы и т.д. тэг меняется не понятно как  и ни как не проконтролировать. И взять на новом листе это объект не представляется возможным.

Программирую в Microsoft Visual Studio С++.

Какими средствами можно взять объект по имени? 

Программирование знаю, а вот под NX - первый раз, и многого не знаю. 

 

std::vector<DisplayableObject *> objects1(1);
    Sketch *sketch1(dynamic_cast<Sketch *>(workPart->Sketches()->FindObject("SKETCH_SHEET 1_002")));
    objects1[0] = sketch1;
 
std::vector<DisplayableObject *> objects1(1);
    Annotations::Note *note1(dynamic_cast<Annotations::Note *>(workPart->FindObject("HANDLE R-54477")));
    objects1[0] = note1;
 

 

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


Я конечно не силен в с++, по в классическом С (т.е. UGOpen) есть функции типа UF_TAG_* они вам помогут.

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

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

Я конечно не силен в с++, по в классическом С (т.е. UGOpen) есть функции типа UF_TAG_* они вам помогут.

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

 

В том то и проблема имя пишешь, а он выдает ошибку на FindObject. В том и вопрос может быть другая команда есть

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

Или может кто-то знает, что обозначают цифры     FindObject("ENTITY 15 4 1")

 

Похоже, этот код взят из журнала? Журнал всегда записывает код с именами объектов из данной сессии, поэтому применить его в последующих сессиях без редактирования вряд ли получится. Есть одна замечательная книга Тихомирова В.А., называется кажется "Разработка приложений под Unigraphics на языке C" (в сети есть ознакомительная версия), так вот там достаточно подробно расписываются основы создания приложений, и в частности работа с модулем драфтинг. 

 

А вообще, если нужны шаблоны ЕСКД, то их можно создать и без применения апи. И, кстати, здесь, на форуме, они где-то были.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Viktor2004
      скиньте пожалуйста  
    • soklakov
      типа сложно посчитать с гироскопическими эффетками? берешь формулу Рейнольдса и смотришь, что там за характерный размер. внутреннее  обтекание - диаметр трубы, внешнее обтекание - габарит. все остальное - калбировка на эксперимент с конкретной формой. не всякий резонанс смертелен. вихри мало что сломают.
    • Guhl
      Ну вы ни одного не привели, кроме собственных догадок Вам японцы черным по белому пишут. Зачем пишут? - наверное они дураки, только бумагу портят   Добротность контура это отдельная песня. Там еще скоростная компенсация имеет место. Могу скинуть инструкцию по настройке, но советскую еще. Вы, скорее всего, скажите, чтоб я выкинул эту старую книгу, ведь уже 21й век. Эх, прокоятый 21й век, век отказа от законов ТАУ 20го века и патентов. Это был сарказм.   А вообще говоря, когда-то были чпу, которые работали без единого процессора. И компенсацию радиуса умели делать и скоростную компенсацию. Это я к тому, что принципы управления не поменялись. Да, цацок стало больше, но принципы как были так и остались. И у японцев в первую очередь. Поэтому не спешите выкидывать книги. Когда отключат интернет, кроме книг ничего не будет.  
    • gudstartup
      найдите станок с полно замкнутым контуром с  люфтом в 20-30мкм и согласуйте его с параметрами с которыми он был введен в эксплуатацию вам не удастся уйти от резонанса а если будете уменьшать добротность то получите отклонение от контура более 10-20мкм а это в высокоточных оц неприемлемо еще как загудит резонанс следует из обратной связи и усиливается. неправильные выводы к сожалению. вы думаете специалисты фанук из Люксембурга не умеют настраивать привода? нет вы объясните по человечески что вам неясно -откуда ошибка берется вроде разобрались и к чему она приводит тоже.  приводит к вибрациям для кого это написано то??? A machine with large backlash may cause vibrations in a closed loop system even if it works steadily in a semi–closed loop system.  
    • Guhl
      Я, знаете ли, сторонник прозрачных объяснений. Я почитал эту главу, почитал заявку на патент и сделал такие выводы. Там все вполне понятно рассказано. Все вот эти вот контуры скорости, пи-регуляторы и тп вещь довольно дубовая и вывести их из равновесия не так уж просто, если коэффициент отношения моментов инерции подобран правильно и момент инерции ротора мотора соответствует нагрузке.  
    • maxx2000
      Тянет на Гимн, как миниум 
    • gudstartup
      когда линейка не считает считает по датчику мотора т.е. семиклосед. но растет ошибка. как же еще вам это объяснить то.... когда у вас нет люфтов tau делаете равным 0 и работаете от линейки но ошибка контура скорости это все равно суммарная ошибка датчика мотора и линейки вы же не можете и это отрицать ??? а чего его японцы отнесли к функциям подавления резонанса не знаете?? по вашему резонанс в контуре скорости на контур не влияет?? ух я уже устал...
    • Guhl
      Японцы написали вполне конкретно: Semi-closed в переходных режимах Full-closed в режиме позиционирования И в этом есть логика Потому что имея лишь линейку, вы не можете качественно компенсировать люфт Я считаю, что Dual position feedback предназначен только для компенсации люфта и контроля показаний датчиков  Также я утверждаю, что dual position feedback не может повлиять на точность позиционирования в отсутствие люфтов, путем какой-либо обработки сигналов с обоих датчиков  
    • gudstartup
      не тех которые тайвань прислал а тех которые до этог там были и превышают их значения в 10 раз
    • gudstartup
      они хотели сказать просто - если позиция не считается по линейке по причине люфта то она считается по датчику мотора в этих как они написали переходных состояниях. но это не значит что система не считает эти данные или начинает считать только когда не считает линейка ведь они входят в переменную ER2 как вы представляете что система вдруг решает компенсировать люфт?? хотел бы спросить а куда ей деваться если ошибка позиционирования растет??
×
×
  • Создать...