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

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

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




  • Сообщения

    • Koels
      А ой извиняюсь, в состоянии покоя "0" Там в стоке два вентилятора стоит, меняли на оригинал. Они крутятся, переставляли на другие привода с такими же вентеляторами, по ним ошибки не выскакивали. Моё изначальное предложение что перегревается сам сервопривод перегревается, но ошибки на индикации нету, и доп охлаждение уже поставили. Странная ситуация в общем.
    • gudstartup
      так у вас есть индикация F. на индикаторе привода или нет я так и не прочитал ответа? Если есть то почему не устраняете?
    • Rinum
      Здравствуйте! Наткнулся на данное оформление размерной цепи от общей базы. Однако, не нашел, как в компасе сделать также. Подскажите пожалуйста, в программе предусмотрено аналогичное оформление?
    • Anat2015
      Дискету FC (Final Config) попробуйте загрузить (вставить в дисковод и включить станок). Проверить батарейки сзади в шкафу ЧПУ.
    • wega7777
      Тоже бы не отказался ,если бы кто поделился.
    • ID_Hacker
      Нужно больше информации. Есть ли PCU50 или у вас Integrated HMI. Подключитесь компьютером к NCU в X127 разъём Ethernet и попробуйте VNC клиентом подключиться на эти адреса 192.168.215.1:5900, 192.168.214.1:5900, 192.168.214.241:5900. Возможно вы изменили настройки станочной сети, и теперь у вас TCU не соединяется либо с PCU50 либо с NCU
    • Koels
      8901 перевёл в 1, ошибка вентелятора все равно вылазит. Попробую 1807 отключить 
    • Deunet
      Добрый день, помогите пожалуйста, нужен CNC Setting tool и Fanuc Picture, можно в личку. Спасибо!
    • Модернизация станков
      А) 047018 - 104401  // Силовые транзисторы 047018 - 101303 Б) 038028 - 401401  // Силовые транзисторы В) 041458 -              // Ось 044640 - 206401 041458 А7 - 958.- 56. - 90. - 014 Г) 044639 - 302401      // Ось 044639 - 206303 X/Y - 044639 А1 / А3 - 958. - 56. - 90. - 015 Д) 041456 - 302401     // Блок питания с +140 В   Платы новые, лежаные. Продажа частная. Гарантию дам. Через бухгалтерию проводить не буду. Цену уточняйте, от 10 000 Р / 1 шт. Силовые по 20 000 Р / 1 шт. Отправлю в регионы по доставке.
    • ДОБРЯК
      Незакрепленный один стержневой КЭ. Задана только площадь. Соответственно две степени свободы.    Матрица жесткости   1.560000E+04 -1.560000E+04 -1.560000E+04  1.560000E+04    Диагональная матрица масс  3.121861E-06 0  0                    3.121861E-06  На этом МКЭ заканчивается. Решайте как хотите. :=) На выходе    Собственные значения (Гц).  1          0.0130  2      15910.7495  Обобщенная матрица масс  строка 1   1.00000E+00  -1.11022E-16  строка 2   1.00000E+00 Обобщенная матрица жесткости  строка 1   0.00000E+00   9.53674E-07  строка 2   9.99404E+09       @Fedor решите эту задачу. Вырождена не матрица масс, а матрица жесткости.  @Orchestra2603 и вы решите эту задачу. 
×
×
  • Создать...