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

Ug/open - Create Linked Body


tALEX

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

Кто о чем, а я об xform. :bleh:

Как недавно выяснилось, xform - "умное" преобразование, которое создается функциями

UF_SO_create_xform_doubles

UF_SO_create_xform_pnt_xy_dirs

UF_SO_create_xform_extract

итд

и используется в функциях

UF_WAVE_create_linked_body

UF_WAVE_create_linked_curve

итд

Ну,про то, что этот xform реально удалось создать только функцией UF_SO_create_xform_doubles, я уже не спрашиваю(потому что никто не отвечает)

А сейчас вопрос

Если xform с масштабом = 2, то UF_WAVE_create_linked_body создает тело УМЕНЬШЕННОЕ в 2 раза

а UF_WAVE_create_linked_curve создает кривую в 2 раза УВЕЛИЧЕННУЮ.

Центр масштабирования тоже при этом разный(для кривой корректно).

Это баг или фича?

Особая надежда на квалифицированние советы от niki и nut888

С уважением

tALEX

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


2 tALEX

UF_SO_create_xform_pnt_xy_dirs на самом деле все корректно

создает, только я пока не разобрался (времени нет), где в твоем коде ошибка (а она там точно есть, судя по UG-овому отладчику). По поводу scale - пока сказать ничего не могу. Когда писАл предыдущий "этюд", тоже хотел его заюзать, но так до конца и не разобрался, к какому "месту" он прикладывается ... В выходные попробую ответить на все инетересующие вопросы.

Regardzzz ...

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

2 tALEX

    UF_SO_create_xform_pnt_xy_dirs на самом деле все корректно

создает, только я пока не разобрался (времени нет), где в твоем коде ошибка (а она там точно есть, судя по UG-овому отладчику). По поводу scale - пока сказать ничего не могу. Когда писАл предыдущий "этюд", тоже хотел его заюзать, но так до конца и не разобрался, к какому "месту" он прикладывается ... В выходные попробую ответить на все инетересующие вопросы.

Regardzzz ...

<{POST_SNAPBACK}>

Хотелось бы надеяться, что ошибки у меня а не в UG/Open

(Их исправлять легче)

А UF_SO_create_xform_pnt_xy_dirs - создает то все корректно

да использовать в UF_WAVE_create_linked_body и в UF_WAVE_create_linked_curve не в хочет :(

tALEX

ps А UG-овый отладчик - это что ?

post-2859-1123159836_thumb.jpg

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

Кто о чем, а я об xform. :bleh:

Как недавно выяснилось, xform - "умное" преобразование, которое создается функциями

UF_SO_create_xform_doubles

UF_SO_create_xform_pnt_xy_dirs

UF_SO_create_xform_extract

итд

и используется в функциях

UF_WAVE_create_linked_body

UF_WAVE_create_linked_curve

итд

Ну,про то, что этот xform реально удалось создать только функцией UF_SO_create_xform_doubles, я уже не спрашиваю(потому что никто не отвечает)

А сейчас вопрос

Если xform с масштабом = 2, то UF_WAVE_create_linked_body создает тело УМЕНЬШЕННОЕ в 2 раза

а UF_WAVE_create_linked_curve создает кривую в 2 раза УВЕЛИЧЕННУЮ.

Центр масштабирования тоже при этом разный(для кривой корректно).

Это баг или фича?

Особая надежда на квалифицированние советы от niki и nut888

С уважением

tALEX

<{POST_SNAPBACK}>

tALEX

Если Ты всерьез хочешь заниматься подобными вещами

и быть способным решать вопросы самостоятельно я бы рекомендовал

для начала почитать ряд книг по компютерной геометрии

Например для начала

Эйнджел Эдвард Интерактивная компьютерная графика. Вводный курс на базе OpenGL., Пер. с англ.

Д.Роджерс Алгоритмические основы машинной графики.

Д.Роджерс, Дж. Адамс Математические основы машинной графики.

Там очень популярно и просто все написано

Пощи эти книги на lib.homelinux.ru

Если не гнайдешь напиши мне у меня есть

Если конечно для Тебя это представляет интерес

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

to nut888

Книг, рекомендованных Тобой я, к сожалению, не нашел.

(Надеюсь, что Ты мне поможешь, когда они мне понадобятся.)

Но, хотелось бы понять, как эти книги могут мне помочь в ответе на мой, достаточно конкретный вопрос об использовании функций из весьма конкретного пакета. Ведь сходство между Open/GL и UG/Open всего в одном слове, а книгу по UG/open почему то никто не предлагает :(.

И в продолжение разговора - вопрос.

Какими общими/специальными знаниями должен обладать человек, который хочет заняться программированием в UG/open ?

Или

Какие общие/специальные знания позволяют Тебе Легко программировать в UG/open ?

(Может быть стоит поучиться на курсах по UG/Open?)

(Может быть есть документация для внутреннего использования в UGS, которую стоит почитать?)

(То, что в скобках - риторические вопросы)

С уважением

tALEX

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

to nut888

Книг, рекомендованных Тобой я, к сожалению, не нашел.

(Надеюсь, что Ты мне поможешь, когда они мне понадобятся.)

Но, хотелось бы понять, как эти книги могут мне помочь в ответе на мой, достаточно конкретный вопрос об использовании функций из весьма конкретного пакета.  Ведь сходство между Open/GL и UG/Open всего в одном слове, а книгу по UG/open почему то никто не предлагает :(.

И в продолжение разговора - вопрос.

Какими общими/специальными знаниями должен обладать человек, который хочет заняться программированием в UG/open ?

Или

Какие общие/специальные знания  позволяют Тебе Легко программировать в UG/open ?

(Может быть стоит поучиться на курсах по UG/Open?)

(Может быть есть документация для внутреннего использования в UGS, которую стоит почитать?)

(То, что в скобках - риторические вопросы)

С уважением

tALEX

<{POST_SNAPBACK}>

Дело в том что есть общепринятые вещи касающиеся компьютерной графики

В данном случае речь идет о реализации алгоритма аффинных преобразоманий

(сдвиг вращение масштабирование)

Эти вещи давным давно расписаны и реализуются

однотипно в любых системах

В документации UGOPEN об этом подробно не пишется но подазумевается

что программист например знает что такое матрица трансформации

4x4 откуда она берется как вычисляется и используется

Что нужно в первую очередь для программирования в UGOPEN:

1) наличие фундаментальных знаний в области геометии математики инженерии

2) знание и опыт работы в UG как обычный пользователь

3) навыки программирания в c/c++

