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

C#


dvru

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

Есть у кого нибудь примеры с сайта <noindex>http://cafe.daum.net/nxopen</noindex>, поделитесь пожалуйста

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


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

При оформлении чертежей постоянно сталкиваемся с проблемой отсутствия в NX Drafting выносок (линия со стрелкой и полкой на концах) для обозначения тех или иных элементов на чертеже.

Поэтому пытаемся разобраться с созданием этих самых выносок программными средствами.

К сожалению все примеры программ в каталогах NX содержат стандартную функцию создания выноски и не позволяют понять самих основ создания линии со стрелочкой на одном конце и какой-либо геометрией с текстом на другом конце.

Если сталкивались с подобной работой или есть мысли на этот счет поделитесь пожалуйста.

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

объясните пожалуйста что делаю не так.

Создав в drafting Label (надпись с выноской) пытаюсь изменить тип выноски со стрелки на точку.

UF_initialize();

		strcpy(text[0], "Note with Leader");
//создаю текст с выноской
	status = UF_DRF_create_label(1, text, origin, UF_DRF_leader_attach_screen, NULL, base_pt, &text_aid_tag);

//запрашиваю наличие ассоциотивных объектов к созданному тексту (находится один объект)
	status = UF_DRF_ask_associativity_data(text_aid_tag, &num_ass, &assoc_data);

//беру таг найденного объекта (а он не берется)
	assoc_obj_tag = assoc_data -> assoc_object_1;

//вывожу справочную информацию в текстовую переменную
	sprintf(text[0], "колво = %d; tag_assoc_obj = %d; tag_label = %d",num_ass, assoc_obj_tag, text_aid_tag);

//спрашиваю параметры найденного ассоциативного объекта
	status = UF_DRF_ask_object_preferences(assoc_obj_tag, mpi, mpr, radius_val, diameter_val);

//задаю новые параметры выноски	
  		mpr[32]=25;
	mpr[40]=25;
	mpr[44]=25;
	mpi[29]=4;
	mpr[5]=15;
	status = UF_DRF_set_object_preferences(assoc_obj_tag, mpi, mpr, radius_val, diameter_val);

//вывожу справочную информацию в NX
	uc1601(text[0], 0); 

UF_terminate();

при работе этого кода определяется 1 ассоциативный объект созданной надписи (label), но не получается взять tag этого объекта (выводится 0) :sad:

Пробовал вариант вначале задать параметры, а потом создавать выноску, но тогда после создания приходится возвращать параметры обратно что не очень удобно.

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

Похоже просто не заданы объекты для привязки

поэтому и нулевой тэг.

Как то по другому надо тип менять.

Может ...->point_type?

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

О, понял - там же массив,

надо писать типа:

assoc_obj_tag = assoc_data[0].assoc_object_1;

Хотя, это ж одно и тож получается...

Может быть через UF_DRF_ask_label_info()

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

Про массив я сразу и не заметил, но к сожалению не в этом дело.

В результате так и не удалось поменять тип конкретной выноски.

Приходится менять глобальные настройки, строить выноски, а потом менять настройки обратно.

Использую UF_DRF_ask_line_arrow_preferences

UF_DRF_set_line_arrow_preferences

А ассоциативные объекты действительно это те к которым присоединена выноска (хотя когда выноска не была присоединена ни к одному из объектов все равно количество объектов показывалось равным 1 :g:)

harbel спасибо за участие.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • ART
      @Ветерок @maxx2000 Два знатока NX.    Не выходя из эскиза ->menu->edit->divide curve->выбрать вашу линию->нужный вам метод деления. Соответственно все параметры будут в таблице переменных там сможете их менять. 
    • malvi.dp
      Удалось таки воспроизвести этот диалог если в параметрах тела сетки установить одну или обе галочки Если же галочки снять, то макрос отрабатывает без диалога, а вот если вручную открыть файл, то выскакивает такое окно: В этом случае нужно просто установить отметку "Больше не отображать сообщение" и оно больше не будет донимать.
    • kinovari
      Приветствую благородных господ данного форума.   Возникла непреодолимая проблема в работе связки манупулятора и станка на sinumerik one.  Срочно требуется добыть SINUMERIK STEP 7 TOOLBOX V18.1 для tia portal. Может кто поделиться? Заранее благодарю! Заодно хотелось бы узнать, можно ли как либо из NC обратиться в программе ко входу PLC? например вход I014.4, написать скрипт проверки готовности данного входа. Спасибо!
    • Александр1979
      Вам вручную нужно создать текстовый файл optiondata.txt такого формата:  
    • Александр1979
      Сигнал пропуска, обычно подключается ко входу PMC X4.7, но можно настроить и на другой вход. Используется для подключения сигнала с датчиков привязки заготовки, инструмента. 
    • maxx2000
      чего тебе тут непонятно?
    • maxx2000
      а какие ещё варианты отрезков бывают, разве что в форме котика  можно образмерить все участки и наложить на них ограничение равенства, если частей больше чем две то задать через формулу "размер= общая длина/число частей"
    • mamomot
      Совершенно верно! Наработки "Гербария" легли в часть разработок RGK.
    • binco
      SprutCAM Robot X 16, но не уверен насчёт модулей. В мануале были скрины где в этом генераторе отчётов под окном симуляции были разные настройки, но у меня там только выбор шаблона и всё.   
    • Harley
      @mannul Есть подозрение, что в данном случае тоже "так вставил"(ось). Ставлю на то, что в реальной программе #16=[#5-#6]/2. Но посмотрим, что автор скажет. @Vomkin А что конкретно хоть работает не так? А то "по глубине, что то я не так делаю, или я сам себя замкнул уже, не понимаю" - слишком расплывчатое объяснение :) Опечатки есть, как уже выяснилось, поэтому вопрос спорный, но если реально нет инициализации #1 внутри DO1-END1 - работать не будет.
×
×
  • Создать...