Code: Select all
# DOME params:
DETAILS = int(16) # Количество сторон полигона (min 4; max зависит от мощностей вычислительной системы)
OR = float(2500) # Внешний радиус
H1 = float(1500) # Высота первого этажа (или 0)
LONG = float(2000) # Удлиннение купола (или 0)
THORUS = dict( # Пропорционально отброшенная конструкция (OR становится IR или если оба False, то сразу DOME)
CORNER = bool(True), # Внутренний периметр тора. Внешний ОR становится внутренним IR
DISC = bool(True) # Внешний периметр тора. OR = OR*3
)
# Базовые параметры принципиальной таблицы данных (ROWS * COLS = сумма ячеек):
ROWS = int(DETAILS/4) # Количество строк вращающихся вокруг оси Y (min: 0; max: DETAILS/4)
COLS = int(DETAILS) # Количество столбцов вращающихся вокруг оси Z (min: 0; max: DETAILS)
# Материалы (mm) [ (!!!) работают с модулем domeFCMacro.py (!!!) ]:
MONO = float(50) # Листовой материал; камень; монолитная заливка и т.д.. if MONO > 0: not FRAME
FRAME = tuple((50, 200)) # (Ширина, Высота) бруса, квадратного профиля; (Толщина, Длина) листового материала и т.д.
# Опции сборки (без них (при False) только Root объект для вывода конструкции в продакшн:
EXTEND = bool(True) # Root как сиситема с открытым контуром, если COLS < DETAILS/2 и/или LONG > 0 (Заполняет LONG, COLS etc.)
COMPOUND = bool(True) # Заключительная тригонометрическая сборка (if LONG: COLS <= DETAILS/2)
CLEANUP = bool(True) # Чистка документа перед следующей генерацией (или False)
Генерируется купол рассчитываемый под деревянный брус, трубу, листовой материал... Количество сторон должно делиться на 4 (всё остальное -- экспериментально).
[/video]
Mакрос: https://github.com/ropod7/FreeCAD_World/tree/master