Найти тему
Одна кнопка

Перевернуть КЭ55 с сохранением жесткости

Оглавление

Кажется затея так себе...

Что скрывает КЭ55

Если вы слабо знакомы с КЭ55, то на первый взгляд это простая пружинка и проще ничего быть не может, но если в расчетной схеме элемент используется для моделирования стыков под разными углами и в разных направлениях то могут возникнуть проблемы.

Значение в элементе зависит от выбора системы координат для него. Если элемент имеет местную систему координат, то знаки и значения усилий в пружинках вы получите относительно местных осей элемента. И если элемент повернут в пространстве, то для вычисления вертикальных или горизонтальных реакций вдоль глобальных осей следует делить значение усилия в элементе на cos угла наклона, что не очень удобно. То есть пользоваться цветовой шкалой SCAD++ для оценки не получится напрямую, так как проекционное значение будет зависеть от угла наклона пружины. А чаще всего нас интересует именно проекционное значение (например напряжение в растворном шве панельного здания, где шов смоделирован рядом КЭ55)

При выборе глобальной системы координат КЭ55 вы получите на шкалах истинные значения в проекциях по глобальным осям, но знак усилия в элементах будет зависеть от значения перемещения между 1 и 2 узлом в глобальных осях.

Чтобы стало понятно о чем речь я создал расчетную схему с 2 пружинами КЭ55. Левая пружина нарисована снизу вверх. То есть нижний узел 1, а верхний 2-ой. Правая пружина нарисована сверху вниз. На обе пружины задана одинаковая вертикальная нагрузка 1т. Обе пружины находятся в глобальной системе осей (к ним не применена местная система координат).

Усилия в КЭ55
Усилия в КЭ55

Получили при одинаковой вертикальной нагрузке 1т. Левом элементе знак плюс, а в правом элементе знак минус. Но мы же пониманием, что знак будет одинаковым и обе пружины будут сжаты.

Это происходит из-за правила знаков SCAD++ для этих элементов. Которое отображает знак в зависимости перемещения 2го узла относительно первого вдоль оси глобальной системы координат.

Это правило знаков начинает работать только если к пружинам не применена местная система координат

Как с этим дружить?

В нашем случае пружин очень много (моделирование растворных швов) и отслеживать вручную каждую пружину (тысячи пружинок) не представляется возможным. Какие-то фрагменты расчетной схемы могут переносится импортом dxf, копированием, разворотом и.т.д. Поэтому гарантии того, что каждый КЭ55 прорисован снизу вверх нет никакой.

Эту гарантию нам и даст JScript for SCAD++

Нужно заметить, что жесткости пружин в нашей задачи тоже разные. Так как жесткость зависит от грузовой площади опирающегося на пружинку пластинчатого КЭ.

Гладко было на бумаге

На самом деле оврагов никаких нет и все произойдет в пару строк кода, но все равно нужно описать алгоритм.

1. Получаем список КЭ55
2. Обращаемся к каждому элементу запрашивая у него координаты узла.
3. Если координата 2-го узла меньше координаты первого узла то:
а) Запоминаем жесткость и номера узлов
б) Удаляем элемент
в) Рисуем элемент правильно (в нужной последовательности и с жесткостью которую запомнили)

К самому коду

Тут постарался закомментировать в листинге все что описал выше, поэтому проблем думаю не будет.

Листинг функции Plugin_Execute
Листинг функции Plugin_Execute

Скачать программу можно по ссылке