Поиск по сайту: Результаты поиска по тегам 'nxopen'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • САПР, Информационные технологии в проектировании и производстве
    • Все вопросы о CAD
    • Все вопросы о CAM
    • Обсуждение CAD/CAM-систем
    • Все вопросы о CAE
    • Все вопросы о PDM
    • Дизайн, ПО для дизайна
    • САПР ТП
    • САПР зданий и сооружений, дизайн зданий
    • Электротехнические САПР
    • Сравнение и Выбор!
    • 3D Модели
    • Трансляция, конвертация, просмотр
    • Ролики по САПР
    • Настройка и выбор ПК под САПР, комплектующие к ПК
    • Программное обеспечение
  • Проектирование и производство
    • Проектирование и конструирование
    • Материалы и покрытия, прокат и профиль
    • Производственные проблемы
    • Оборудование, комплектующие, оснастка, инструмент
    • Прототипирование
    • Вопросы экономики
    • Размещение заказов
    • CNCZONE.RU
  • Полезная информация
    • Новости
    • Статьи
    • Обсудим увиденное или прочитанное
    • Раздел ссылок
    • Литература, Электронные книги, ГОСТы
  • Доска объявлений
    • Размещение заказов
    • Предложение услуг
    • Продажа
    • Покупка
    • Обмен, дарение
    • Размещение вакансий
    • Размещение резюме
  • Разное
    • Флейм
    • Юмор о CAD/CAM и не только
    • Kонкурсы проектов
  • Сервис

Календари

  • Основной календарь



Фильтр по количеству...

