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

Knowledge Fusion


Sxurik

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

Добрый день,

у меня есть программа (написана не мной!), в которой идет построение стрингера на поверхности по кривой, в ней тело стрингера создается "заеметанием" сечений стрингера, построенных с помощью ug_line и ug_arc. Ориентирование сечений не имеет значение сейчас, но вот не могу никак сделать чтобы построение сечения было ассоциативным пробовал с помощью %nx_associative_arc/line - не получилось, приложение выдает ошибку, встроенный дебагер ничего толком не показывает (или я не вижу).

Подскажите пожалуйста, есть ли способы построить ассоциированные линии и дуги?

часть кода построения сечения:

(Child) ug_line: { Class; ug_line;

start_point;Point(0,0,0);

end_point;pt_to_pt(Point(B:,0,0),x_p:,an_x:);

Suppress?;FALSE;

Color;2;

Layer;1;

};

(Child) ug_line_0: { Class; ug_line;

start_point;pt_to_pt(Point(B:,0,0),x_p:,an_x:);

end_point;pt_to_pt(Point(B:,S:-RR1:,0),x_p:,an_x:);

Suppress?;FALSE;

Color;2;

Layer;1;

};

(Child) ug_arc_0:{ Class; ug_arc;

radius;RR1:;

Start_Angle;NormalizeAngle(0+an_x:);

End_Angle;if (ug_arc_0:Start_Angle:>NormalizeAngle(90+an_x:)) then NormalizeAngle(90+an_x:)+360

else NormalizeAngle(90+an_x:);

Center;pt_to_pt(Point(B:-RR1:,S:-RR1:,0),x_p:,an_x:);

X_Axis;Vector(1,0,0);

Y_Axis;Vector(0,1,0);

Color;2;

Layer;1;

Suppress?;FALSE;

};

(Child) ug_line_1: { Class; ug_line;

start_point;pt_to_pt(Point(B:-RR1:,S:,0),x_p:,an_x:);

end_point;pt_to_pt(Point(S:+RR:,S:,0),x_p:,an_x:);

Suppress?;FALSE;

Color;2;

Layer;1;

};

# найдем приближенный центр дуги как точку пересечения перпендикуляров к концам

# соседних линий

(point) cent: interLineLine(Point(S:,S:+RR:,0),vector(1,0,0),ug_line_1:end_point:,

perpendicular(ug_line_1:start_point:-ug_line_1:end_point:));

(Child) ug_arc_1:{ Class; ug_arc;

# определим радиус как дистанцию от центра до конца одной из линий

radius;max(dist(ug_line_1:end_point:,cent:),dist(ug_line_02:start_point:,cent:));

# вычислим углы между векторами Х и от центра дуги к концам линий

Start_Angle;angle2vectors(vector(1,0,0),Point(S:,S:+RR:,0)-ug_arc_1:center:,vector(0,0,1));#180;

End_Angle;angle2vectors(vector(1,0,0),ug_line_1:end_point:-ug_arc_1:center:,vector(0,0,1));#270+an_x:;

# найдем новый центр по 2-м точкам и радиусу

Center;ArcCenter2Point(Point(S:,S:+RR:,0),ug_line_1:end_point:,

ug_arc_1:radius:,vector(0,0,1),False);

X_Axis;Vector(1,0,0);

Y_Axis;Vector(0,1,0);

Color;2;

Layer;1;

Suppress?;FALSE;

};

# добавочная линия - потом заменить на дугу

(Child) ug_line_02: { Class; ug_line;

start_point;Point(S:,S:+RR:,0);

end_point;ug_line_2:start_point:;

Suppress?;FALSE;

Color;2;

Layer;1;

};

#верт. полка

(Child) ug_line_2: { Class; ug_line;

start_point;pt_to_pt(Point(S:,S:+RR:,0),y_p:,an_y:);

end_point;pt_to_pt(Point(S:,HH:-R:-XX:,0),y_p:,an_y:);

Suppress?;FALSE;

Color;2;

Layer;1;

};

(Child) ug_arc_2:{ Class; ug_arc;

radius;RR2:;

#Start_Angle;180-AA:;

#End_Angle;180;

Start_Angle;NormalizeAngle(180-AA:+an_y:);

End_Angle;if (ug_arc_2:Start_Angle:>NormalizeAngle(180+an_y:)) then NormalizeAngle(180+an_y:)+360

else NormalizeAngle(180+an_y:);

Center;pt_to_pt(Point(S:+RR2:,HH:-R:-XX:,0),y_p:,an_y:);

X_Axis;Vector(1,0,0);

Y_Axis;Vector(0,1,0);

Color;2;

Layer;1;

Suppress?;FALSE;

};

(Child) ug_arc_3:{ Class; ug_arc;

radius;R:;

# Start_Angle;360-AA:;

# End_Angle;540;

Start_Angle;NormalizeAngle(360-AA:+an_y:);

End_Angle;if (ug_arc_3:Start_Angle:>NormalizeAngle(540+an_y:)) then NormalizeAngle(540+an_y:)+360

else NormalizeAngle(540+an_y:);

Center;pt_to_pt(Point(R:,HH:-R:,0),y_p:,an_y:);

X_Axis;Vector(1,0,0);

Y_Axis;Vector(0,1,0);

Color;2;

Layer;1;

Suppress?;FALSE;

};

