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

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


NX-Open-Dummer

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

Может начать с этих функций: UF_MODL_ask_feat_object, UF_MODL_ask_feat_faces, UF_MODL_ask_feat_body??? Потом с полученными тегами делать, что вам нужно.

P.S. Посмотрите раздел UF_MODL.

ТЭГи фичеров у меня есть, я их сам создал. Я просто хочу сделать так, чтобы они не отображались в навигаторе модели, а это как раз можно сделать с помощью фильтра

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


ТЭГи фичеров у меня есть, я их сам создал. Я просто хочу сделать так, чтобы они не отображались в навигаторе модели, а это как раз можно сделать с помощью фильтра

Посмотрите функцию UF_MODL_suppress_feature. Переводится как - подавить "фичу". Наверное, то что вам нужно. Пытался проверить действие этой функции, но увы не смог :sad:

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

Посмотрите функцию UF_MODL_suppress_feature. Переводится как - подавить "фичу". Наверное, то что вам нужно. Пытался проверить действие этой функции, но увы не смог :sad:

Suppress подавляет фичер, а мне требуется, чтобы он был скрыт в навигаторе модели, т.е. не отображался. Чтобы при пользовании утилитой, в дереве не отображался данный фичер.

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

А вы умеете UF_MODL_suppress_feature пользоваться?

UF_MODL_suppress_feature воспользоваться не смог, я сделал через

workPart->Features()->GetAssociatedFeature(nXObject1)->Suppress();

Она просто подавляет фичер.

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

Добрый день! У меня вопрос по Block UI Styler. Проблема следующая: самопроизвольное расширение окна диалога.

После выполнения определенных действий пользователя и нажатия кнопки Применить (Apply) кое-какие группы диалога необходимо скрыть. Делаю я это в процедуре dialogShown_cb():

BlockStyler::PropertyList *groupPropList;

groupPropList = groupnn->GetProperties();

groupPropList->SetLogical("Enable",false);

groupPropList->SetLogical("Expanded",false);

delete groupPropList;

Расширение окна возникает из-за этого. Как не дать окну расширяться? Или вернуть его в исх. состояние после расширения? theDialog->? Может у кого-то была подобная ситуация, подскажите, пожалуйста.

Попробовала использовать

theDialog->Show(NXOpen::BlockStyler::BlockDialog::DialogModeEdit);

окно восстанавливается, но возникает сообщение "Невозможно запустить меню". Вроде об этом кто-то здесь писал. Поищу.

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

Добрый день!

подскажите как правильно пользоваться функцией

int UF_PATH_create_linear_motion

(

UF_PATH_id_t path_id,

UF_PATH_linear_motion_t * linear_motion_data

)

Конкретно не могу совладать с первым формальным параметром. Там указатель на неопределенный тип данных. Что вообще туда отправлять? В справке пишется "идентификатор для работы с функциями из раздела UF_PATH". Не понимаю откуда его взять...

Нужно ли что-то сделать перед обращением к этой функции и можно ли создать траекторию обработки без создания операции обработки и создания CAM сессии?

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

Добрый день!

подскажите как правильно пользоваться функцией

int UF_PATH_create_linear_motion

(

UF_PATH_id_t path_id,

UF_PATH_linear_motion_t * linear_motion_data

)

Конкретно не могу совладать с первым формальным параметром. Там указатель на неопределенный тип данных. Что вообще туда отправлять? В справке пишется "идентификатор для работы с функциями из раздела UF_PATH". Не понимаю откуда его взять...

Нужно ли что-то сделать перед обращением к этой функции и можно ли создать траекторию обработки без создания операции обработки и создания CAM сессии?

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

Здравствуйте. Создаю операцию, заданную пользователем:

1. Создаю системную переменную, где прописываю путь к dll.

2. Код к длл беру из файла из каталога ugopen по рекомендации avd.

3. Подгружаю в nx, длл ничего не строит, но главное что подгружается и работает.

Ну так вот, я начинаю редактировать код, компилирую, старую длл пытаюсь заменить на новую. Ругается проводник, пишет длл используется. Приходится каждый раз выходить из NX. А это сами понимаете неудобно.

Можно ли создать такой проект, чтобы длл выгружалась из памяти без выхода из NX?

Заранее спасибо.

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

// Unload Handler

// This function specifies when to unload your application from Unigraphics.

// If your application registers a callback (from a MenuScript item or a

// User Defined Object for example), this function MUST return

// "UF_UNLOAD_UG_TERMINATE".

extern "C" int ufusr_ask_unload( void )

{

// return( UF_UNLOAD_UG_TERMINATE ); //выгружает вместе с NX

return (UF_UNLOAD_IMMEDIATELY);//выгружает сразу по завершении dll

}

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

