Как преобразовать коллекцию отрезков в анализ методом конечных элементов (FEA) me sh четырехугольных элементов пластины / оболочки? - PullRequest
0 голосов
/ 15 апреля 2020

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

Я пытаюсь создать генератор препроцессора / me sh для программа FEA, которую я написал. Мой Google нашел много информации обо мне sh генераторах, но ничего такого, чего я хочу.

Однако то, что я пытаюсь сделать, немного другое. Я работаю с довольно сложной металлической пластиной с некоторыми пустотами (отверстиями для болтов). Я уже нарисовал (в AutoCAD) me sh, который я хочу использовать, и хочу преобразовать эту коллекцию отрезков в me sh четырехугольных элементов пластина / оболочка. Это 4-сторонние фигуры в 3D, которые определяются (4) трехмерными узлами (с координатами XYZ). Толщина каждого элемента определяется параметром. В то время как автоматы c работают хорошо, я нахожу, что могу создать значительно лучше меня sh вручную без излишних усилий.

Я старался, чтобы в моем треугольнике не было треугольников меня sh и что четырехугольные фигуры имеют приличный аспект крысы ios (менее 3: 1) и что внутренние углы каждой фигуры являются разумными (между 20 и 160 градусами).

Возможно, я не Не выбирайте лучшие поисковые термины, но Google не нашел ничего полезного для этого случая, где у меня уже есть строки, определяющие установленные элементы, и мне просто нужно превратить это в массив определений элементов (т. е. номера узлов, определяющие углы элемента, расположенные против часовой стрелки вокруг элемента). Звучит достаточно просто, но, возможно, немного сложнее, чем кажется на первый взгляд.

Конечно, я могу сделать это с помощью грубого алгоритма грубой силы: 1. взять заданный отрезок и определить все линии, которые соединяются с 2. Конец 2. Возьмите все эти соединительные линии и посмотрите, какие из них соединяются с общей точкой (узлом) с обеих сторон. 3. Если имеется более одного общего узла на дальней стороне, посмотрите, какой из них имеет смысл относительно начальной линии. 4. Сортируйте угловые узлы в направлении против часовой стрелки и 5. повторите для следующего отрезка, проверяя наличие дублирующих элементов.

Но этот предложенный алгоритм кажется неэффективным, не элегантным и просто просто безобразно Конечно, есть что-то лучшее и более прямолинейное.

Мне было интересно, есть ли у кого-нибудь из вас, читателей, предложения по улучшению условий поиска в Google или, возможно, он знает технический документ на эту тему или некоторый исходный код, который может пролить свет на эту грязную проблему. Полагаю, я мог бы легко решить эту проблему, если бы у меня был приличный псевдокод для простого алгоритма.

Заранее спасибо за внимание,

Боб Кайзер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...