(Child) ug_line_03: { Class; ug_line;

start_point;pt_to_pt(Point(0,HH:-R:,0),y_p:,an_y:);

end_point;pt_to_pt(Point(0,S:+RR:,0),y_p:,an_y:);

Suppress?;FALSE;

Color;2;

Layer;1;

};

# добавочная линия - потом заменить на дугу

(Child) ug_line_003: { Class; ug_line;

start_point;ug_line_03:end_point:;

end_point;ug_line_3:start_point:;

Suppress?;FALSE;

Color;2;

Layer;1;

};

# пятка

(Child) ug_line_3: { Class; ug_line;

start_point;Point(0,S:+RR:,0);

end_point;Point(0,0,0);

Suppress?;FALSE;

Color;2;

Layer;1;

};

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


О, знакомая программа - тож когда то с неё начинал освоение KF.

Можно сказать, на ней же и закончил...

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

Очень содержательный комментарий :)

насколько мне известно, написано приложение сотрудником сименс, кое что допиливалось потом на ИАЗе под конкретные нужды.

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

Можете прислать начало кода и подробно расписать процесс создания.

Что-то мне подсказывает проблема в задающих параметрах

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

Простите, долго не заходил на форум, так как уже не ожидал каких либо ответов.

Вообще эта программа состоит из нескольких dfa-файлов, могу скинуть в архиве всю программку на файло-обменник или на почту.

вдруг она Вам пригодится. Жду мыло в личку или другие предложения.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • ДОБРЯК
      В уравнении задачи на собственные числа только две матрицы - жесткости и масс. Надеюсь мы не будем обсуждать вопрос. Зависит ли матрица масс от правой части (от нагрузки)? От нагрузки зависит только жесткость. Кстати от температуры тоже зависит нагрузка. И естественно собственные частоты. Если на поверхностном уровне, то надо учитывать гироскопические силы и силы Кориолиса. Насколько эти силы влияют на собственные частоты зависит от конструкции и частоты вращения. Для гидро турбин это вообще ни о чем. Речь идет только про расчеты по МКЭ. Может быть какие то еще силы влияют на жесткость. Нужно глубже разбираться. Но все эти силы одного порядка... Надо смотреть документацию к программе, а если документации нет, то это черный ящик.   
    • taarok
      Комрады, всех с майскими праздниками. Кто нибудь может поделиться постом для fanuc oi-mf Solidcam. Taarok.d@yandex.ru заранее благодарен, быстрых вам подач и хороших фрез))    
    • Tad
      Это предупреждение о необходимости очередного техобслуживания машины. После его выполнения надо проделать некоторые манипуляции, как описано в приложенном документе   2010 0i pc AL2004 .pdf
    • Fedor
      https://www.mathnet.ru/links/70adc00f76e7f355f5e14569f99dd8dc/tm1745.pdf#:~:text=Под полной обобщенной проблемой собственных,из собственных векторов относительно 5.   Хотите посложнее читайте классику по обобщенной проблеме ... :)
    • Jesse
      а что такое этот corioliss в Ansys? что делает эта опция?
    • Борман
      А ну вот как раз вспоминаю про гироскопический момент, как интеграл сил инерции, действующих на смещенное колесо. И вот тут как раз появляется зависимость от направления вращения. В одном случае этот момент будет выворачивать колесо наружу, а в другом пытаться вернуть колесо ближе к оси. Но это эффект следующего порядка, и prestress-модальник его не схватывает. А сиса как-то сама умеет это учитывать, отсюда будут и разные частоты. Много на эту тему почерпнул (для себя) из книги Жирицкого, на которую ссылался в теме по вашей ссылке. Эту тему я забросил в начале 2008 года и больше не касался ее.
    • rocket
      Добрый день, у нас 4 осевой станок Syntec 6MB с поворотной головой вокруг оси Y, покупали б/у и приехал еще с поворотной осью А подключенный но не видящий ось А. В итоге помогло поменять в параметрах в разделе/index 10 поменять на 2 и в index 24 где ось B поменять 4 на 0 а в index 25  поменять с 0 на 4 (чтобы он читал с 4 порта) если посмотреть как идет подключение, то от этого зависят цифры 
    • maxx2000
      Спасибо КЭП, но в ярлыке ничего прописывать не надо, достаточно создать новый ярлык. Вопрос был про вызов справки из приложения. Впрочем, перезагрузка ПК устранило это досадное недоразумение.
    • Maxmore
      Согласен полностью, через всё это пришлось пройти. От себя добавлю что у нас 400ый не PRO а обычный - его еще больше пришлось доводить до рабочего состояния, так как их производят разные заводы. с ITX508MY еще все более печально было - проблемы на пусконаладке, затем замена прокладок, затем пусконаладка уже с участием китайца...в общем да, помучаться пришлось. С большего оборудование рабочее, свои функции выполняет. Фануковские посты можно доработать до HNC без особых проблем.
    • Fedor
      Для любой размерности можно решать полином этой размерности. Такова сущность вопроса существования, а не конкретное явление вычисления. Дух, а не буква :)
×
×
  • Создать...