// Unload Handler

// This function specifies when to unload your application from Unigraphics.

// If your application registers a callback (from a MenuScript item or a

// User Defined Object for example), this function MUST return

// "UF_UNLOAD_UG_TERMINATE".

extern "C" int ufusr_ask_unload( void )

{

// return( UF_UNLOAD_UG_TERMINATE ); //выгружает вместе с NX

return (UF_UNLOAD_IMMEDIATELY);//выгружает сразу по завершении dll

}

Спасибо за помощь, теперь рабочий процесс стал намного удобнее :smile:

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

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

Возник вопрос: что такое "current drawing" в драфтинге?

Вызываю функции UF_DRAW_ask_current_drawing и UF_DRAW_ask_views. В обоих есть тег на "current drawing". При вызове функций, UF_CALL выдает ошибку "There is no current drawing".

В навигаторе детали есть вкладка "Drawing", а в ней "рабочий-активный" лист и импортированный в него вид. Ошибка все равно выходит.

Заранее благодарен.

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

Листов чертежа может быть несколько, между ними можно переключаться, чтоб работать с их объектами (видами). Первой функцией получаешь тэг листа-чертежа, второй по этому тэгу получаешь тэги его видов. Там же есть пример...

А вообще для работы с объектами чертежа, может понадобиться открыть его:

tag_t dr,vvv,oj=NULL_TAG ;

int num_drawings;

tag_p_t drawing_tags;

//UF_DRAW_ask_current_drawing(&dr);

UF_DRAW_ask_drawings (&num_drawings,&drawing_tags);

for(int i=0;i<num_drawings;i++)

{

//открыть = сделать текущим

UF_DRAW_open_drawing (drawing_tags);

UF_DRAW_ask_view_of_drawing(drawing_tags,&vvv);

}

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

Всем привет!

Надо построить набор ассоциативных окружностей. Использую функцию UF_CURVE_create_line_arc.

Не могу задать радиус окружности.

В справке пишут для структуры :

 

UF_CURVE_constraint_s
 

Defined in: uf_curve.h
 
Also known as:
  • UF_CURVE_constraint_t
  • UF_CURVE_constraint_p_t

 
Overview
The following structure is the structure used define the constraint
with which the associative curve must be created.


Data Members

constraint_type
The type of constraint

end_type
The end to which this constraint
must be applied.

object_tag
Object with which the constraint
is to be applied.

value
double
If constraint needs a value then
use this field, ex. UF_CURVE_angle
UF_CURVE_radius type constraints
.

help_data
help data when constraint is tangent / normal

 

 
 
Член структуры value задаем, если ограничение есть число. Но за исключением UF_CURVE_radius... Как тогда его задать?  
Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...

Здравствуйте! Подскажите, пожалуйста, чем можно заменить экспорт чертежа NX в виде cgm-файла (используем его для вставки в Excel или Word). При использовании cgm просмотр файлов Excel/Word выполняется очень долго из-перерисовки или масштабирования, кроме этого тормозится печать или изображение печатается неполностью. Вообще-то, достаточно бы получить JPEG или BMP чертежа, но при экспорте в эти файлы, нужно как-то отделять сам чертеж.

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

Всем доброго времени суток.

А есть ли возможность считывать/записывать атрибуты айтемов Тимцентра из-под NX.

Но: 1. не через маппинг;

      2. не с помощью invoke_pmd_server..

Может есть методы, позволяющие это напрямую делать?

с помощью PdmSearchManager могу получить все айтемы по идентификатору, например. Результат получаю SearchResult, а что с ним делать, кроме как вывести идентификаторы, не пойму.

И еще.. есть ли возможность, найдя список айтемов, поочередно открыть их наборы данных ugmaster в nx?

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

Здравствуйте! Подскажите, пожалуйста, чем можно заменить экспорт чертежа NX в виде cgm-файла (используем его для вставки в Excel или Word). При использовании cgm просмотр файлов Excel/Word выполняется очень долго из-перерисовки или масштабирования, кроме этого тормозится печать или изображение печатается неполностью. Вообще-то, достаточно бы получить JPEG или BMP чертежа, но при экспорте в эти файлы, нужно как-то отделять сам чертеж.

Можно копировать экран (команду точноне помню, что-то типа Изменить - Копировать экран). Если вы находитесь в моделе черчения и у вас отображается лист чертежа, то данная команда в буфер виндовс копирует векторную картинку в формате EMF, которую можно вставить в ворд или эксел и она будет намного легче CGM

есть ли возможность, найдя список айтемов, поочередно открыть их наборы данных ugmaster в nx?

