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

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

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




  • Сообщения

    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
    • gudstartup
      очень даже спрашивают как обязательную информацию для проверки вашей компании налоговый идентификатор должен быть указан. на myfanuc не спрашивают а вот на портале к сожалению просто так не зарегаться. 
    • david1920
      На 0I-TC mate менял плату управления приводами На 18i-TB менял для диагностики платы процессоров (один был от Spinner другой простой) процы были одинаковые Всё работает
    • brigval
      Браком 1.04В версии 1.04Добавлено: Автоуменьшение высоты шрифта многострочного наименования в ОН чертежа.Добавлено: Переименование поверхностей, баз, размеров в порядке их следования на чертеже.Добавлено: Переименование изображений по ГОСТ: сначала виды, затем разрезы, сечения, выносные элементы.Добавлено: Выравнивание неассоциативных видов.Добавлено: Ручной ввод шага и угла наклона штриховки.Добавлено: Перемещаются в макроэлемент компоненты, исключаемые из спецификации.Добавлено: Выбор количества значащих цифр в значении площади поверхности детали для вставки в ТТ.Добавлено: Возможность не авторазмещать ТТ перед конвертацией чертежа в PDF.Добавлено: Добавлены кнопки «Выделить все включенные в расчет» и Выделить все исключенные из расчета».Добавлено: Версия КОМПАС-3D Home показывается в программе со словом Home.Добавлено: Улучшен алгоритм считывания и вставки ТТ чертежа.Добавлено: При конвертации чертежа в PDF удаляется старый файл с таким же обозначением в начале имени, как обозначение в начале имени нового файла.Добавлено: Улучшено считывание номеров позиций из 3D-модели сборки.Исправлено: Иногда скрытые и потом показанные объекты чертежа отображались не серым цветом.Исправлено: Иногда после ручного заполнения графы «Масса» ОН чертежа в окне программы масса могла отображаться не правильно.Исправлено: В некоторых случаях из ОН чертежа могла не считываться литера.Исправлено: В некоторых окнах программы неправильно показывался заголовок окна программы.Исправлено: Другие замеченные мелкие ошибки и неточности кода.Скачать
    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
×
×
  • Создать...