Найдено 8 результатов

  1. Всем здравствуйте!! Передо мной стоит задача построения графа соединений компонентов в сборке. Выбор пал на "Анализ зазоров". Необходимо получить информацию о том, между какими деталями есть пересечения. В NX отлично отображает соединения после самого анализа или с помощью инструмента "Просмотр зазоров". Необходимо найти способ переноса данных в среду разработки. Перерыл огромное кол-во документации. Единственное, что нашел подходящие в методах класса ClearanceSet Class - это GetResults, но он выдаёт лишь общую информацию о Времени анализа, режимах и т.д. Какой-то идиотизм, есть класс ClearanceSet, но сами зазоры или их список я получить не могу. Интересно то, что данные с GetResults совпадает с Отчётом об Анализе зазоров (Рис. 1). Необходимая информация есть в Полном отчёте об Анализе зазоров (Рис. 2). Пытался найти необходимую информацию с помощью инструмента Журнал, к сожалению, он не работает с данными функциями. Как возможно получить список самих зазоров?
  2. Доброго времени суток форумчане! Вопрос следующий: Создаю набор точек PointSet с помощью фичера PointSetBuilder. Набором для построения служит кривая curve и множество поверхностей. Точки строятся, обратиться к ним могу с помощью метода getentities (). Каким образом мне можно получить конкретную поверхность которую пересекает кривая в каждой точке? Метод getparents () пустой, длины 0. Спасибо.
  3. Всем привет! Я разработал в NXOpen простую, но полезную утилитку - нумератор траекторий, дабы имена были человеческие и удобочитаемые. Но вот проблема, для запуска на рабочей машине нужна лицензия c_p_p author. Есть желающие подписать утилиту, чтобы она вышла в свет?
  4. Как изменить selection scope для specify vector. Работаю с UI stiler. Когда нажимаю на указать вектор, selection scope становится Within Work Part Only и можно выбрать вектор только в абсолютной системе координат, а мне необходимо по face. Необходимо реализовать выборку как в move component по Angle.
  5. Пишу user function, с применением UIStyler, вставки специального PMI символа. Должно указываться две точки, одна на поверхности, другая, собственно точка вставки символа. Хотелось бы, чтобы при перемещении курсора символ перемещался вместе с ним, как это реализовано в стандартном диалоге вставки PMI. (Может это, конечно, и барство, но хочется чтобы было красиво :) ). В UGOpen есть функция UF_UI_specify_screen_position(...) которой передаётся callback функция UF_UI_motion_fn_t motion_cb(...), которая позволяет отслеживать положение курсора. А есть ли нечто подобное в NXOpen? Блок SpecifyCursoreLocation не имеет callback функций. Выполнять UF_UI_specify_screen_position по нажатию на кнопку как-то не комильфо, теряется динамичность интерфейса. Может быть есть у кого, какие мысли, как организовать это штатными средствами NXOpen? Или как вариант отслеживать событие WM_MOUSE_MOVE (это выглядит как костыль :( )?
  6. Всем доброго времени суток. Осваиваю NXOpen. Поставлена задача получить из файла список инструмента с параметрами, чтобы в дальнейшем передать информацию в Вертикаль. Попробовал записать журнал, действия добавить и удалить новый инструмент. Вышел на следующий код: NXOpen.CAM.NCGroup nCGroup1 = (NXOpen.CAM.NCGroup)workPart.CAMSetup.CAMGroupCollection.FindObject("HERMLE_C20U"); NXOpen.CAM.NCGroup nCGroup2; nCGroup2 = workPart.CAMSetup.CAMGroupCollection.CreateTool(nCGroup1, "mill_planar", "CHAMFER_MILL", NXOpen.CAM.NCGroupCollection.UseDefaultName.True, "CHAMFER_MILL"); В приведённом коде на первой строке получаю NullReferenceException. Значение свойства CAMSetup объекта workPart возвращает null. В журнале всё прекрасно работает. Кто сталкивался с такой проблемой, подскажите как решили. Или у меня случай уникальный? З.Ы. Если есть рабочий пример решения подобной задачи, поделитесь, люди добрые.
  7. Привет форумчане! Возникла необходимость создавать ассоциативные надписи на чертеже (NOTE), которые находятся под другими надписями. Стандартный функционал предлагает: 1. Задать саму надпись 2. Задать параметры отступов от базовой надписи (которые не сохраняются при повторном вызове) 3. Выбирать базовую надпись, при перемещении которой будет перемещаться и созданная. Чтобы не повторять по сто раз одни и те же действия попробовал написать программу, которая сама вставляет нужную надпись с требуемыми отступами, после выбора базовой. Но возникла проблема: вставляемая надпись стала единой с базовой, т.е. при изменении базовой меняются обе. Был бы Вам признателен за хоть какие-нибудь мысли по этому поводу. Текст проги (NX OPEN API) #include <NXSigningResource.c> #include <uf.h> #include <uf_ui.h> #include <uf_obj.h> #include <uf_draw.h> #include <uf_draw.h> #include <uf_drf.h> void ufusr(char *param, int *retcode, int paramLen) { tag_t note_sel, note_ins, view;//определяем переменные double cursor[3], note_pos[3], upper_left[3], length, height; char *note_text[1] = {"OPPO.SIDE"}; UF_UI_selection_options_t opts;//структура выбора UF_UI_mask_t mask = {UF_drafting_entity_type, 1&2, UF_UI_SEL_NOT_A_FEATURE};//задание параметров выбора int response = 0, error = 0;//начальные параметры ф-ций opts.num_mask_triples = 1;//выбор ТОЛЬКО одного типа элементов opts.mask_triples = &mask; opts.scope = UF_UI_SEL_SCOPE_WORK_PART; ( UF_initialize () ); error = UF_UI_select_single("Выберите надпись NOTE или Identification Symbol", &opts, &response, &note_sel, cursor, &view) ; if (!error &&response != 1 && response != 2) //Если не нажата кнопка CANCEL or BACK //записываем координаты верхнего левого угла, длину и высоту выбранного NOTE UF_DRF_ask_annotation_text_box(note_sel, upper_left, &length, &height); //Задаем координаты надписи OPPO.SIDE относительно выбранных нотесов note_pos[0] = upper_left[0]; note_pos[1] = upper_left[1]-6; note_pos[2] = upper_left[2]; //Вставляем OPPO.SIDE UF_DRF_create_note (1, note_text, note_pos, 0, &note_ins); //Задаем ассоциативность UF_DRF_add_assortpart_to_ann(note_sel, 1, &note_ins); //Тушим подсветку UF_DISP_set_highlight(note_ins,0); UF_DISP_set_highlight(note_sel,0); UF_terminate(); }
  8. Здравствуйте! Пытаюсь сделан шаблон для "Черчения" NX8.5. По имени может взять только объект эскиз. А выражения, таблицы и группы, по имени не может, похоже идет обращение по тэгу. Этот шаблон может добавлять несколько раз, у эскиза, например добавляется "_0", а у группы и т.д. тэг меняется не понятно как и ни как не проконтролировать. И взять на новом листе это объект не представляется возможным. Программирую в Microsoft Visual Studio С++. Какими средствами можно взять объект по имени? Программирование знаю, а вот под NX - первый раз, и многого не знаю. std::vector<DisplayableObject *> objects1(1); Sketch *sketch1(dynamic_cast<Sketch *>(workPart->Sketches()->FindObject("SKETCH_SHEET 1_002"))); objects1[0] = sketch1; std::vector<DisplayableObject *> objects1(1); Annotations::Note *note1(dynamic_cast<Annotations::Note *>(workPart->FindObject("HANDLE R-54477"))); objects1[0] = note1;