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

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


NX-Open-Dummer

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

3 часа назад, lexx174 сказал:

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

 

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

UF_MODL_update()

 

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

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



 


 

В NXOpen.PartFamily.TemplateManager ничего похожего?

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


Как через NXOpen c++ получить материал,назначенный телу из библиотеки тимцентра?

Метод GetUsedMaterials() почему-то вызывает OS error signal 11 (самая мерзкая ошибка NX)

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

NXOpen::PhysicalMaterialCollection* allmat = workPart->MaterialManager()->PhysicalMaterials();

...

....mtr->GetUsage(...

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

NXOpen::PhysicalMaterialCollection* allmat = workPart->MaterialManager()->PhysicalMaterials();

...

....mtr->GetUsage(...

GetUsage() - нет такого метода

В 23.08.2017 в 06:48, harbel сказал:

NXOpen::PhysicalMaterial* mtr;

....

NXOpen::NXString mat_id;

mat_id = mtr->GetTeamcenterMaterialItem();

прежде чем использовать mtr->GetTeamcenterMaterialItem(); нужно получить массив mtr а получить его можно только через

workPart->MaterialManager()->PhysicalMaterials()->GetUsedMaterials() где и происходит обвал

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

А зачем GetUsedMaterials() ???

 

NXOpen::PhysicalMaterialCollection* allmat = workPart->MaterialManager()->PhysicalMaterials();

NXOpen::PhysicalMaterialCollection::iterator mt;

NXOpen::NXString mat_id;

if (allmat->begin() != allmat->end())

{

...

//перебор материалов части

for (mt = allmat->begin(); mt != allmat->end(); mt++)

{

NXOpen::PhysicalMaterial* mtr = (NXOpen::PhysicalMaterial*) *mt;

NXOpen::NXString mat_name = mtr->Name();

....

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

Необходимо построить Конструктивный элемент -> Вращение (листовое тело вращения относительно оси XC)

Какую функцию NXOPEN C использовать для построения? UF_MODL_create...? Если есть возможность, пример использования

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

Необходимо построить Конструктивный элемент -> Вращение (листовое тело вращения относительно оси XC)

Какую функцию NXOPEN C использовать для построения? UF_MODL_create...? Если есть возможность, пример использования

    NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
    NXOpen::Features::RevolveBuilder *revolveBuilder = workPart->Features()->CreateRevolveBuilder(nullNXOpen_Features_Feature);

 

Про журнал программирования знаете?

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

Спасибо за участие!

Листовое тело вращения построила, я пользуюсь для этой задачи чистым Си :

    tag_t LinWrk;

    UF_FEATURE_SIGN mode_sign = UF_NULLSIGN;
    tag_t generators[1];
    char *body_limit[2] = {"0.0", "360.0"};
    char *offsets[2]= {"0.0", "0.0" };
    double origin[3] = {0.0, 0.0, 0.0};
    double direction[3] = {1.0, 0.0, 0.0};
    UF_MODL_SWEEP_TRIM_object_p_t trim_data = NULL;
    int  obj_count;
    tag_t *objects;

    status = UF_CURVE_create_line(&LinWrk_coords, &LinWrk);
    UF_MODL_set_body_type_pref(UF_MODL_SHEET_BODY);    //листовая поверхность
    generators[0] = LinWrk;
    UF_CALL(UF_MODL_create_revolution(generators, 1, trim_data,
                            body_limit, offsets, origin, false,
                            true, origin, direction, mode_sign,
                            &objects, &obj_count ));
    UF_OBJ_set_layer (*objects, 103);            //103 - элементы построения

 

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

 

    status = UF_SF_face_ask_area(*objects, &area); // ДОЛЖНЫ ПОЛУЧИТЬ ПЛОЩАДЬ.
 

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

У меня NX8.5. Как реализована (и реализована ли?) в соответствующем UGOpen работа с сопряжениями сборки? В старых примерах я что-то подобное нахожу, но в тех заголовочных файлах, что имеются у меня, соответствующие функции и структуры отсутствуют. 

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

Столкнулся с проблемой вызова диалогов выбора при работе с UDO (UGOpen).

Написал программу, определил методы для UDO. UDO в NX успешно создается. Теперь пробую эти UDO менять. Для этого в методе Edit пытаюсь вызвать диалог выбора:

DllExport extern void edit_my_udo_cb(tag_t udo_tag)
{
...
	char*	message = "Выберите группу точек";
	char*	title = "Выберите группу точек";
	int		scope = UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY;
	int		response;
	tag_p_t	object;
	int		count;

	if (UF_CALL(UF_initialize())) return;
...
	errorCode = UF_UI_select_with_class_dialog(message, title, scope, point_init_proc, NULL, &response, &count, &object);
...
}

Код успешно компилируется (point_init_proc определена), но при редактировании UDO в NX диалог выбора не создается. Отладка показывает, что функция UF_UI_select_with_class_dialog возвращает ошибку "Dialog area 2 is not currently available". Гугление ничего внятного не показало. Пробовал применять указанное здесь - https://docs.plm.automation.siemens.com/data_services/resources/nx/10/nx_api/en_US/custom/ugopen_doc/uf_ui/uf_ui_ref10.html, но безрезультатно. 

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

Такой вопрос , а вы инициализировали диалог объектами которые хранятся в udo? Может в этом проблема . 

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...
В 10.06.2020 в 19:20, denis3122 сказал:

Такой вопрос , а вы инициализировали диалог объектами которые хранятся в udo? Может в этом проблема .

Не понял. Можно по подробнее?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      @stanislavz если тактовая частота цп ок видать что то с таймерными циклами слишком длинные отсюда такой лаг в работе
    • gudstartup
      да у вас очень древний чемоданчик думаю из 90-х ну его ломать не жалко но если все уже заменили с рабочего то тут даже не знаю что и посоветовать....
    • stanislavz
      Спасибо за ответ. Так этот и был заказан на запас. В машине живой рабочий. Носителя нету, все в памяти hm628128-10 + ээпром.
    • gudstartup
      @stanislavz вы уж сразу еще один контроллер закажите а потом этот доламывайте. а со старым комбинировать не пробовали? у вас там диск или ssd в качестве носителя? может hdd загибается а вы сразу в мат.плату полезли. дисковые операции тоже ввод вывод тормозят...
    • maxx2000
      Подушную малость. Чё там. Уже в упор научились резьбу резать без выходной канавки?
    • ispite
      Здравствуйте, не могу построить стандартную сетку, что не позволяет дальше провести расчёт. Получается сделать сетку "на основе кривизны", но солид отказывается считать, после нажатия кнопки "запустить исследование" происходит сбой. https://disk.yandex.ru/d/D8wvRbYMW1lWjQ
    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
×
×
  • Создать...