Давно не программировал по NX-TC, но вроде если есть item revision и другие параметры (точно не помню), то открыть его можно через UF_UGMGR_decode_part_file_name и потом просто UF_PART_open

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

Так cgm же просто конвертируется в jpg через UF_PLOT_convert_file(...).

Только надо настроить вывод на плоттер (см.UGII_SDI_SERVER_CFG_DIR).

И вообще лучше сразу в jpg выводить через новые классы:

workPart->PlotManager()->CreatePlotBuilder();

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

Так cgm же просто конвертируется в jpg через UF_PLOT_convert_file(...).

Только надо настроить вывод на плоттер (см.UGII_SDI_SERVER_CFG_DIR).

И вообще лучше сразу в jpg выводить через новые классы:

workPart->PlotManager()->CreatePlotBuilder();

Большое всем спасибо.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • kkk
      Боюсь, такой формат обучения будет стоить ОЧЕНЬ дорого. Идеальный вариант - имея какие-то базовые практические навыки, устроиться в контору, где люди с ТФ на ты. И там уже все эти вопросы будут в рабочем порядке. :)
    • Kelny
      Вероятно вам нужен всё таки не Solidworks, а смотреть раздел форума по теме CAM: https://cccp3d.ru/forum/11-все-вопросы-о-cam/   и SolidCAM/SOLIDWORKS CAM в частности: https://cccp3d.ru/forum/122-solidcam/   Или иные CAM программы с использованием импортирования моделей из Solidworks.    
    • Kelny
      Для скрытия идентичных компонентов попробуйте ФИЛЬТР в дереве (вверху дерева): https://help.solidworks.com/2019/russian/solidworks/sldworks/t_filtering_featuremanager_assemblies.htm?_gl=1*rt4glz*_up*MQ..*_ga*MTU2MzA2MzExLjE3MTUyODE5NTg.*_ga_XQJPQWHZHH*MTcxNTI4MTk1OC4xLjEuMTcxNTI4MTk2MC4wLjAuMA..   или ВИЗУАЛИЗАЦИЯ СБОРКИ: https://help.solidworks.com/2019/russian/solidworks/sldworks/c_Assembly_Visualization_Overview.htm   Не понятно зачем перед CTRL+Q нажимать CTRL+B. Разве просто CTRL+Q не достаточно?   Ещё есть настраиваемая панелька с кнопками инструментов по клавише S на клавиатуре.  
    • PARADOX.NC
      здравствуйте, такая проблема, магазин начал проскакивать позицию, немного смещаясь от положенного места,горит ошибка на датчик, суть в том что при вращении кулачка который взаимодействует с датчиками, он останавливается не на том датчике и из за этого горит ошибка о неисправности датчика, если вручную совершить правильный порядок включения датчиков то ошибки нет, но когда все собираешь на место и система отрабатывает опять происходит тот же эффект, приезжало много специалистов , поменяли все  датчика- результата ноль, все датчики система видит в полном объеме как положено, есть предположение (одного из мастеров) что сбился параметр отвечающий на время срабатывания датчика, но ни кто не знает где этот параметр находится... если может кто помочь огромная просьба помогите, станок уже долго стоит и ни кто не может решить проблему.
    • Борман
      Так свойства грунта получены при действии атм. давления. Вы же не нагреваете конструкцию на 273 градуса при решении ?
    • maxx2000
      @Snake 60 а почему не использовать  ректальное сегментное кольцо, оно же жесты мыши, для того чтобы навесить нужные команды на него?
    • Fedor
      Тут другой вопрос вырисовывается.  По идее действует на грунт атмосферное давление и , следовательно ,  надо бы его учитывать при анализе прочности грунтов. Но нигде не видел, чтобы это учитывалось, например, при устойчивости склонов... 
    • Snake 60
      Нано-макросы :) https://boosty.to/snake.nest/posts/a7056a15-49b7-4f80-9de4-194e9dbf3404
    • Борман
      Ну значит ваша температура замерзания ниже -25гр.С. 
    • bri
      Вы правы, фрезеровка далеко не самый лучший метод. Но да, радиатор это грубо говоря часть какого-то корпуса. Уж не знаю насколько эффективны другие способы при небольших обьемах . Ну а при обработке глубоких и тонкостенных ребер делаем их за раз, без всяких подчисток. Равномерно опуская все ребра.  второй раз прикасаться к ним инструментом нельзя  Ну и для примера. 4мм на глубину 40 делаю в 2-3 фрезы разного вылета. Первая на 20мм.  по геометрии хорошо показали себя однозубые фрезы, гребут за раз довольно глубоко.  Мне лично понравились seco jabro. Но с Европой нынче туго(( у Китая пока не нашел достойной замены
×
×
  • Создать...