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

Программирование на Ug/open(open++)


SAN

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

Как реализовать команду Point Set (меню: Insert->Curve->Point Set...) на UG/Open ?

Требуется набор точек для различных вариантов:

Equal Arc Length, Chordal Tolerance.

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


похоже, готовых функций -- аналогов этому меню нет.

но есть необходимые кирпичики:

UF_MODL_ask_point_along_curve

Returns a parameter value for a point along a curve or edge based upon three inputs: a reference point, an offset distance, and a direction flag.

UF_MODL_ask_curve_points

Returns an array of 3D point coordinates (x,y,z) based on an input curve, chordal tolerance, angular tolerance, and step tolerance.

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

Вообще такая функция есть но она дает избыточное число точек

так что лучше переписать

Например для оценки хорды между двумя параметрами может быть использован след фрагмент кода Я как-то писал это для CАМ обработки

Формула приближенная ассимптотическая

static int chord(tag_t curve, double par1, double par2, double *c)

{ int irc;

double p1[3], p2[3], t[3], p_n[3], b_n[3], tor, rad, dx, dy, dz, lc, ll;

irc=UF_CURVE_ask_arc_length(curve, par1, par2, UF_MODL_UNITS_PART, &lc);

irc=UF_MODL_ask_curve_props(curve, par1, p1, t, p_n, b_n, &tor, &rad);

irc=UF_MODL_ask_curve_props(curve, par2, p2, t, p_n, b_n, &tor, &rad);

dx=p1[0]-p2[0]; dy=p1[1]-p2[1]; dz=p1[2]-p2[2];

ll=sqrt(dx*dx+dy*dy+dz*dz);

*c=sqrt(3./8.*lc*fabs(lc-ll));

return 0;

}

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

Спасибо всем за советы !

Использовал для разбиения "Equal Arc Length"

UF_MODL_ask_point_along_curve(...);

UF_CURVE_evaluate_curve(...);

UF_CURVE_create_point(...);

все работает.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Sivolap36
      Спасибо за информацию. А как определили, что нижний  инкрементный? Спасибо. Как то я пролистал наверное. Благодарю
    • Jesse
      deleted этого я и хотел узнать у товарищей форумчан :-) вот для сферы оценка есть: присоед. масса воды равна половине от объёма сферы может кто в справочнике каком видел сколько для рабочих колёс присоединять надо..) мне тоже кажется там серьёзная отстройка должна получиться..   не спец в насосах и лопаточных машинах..)) у меня вот тяк: да это геморр... ещё и приложить его надо как-то к валу. Кстати, я вообще говоря собирался для модальника взять модель только вала, с колёса учесть в виде сосредоточ. масс с моментами инерции. Законно ли это, не сильно исказит расчёт СЧ? И ещё непонятка: куда присоединять эту массу? Прям в шпоночное отверстие вала?: Или вдоль всей окружности куда садится колесО?   не не , там не биссектриса. \Гляньте мою картинку выше из Вики. И все картинки такие для ДК что в сети нашлись. Там явно BW и  FW явно не зеркальные отражения друг друга относ-но гориз-й прямой, проведённой через ординату СЧ для нулевой частоты вращения ротора...   откуда вы знаете что сбалансировано? идеальной балансировки не существует   вот прям так в отчёте и напишу!:D точка Меня другой вопрос волнует.. Что центробеж. сила и гироскоп. момент пропорц-ны квадрату частоты вращенеия, т.е. на больших частотах может появиться вилка... Мне нужно где-то найти оценку, возможно опять таки относительно СЧ когда нет вращения..
    • Irukanjii
      Уважаемые коллеги, доброго времени суток! Прошу Вас рассмотреть возможность изготовления 5 комплектов изделий из стали 08Х18Н10 (материал предоставим). Всего необходимо изготовить 5 "мам" и 5 "пап". На производстве нам требуется высокая точность шлифовки, т.к. потом будем наносить хромирование.  По ссылке на мэил диск будут доступны чертежи каждой детали и 3d модели в SolidWorks (также прошу отнестись с пониманием, если какие-то детали будут не совсем точные, не долго работаю в SolidWorks, но постарался соблюсти все габариты) https://cloud.mail.ru/public/T72n/CS1Cc8Bnt   Ответ можно присылать на почту ned@bvbmail.ru, либо в этой теме. 
    • Александр1979
      Информация по номерам для заказа есть в руководстве "B-65515", также информация есть в руководствах "B-65302" и "B-65262"      
    • gudstartup
      а чего тут искать то первый это абсолютный на 1000000 имп\об bi типа второй ai инкрементальный xз но нав 4000000 имп\об разъем подключения описан в схеме. инфа передается по цифровому протоколу обмена. кое что есть тут   в старых описаниях таких датчиков у фанука нет  
    • anykeyto
      У нас AC. Так то я понимаю, что G108 это переключить режим шпинделя из оборотов в координату С. Но я почему про нее спросил, потому что в мануале к G07.1, в примере программки указывалось таким образом, что сначала включали G108 (хотя это может для токарки, а для фрезера и не надо совсем), а потом уже остальное.   G07.1 это как раз цилиндрическая интерполяция, то есть преобразование оси С из угла в миллиметры, то есть как бы разворачивает цилиндр в плоскость. Ну как я это понял. Проблема у меня встала в том, как именно программируются такие действия. Пробовал на основе примеров из мануала, стойка выдает ошибки. в чем проблема непонятно из-за китайской стойки и некорректного перевода. Ну и вообще хочется пощупать, как это вообще работает именно на фрезерном ОЦ.   Тут еще засада в том, что на 5-оснике из-за RTCP станок не дает одновременно перемещаться одновременно по осям XY и С например...  Я понимаю, что такое надо в САМ системах делать, но есть потребность в упрощенном варианте и со стойки писать, у нас с технологами проблема... G68.1, 68.2, 68.3  это преобразование характеристической СК, развороты короче координат G53.1, G53.2 - фактически активирование поворота стола с RTCP и без... 
    • ДОБРЯК
      А собственные вектора вы как будете находить для любой размерности? :=)
    • Sivolap36
      Добрый день. Прошу подсказать в каком мануале есть описание энкодеров моторов, где-то видел, сейчас нем могу вспомнить.  Вот например два энкодера по ним ищу инфу  
    • Рома калужский
      это код подключения шпинделя как ось "С" но при этом он не перемещает револьверку, т.е. не работает по программе
    • Горыныч
      Еще совет: строить нужно только половину, если модель симметричная, тогда Солид меньше "косячит". И соглашусь с коллегами, идеальный вариант для гладкого построения - два сечения и две направляющие кривые, т.е. 4 управляющие кривые (кромки). При необходимости можно добавлять не только промежуточное сечение, но и направление. Не нужно пятаться построить всю поверхность одним фичером.  Пусть поверхности будут лоскутами, но соединяются по касанию или кривизне. 
×
×
  • Создать...