shurik5b
размещено: 03 Марта 2009
обновлено: 07 Апреля 2009
SCADFace.
LSP-программа преобразования прямоугольников и треугольников, образованных линиями (LINE), в поверхности (3DFACE), вершины которых находятся в пересечениях прямых. Используется для подготовки данных для расчета плит в SCAD'е.
Программа не берет во внимание Z-координату (плоская плита).
Для запуска программы:
1) Загрузить SCADFACE.LSP
(в меню AutoCAD: Инструменты/Загрузить приложение)
(предполагается что сеть из линий уже вычерчена)
2) В командной строке набрать SCADFACE
3) Указать базовую точку (используется как относительный 0 для вычисления пересечения прямых)
4) Указать точку вставки (базовая точка для вычерчивания поверхностей)
5) Выбрать линии
6) Результаты экспортировать в DXF для передачи в SCAD.
***
07.04.09
Исправлен баг, найденый raduntsev-nias. Баг касается преобразования UCS-WCS (точнее преобразования не было). Пришлось поменять интерфейс - теперь сначала выделяете объекты, потом указываете базовую точку и точку вставки.
+ убрал округление координат пересечений в связи с замечаниями Carl'а.
PS: Спасибо, raduntsev-nias!
0.1 МБ
СКАЧАТЬ
Комментарии
Авторизоваться
Фактически местные оси элемента при этом не поворачиваются, а изменяется направление выдачи усилий. Т.е. напряжения Mx, My, Nx, Ny, ..., и армирование As1, As2, ... будут вычисляться по этому и перпендикулярному направлению.
Я сразу после импорта DXF в SCAD переназначаю направления выдачи усилий вдоль предполагаемого направления расположения арматуры.
PS: надо быть внимательным при назначении направлений выдачи усилий для элементов, расположенных в разных плоскостях.
Например, если при задании направления выдачи усилий = X для плиты перекрытия выбрать еще и диафрагму, расположенную в плоскости YOZ, направление выдачи усилий будет перпендикулярно плоскости диафрагмы - получается фигня.
Еще раз спасибо, буду разбираться применяя ваши рекомендации.
Если использовать данную функцию для неплоских пространственных стержневых структур, то узлы генерируемых оболочек создаются в точках проекций узлов стержней на общую плоскость.
Далее можно написать простую функцию, которая заменяет Z-координаты узлов оболочек на Z-координаты стержней при совпадении их координат X и Y. Координаты узлов можно будет получить, например, из текстового файла конечно-элементной модели. Дополнительная функция позволит "обтягивать" оболочками в том числе пространственные стержневые конструкции с произвольной геометрией.
1:
(vla-startundomark (vla-get-activedocument(vlax-get-acad-object)))
2:
(vla-endundomark (vla-get-activedocument(vlax-get-acad-object)))
В итоге:
(defun c:scadface ()
(setq sf2_line (ssget '((0 . "LINE"))))
(vla-startundomark (vla-get-activedocument(vlax-get-acad-object))); начало отката
(if (not (null sf2_line))
(progn
(sf2_ssline)
(sf2_intrs)
(sf2_sortnodeline)
(sf2_delline1node 1)
(sf2_simpleline)
(sf2_dublline)
(sf2_delline1node 2)
(sf2_rotateatnode)
(sf2_continsline)
(sf2_sortface)
(sf2_drawface)
(command "_ucs" "_r" "scadfacetemp")
(command "_ucs" "_d" "scadfacetemp")))
(vla-endundomark (vla-get-activedocument(vlax-get-acad-object))); конец отката
nil
)
, разбиваю грунтовый массив на КЭ, сначала применяю команду -breakall,затем команду
-scadface, так вот в итоге в сетке образуются кое-где дырки, не могу понять от чего.
Когда в этих местах заново прорисовываю линии, проблема решается, но это очень долго, дырок немало. Я так предполагаю это какая-то проблема с сеткой, скорее всего при применении команды -breakall. Подскажите, в чем может быть проблема?