На счет курсов по UG/Open ни разу не слышал чтобы их читали

На счет метода обучения то на мой взгляд есть только один способ -

решать задачи, писать программы

Все другие методы вроде курсов консультаций не столь эффективны

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

Дело в том что есть общепринятые вещи касающиеся компьютерной графики

В данном случае речь идет о реализации алгоритма аффинных преобразоманий

(сдвиг вращение масштабирование)

Эти вещи давным давно расписаны и реализуются

однотипно в любых системах

В документации UGOPEN об этом подробно не пишется но подазумевается

что программист например знает что такое матрица трансформации

4x4 откуда она берется как вычисляется и используется

Что нужно в первую очередь для программирования в UGOPEN:

1) наличие фундаментальных знаний в области геометии  математики инженерии

2) знание и опыт работы в UG как обычный пользователь

3) навыки программирания в c/c++

На счет курсов по UG/Open ни разу не слышал чтобы их читали

На счет метода обучения то на мой взгляд есть только один способ -

решать задачи, писать программы

Все другие методы вроде курсов консультаций не столь эффективны

<{POST_SNAPBACK}>

Спасибо за быстрый и развернутый ответ.

Но,"прошу заметить", я не спрашивал про матрицу преобразований, не спрашивал, как что то преобразовать, используя матрицу преобразования, а спрашивал, почему ОДНО И ТО ЖЕ преобразование, примененное к телам и кривым дает РАЗНЫЕ результаты.

На, картинке, которую я сейчас приложу, преобразованию подвергаются блок и линии ребер этого блока

Кусок кода прилагается

При масштабе = 1 к результатам претензий нет

При масштабе = 2 смотри рисунок

for(j=0;j<num_OBJ;j++){

//UF_CALL(UF_SO_is_assy_ctxt_xform (xform_id[i],&is_assy_xform ));

//if(!is_assy_xform) continue;

	UF_OBJ_ask_type_and_subtype (selOBJ[j],&type,&subtype );

switch(type){

	case UF_solid_type :

        UF_CALL(

  	UF_WAVE_create_linked_body (

  	selOBJ[j],xform_id[i], current_part,order_creating,&linked_feature ));

    break;

	case	UF_line_type:

	case	UF_circle_type:

	case	UF_conic_type:

	case	UF_spline_type:

        UF_CALL(

  	UF_WAVE_create_linked_curve (

  	selOBJ[j],xform_id[i],current_part, order_creating,&linked_feature));

    break;

	default:

    break;

}//switch



}//for(j=0;j<num_OBJ;j++)

post-2859-1123238644_thumb.jpg

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

Спасибо за быстрый и развернутый ответ.

Но,"прошу заметить", я не спрашивал про матрицу преобразований, не спрашивал, как что то преобразовать, используя матрицу преобразования, а спрашивал, почему ОДНО И ТО ЖЕ преобразование, примененное к телам и кривым дает РАЗНЫЕ результаты.

На, картинке, которую я сейчас приложу, преобразованию подвергаются блок и линии ребер этого блока

Кусок кода прилагается

При масштабе = 1 к результатам претензий нет

