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

NX Open C программирование


NX-Open-Dummer

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

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

 

Как при помощи Block UI Styler используя блок Specify Plane получить плоскость и использовать ее?  Например мне надо создать линию, проходящую через точку, параллельно ребру и ограниченную двумя плоскостями. Эти плоскости я планирую создавать при помощи Specify Plane.

 

Я написал функцию, которая использует Features::AssociativeLine

Но для такой фичи нужны два Datum Plane...

 

Как быть? Как вообще работать с Specify Plane если ее нигде нельзя применить блин...

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...


Здравствуйте. У меня такой вопрос: в моей C-функции создается окно диалога, в котором выводится список нескольких узлов(операций) из дерева NC_PROGRAM. Можно ли программно (без дополнительных диалогов) при выборе узла из списка отображать траекторию обработки  в окне NX, как это происходит в самом NX? Найти среди функций UG Open, хоть что-нибудь похожее на выбор узла в дереве, не получилось - может быть есть другой путь?

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

Если это дерево типа NXOpen::BlockStyler::Tree, то там же есть события/обработчики и на выбор узла в том числе...

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

Спасибо, harbel. Похоже классы срр имеют больше возможностей - начну копать. Если я правильно думаю, то там, наверно, есть и методы экспорта чертежей в файлы pdf?

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

Имхо, самый лучший способ это проверить - GTAC или за отсутствием оного - запись журнала.

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

Спасибо, harbel. Похоже классы срр имеют больше возможностей - начну копать. Если я правильно думаю, то там, наверно, есть и методы экспорта чертежей в файлы pdf?

Есть, см. #include <NXOpen/PrintPDFBuilder.hxx>

    PrintPDFBuilder *printPDFBuilder1;

    printPDFBuilder1 = workPart->PlotManager()->CreatePrintPdfbuilder();

...

 

Запись журнала Файл->экспорт->pdf даст готовый пример..

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

Вопрос по применению NXOpen. В Visual C все получилось, но вот хотелось бы в 64-разрядном CBuilder-е. Библиотеки libnxopencpp.dll и math...dll(подзабыл) преобразовал программой mkexp, как раньше libufun и ugopenint, а дальше ничего не вышло. Компоновщик выдает "Unresolved external..." на все классы NXOpen. Вопрос старый, когда-то уже поднимался и там помнится учавствовал harbel, не знаю только чем тогда закончилась тема.

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

Я так и не дождался  64-разрядного CBuilder-а - перешел на C#.

Тогда просто делалось преобразование библиотек (.lib):  утилитой CBuilder5\Bin\coff2omf.exe.

Еще можно было делать lib из dll утилитой implib.exe...

 

Как я понимаю проблема именно с классами NXOpen, а с функциями UGOpen всё ОК?

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

Вопрос по применению NXOpen. В Visual C все получилось, но вот хотелось бы в 64-разрядном CBuilder-е. Библиотеки libnxopencpp.dll и math...dll(подзабыл) преобразовал программой mkexp, как раньше libufun и ugopenint, а дальше ничего не вышло. Компоновщик выдает "Unresolved external..." на все классы NXOpen. Вопрос старый, когда-то уже поднимался и там помнится учавствовал harbel, не знаю только чем тогда закончилась тема.

если я правильно понял, то вы хотели сделать 64 разрядную dll в Visual C++? Тогда это возможно в "Активной платформе решения".

с C# всё тоже также. 

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

Хотел сделать в CBuilder XE5. С UGOpen эту проблему удалось решить с помощью mkexp.exe. Можно, конечно, сделать и в Visual C и C#, просто в СBuilder эта работа была сделана ранее в 32х за исключением нескольких моментов, в том числе и вывода документации в файл PDF.

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

Подскажите как с помощью NX Open C создать аннотацию /PMI замечание, ассоциативно с указанным объектом(например грань).

 

пробовал всевозможные UF_DRF_create_label, _create_note ,      но там не получается указать ассоциативность.

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах

Инструменты-> Журнал->Запись и запишите создание аннотации с ассоциативными объектами. И получите пример кода.

Но в новых классах.

 

А вот это не оно?

UF_DRF_add_assortpart_to_ann (view source)
 
 

Defined in: uf_drf.h
 
Overview
Adds Assorted Parts to an Annotation.
 
int UF_DRF_add_assortpart_to_ann
(
tag_t annotation_tag,
int number_of_objects,
tag_t * list_of_objects
)
Изменено пользователем harbel
Ссылка на сообщение
Поделиться на других сайтах

 

Инструменты-> Журнал->Запись и запишите создание аннотации с ассоциативными объектами. И получите пример кода.

Но в новых классах.

про журнал я в курсе. код громоздкий там конечно, и там есть нюанс - что используются методы FindObject в дереве построения.

 

pmiNoteBuilder1->AssociatedObjects()->Objects()->Add(DisplayableObject *object);

 

у меня есть классический tag объекта(tag_t),а в случае игр с журналом там нужен DisplayableObject.

 

А вот это не оно?

UF_DRF_add_assortpart_to_ann (view source)

 

 

Defined in: uf_drf.h

 

Overview
Adds Assorted Parts to an Annotation.
 
int UF_DRF_add_assortpart_to_ann

(

tag_t annotation_tag,

int number_of_objects,

tag_t * list_of_objects

)

 

нет к сожалению не оно.

если указать в качестве объектов - тело или грань, то

+++ Invalid object specified for assorted part! +++

 

это судя по названию не связано с добавлением ассоциативных объектов.

 

видимо с PMI работать только через Open C++. На GTAC тоже перекопал, ничего толкового по этой теме нет в примерах

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах

Ну да - там вроде только note и можно добавлять.

 

Можно же преобразовать:

   NXOpen::DisplayableObject * obj = dynamic_cast < NXOpen::DisplayableObject * > (NXObjectManager::Get(tag));

Изменено пользователем harbel
Ссылка на сообщение
Поделиться на других сайтах

странно, при вызове

 

std::vector<NXString> text1(1);
  text1[0] = "Annotation";
 pmiNoteBuilder1->Text()->TextBlock()->SetText(text1);

 

ругается на +++ Run out of space whilst trying to allocate block of 421148292 bytes+++

 

хотя данный кусок сгенерирован через журналирование

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...

Есть деталь - член семейства деталей

 

Нужно программно присвоить значение атрибуту массы (NX_Mass). Напрямую через UF_WEIGTH_ функции не сработало, что в принципе ожидаемо, т.к член семейства.

 

Есть ли возможность присвоить значение атрибуту и сохранить отдельную деталь член семейства?

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

Раз это член семейства (PFM) - идём в шаблон семейства (PFT) -

добавляем в таблицу атрибут массы (NX_Mass(NX11)) заполняем клеточку -

- обновляем нужного PFM. Всё стандартно.

Ну, или, Save As - и тогда прощай PFT->PFM.

Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, IgP сказал:

Раз это член семейства (PFM) - идём в шаблон семейства (PFT) -

добавляем в таблицу атрибут массы (NX_Mass(NX11)) заполняем клеточку -

- обновляем нужного PFM. Всё стандартно.

Ну, или, Save As - и тогда прощай PFT->PFM.

это вы про интерактив говорили - заполнение клеточек? интерактива не положено для задачи изначально

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

Вопрос по удалению члена семейства деталей програмно.

 

Есть такой баг - после удаления члена семейства методом UF_FAM_delete_member далее нужно вызвать

UF_MODL_update()

 

Но этот метод не обновляет саму таблицу семейства, строка с членом семейства в таблице остается.

Какие варианты есть чтобы сохранить изменения в таблице семейства после удаления?


 

 
Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




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