При масштабе = 2 смотри рисунок

for(j=0;j<num_OBJ;j++){

//UF_CALL(UF_SO_is_assy_ctxt_xform (xform_id[i],&is_assy_xform ));

//if(!is_assy_xform) continue;

	UF_OBJ_ask_type_and_subtype (selOBJ[j],&type,&subtype );

switch(type){

	case UF_solid_type :

        UF_CALL(

  	UF_WAVE_create_linked_body (

  	selOBJ[j],xform_id[i], current_part,order_creating,&linked_feature ));

    break;

	case	UF_line_type:

	case	UF_circle_type:

	case	UF_conic_type:

	case	UF_spline_type:

        UF_CALL(

  	UF_WAVE_create_linked_curve (

  	selOBJ[j],xform_id[i],current_part, order_creating,&linked_feature));

    break;

	default:

    break;

}//switch



}//for(j=0;j<num_OBJ;j++)

<{POST_SNAPBACK}>

А оттрасировать по xform_id с распечаткой всей информации по smart

объекту у Тебя не возникло желание ?

UF_SO_ask_matrix_of_xform (

tag_t xform,

double matrix[ 16 ] );

Тогда можно будет делать какие то выводы

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

А оттрасировать по xform_id с распечаткой всей информации по smart

объекту у Тебя не возникло желание  ?

UF_SO_ask_matrix_of_xform (

tag_t xform,

double matrix[ 16 ] );

Тогда можно будет делать какие то выводы

<{POST_SNAPBACK}>

То есть предлагается надергать из xform тех самых матриц преобразования, распечатать и сравнить их ?

xform не меняется, матрица та же самая.

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

То есть предлагается надергать из xform тех самых матриц преобразования, распечатать и сравнить их ?

xform не меняется, матрица та же самая.

<{POST_SNAPBACK}>

Тогда видимо одна из функций UF_WAVE_create_linked_body или

UF_WAVE_create_linked_curve

работает некорректно

(либо неправильно считает либо модифицирует матрицу)

А может не стоит на один смарт вешать несколько преобразований

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

Hallo everybody.

I'm a new user from Italy.

Can someone help me?

I'm attempting to copy a solidbody as a "Position Independent Linked Body" form an assembly to its component via UGOPEN.

Using UF_WAVE_create_linked_body function I cannot obtain te "Position Independency"

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • IGor2D
      По итогу...: По гарантии приехали и поправили только точность реза, остальное не смогли исправить, нужен инженер с HSG. Глючный однако китаец, пытается сам себя сломать.
    • Gmv
      По кнопке FTP стойка имеет 6 страниц для трех разных хостов. Где можно указать IP , имя, пароль 1страница. каталог 2 страница. Больше настроек не нашел.
    • gudstartup
      на фануке настраиваете доступ по ftp на соответствующей вкладке  и также расшариваете папку  вашим сервером и все прекрасно работает.
    • gudstartup
      симулятор предполагает взаимодействие как с чпу так и со станком посредством другой plc программы иначе вам придется самому управлять входами и выходами а это непросто.    
    • Gmv
      У кого есть опыт организации FTP именно на станке? Стойка 0i-MF plus   Сейчас пока сервер настроен на компе, и то не до конца. файлы видны, извлечь их или скопировать в память станка не выходит. Но операторы уже сразу возмущены,  им проще бегать с USB флешкой и нажимать одну кнопку, чем прыгать по папкам. На хаасе это реализовано классно, он создает сетевой диск и полный доступ и со стойки с пк. Хотелось бы подобного.
    • Guhl
      Я нормально проекты писал и отлаживал на эмуляторе Балт-Систем На Heidenhain, насколько я понял, работает симулятор с их сайта в связке с PLC design @gudstartup пользовался этим вот в этой ветке
    • ID_Hacker
      Ну уж балт-систем то не надо сюда. Там такое ущербное всё, что аж страшно вспомнить. Haidenhain эмулятор где взять, подскажете? А как отработать взаимодействие между NC и PLC, действия где работают и оси и механизмы электроавтоматики. Сам хочу попробовать Run my virtual machine, да всё времени нет.
    • Bot
      Данное приложение разработано на языке Visual Basic с использованием программного интерфейса NX Open API и предназначено для использования в САПР Siemens NX, начиная с версии 2000. Стиль интерфейса пользователя идентичен стилю САПР Siemens NX. View the full article
    • Jesse
      @ГЕЛА Ещё можно посчитать в балках и учесть влияние отверстия через коэффициент концентрации напряжений..) Но у вас отверстие на всю стенку, так что лучше, проще и быстрее посчитать всё это дело в оболочках как выше сказали. Скругления перехода от стенки к полке удалите и в запас считайте.
    • 5axisCNC
      Можно плоскость дна задать множеством вариантов например точка направление
×
×
  • Создать...