Arch Roof/ru: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(5 intermediate revisions by 2 users not shown)
Line 29: Line 29:
{{Caption|View from above a building model showing the roof with certain transparency}}
{{Caption|View from above a building model showing the roof with certain transparency}}


<span id="Usage"></span>
<span id="Usage_(wire_base)"></span>
<div class="mw-translate-fuzzy">
==Применение==
==Применение==
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 49: Line 51:
# {{Emphasis|Примечание}}: для лучшего понимания, пожалуйста, посмотрите это [https://www.youtube.com/watch?v=4Urwru71dVk youtube видеоролик].
# {{Emphasis|Примечание}}: для лучшего понимания, пожалуйста, посмотрите это [https://www.youtube.com/watch?v=4Urwru71dVk youtube видеоролик].
</div>
</div>

==Usage (solid base)==

If your roof has a complex shape (e.g. contains pitched windows or other non-standard features) you can create a custom solid object using various other FreeCAD workbenches ([[Part_Workbench|Part]], [[Sketcher_Workbench|Sketcher]] etc.). And then use this solid as the {{PropertyData|Base}} object of your roof:

# Select the solid base object.
# Press the {{Button|[[Image:Arch_Roof.svg|16px]] [[Arch Roof|Arch Roof]]}} button, or press {{KEY|R}} then {{KEY|F}} keys.

==Subtracting a roof==

Roofs have an automatically generated subtraction volume ({{Version|1.0}} for roofs with a solid base). When a roof is [[Arch_Remove|removed]] from the walls of a building, both the roof itself as well as everything above it is subtracted from the walls.

{{Version|1.0}}: It is possible to override the automatic subtraction volume by setting the {{PropertyData|Subvolume}} property of the roof to a custom solid object.

[[File:Arch_Roof_Subtract_Default.png|x150px]] [[File:Arch_Roof_Subtract_Subvolume.png|x150px]] [[File:Arch_Roof_Subvolume_Example.png|x150px]]
{{Caption|Solid-based roof before (1st image) and after (2nd image) [[Arch_Remove|removing]] it from walls.<br>
The 3rd image shows the generated subtraction volume.}}


<span id="Options"></span>
<span id="Options"></span>
==Опции==
==Опции==


<div class="mw-translate-fuzzy">
* Крыши обладают таким же свойствами и моделью поведения, как и все остальные [[Arch_Component/ru|компоненты верстака Arch]]
* Крыши обладают таким же свойствами и моделью поведения, как и все остальные [[Arch_Component/ru|компоненты верстака Arch]]
</div>


<span id="Properties"></span>
<span id="Properties"></span>
==Свойства==
==Свойства==


===Data===

{{TitleProperty|Roof}}

<div class="mw-translate-fuzzy">
* {{PropertyData|Angles (Углы)}}: Список содержащий углы наклона крыши, для каждой её грани.
* {{PropertyData|Angles (Углы)}}: Список содержащий углы наклона крыши, для каждой её грани.
* {{PropertyData|Runs ()}}: Список содержащий расстояние от центра крыши до свеса, для каждой грани крыши.
* {{PropertyData|Runs ()}}: Список содержащий расстояние от центра крыши до свеса, для каждой грани крыши.
Line 64: Line 90:
* {{PropertyData|Overhang (Свесы)}}: Список содержащий длины свесов крыши, для каждой её грани.
* {{PropertyData|Overhang (Свесы)}}: Список содержащий длины свесов крыши, для каждой её грани.
* {{PropertyData|Face (Грань)}}: Индекс грани базового объекта (не используется).
* {{PropertyData|Face (Грань)}}: Индекс грани базового объекта (не используется).
</div>


==Scripting==

<div class="mw-translate-fuzzy">
==Программирование==
==Программирование==
{{Emphasis|См. так же:}} [[Arch API/ru|Arch API]] и [[FreeCAD Scripting Basics/ru|Основы составления скриптов FreeCAD]].
{{Emphasis|См. так же:}} [[Arch API/ru|Arch API]] и [[FreeCAD Scripting Basics/ru|Основы составления скриптов FreeCAD]].
</div>

The Roof tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by using the following function:


The Roof tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
{{Code|code=
{{Code|code=
Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")

Latest revision as of 09:47, 21 April 2024

Крыша

Системное название
Arch_Roof
Расположение в меню
Архитектура → Крыша
Верстаки
Arch
Быстрые клавиши
R F
Представлено в версии
-
См. также
Структура, Стена

Описание

The Arch Roof tool allows for the creation of a sloped roof from a selected wire. The created roof object is parametric, keeping its relationship with the base object. The principle is that each edge is seen allotting a profile of roof (slope, width, overhang, thickness).

Note: This tool is still in development, and might fail with very complex shapes.

View from above a building model showing the roof with certain transparency

Применение

  1. Создайте замкнутый контур с помощью инструмента Wire с направлением построения против часовой стрелки и выберите его.
  2. Нажмите кнопку Крыша, или клавишу клавиатуры R затем F
  3. Крыша созданная изначально может иметь странную форму, это связанно с тем, что параметры граней созданной крыши, пока что ещё не настроены.
  4. После создания крыши по умолчанию дважды щелкните по объекту в древе проекта для доступа к редактированию свойств. Угол крыши должен быть между 0 и 90.
  5. Каждая строка соответствует одной из панелей крыши. Таким образом, вы можете установить нужные свойства для каждой панели крыши.
  6. Чтобы помочь себе, вы можете установить Angle (Угол) или Run в 0 и определить Relative Id, что приведет к автоматическому расчету, чтобы найти данные относительно Relative Id.
  7. Это работает следующим образом:
    1. Если Angle (Угол) = 0 и Run = 0 тогда профиль идентичен относительному профилю.
    2. Если Angle (Угол) = 0 тогда Angle (Угол) рассчитывается таким образом, чтобы высота была такой же, как и относительный профиль.
    3. Если Run = 0 тогда Run рассчитывается таким образом, чтобы высота была такой же, как и относительный профиль.
  8. Наконец, установите Angle (Угол) на 90°, чтобы сделать фронтон.
  9. Примечание: для лучшего понимания, пожалуйста, посмотрите это youtube видеоролик.

Usage (solid base)

If your roof has a complex shape (e.g. contains pitched windows or other non-standard features) you can create a custom solid object using various other FreeCAD workbenches (Part, Sketcher etc.). And then use this solid as the ДанныеBase object of your roof:

  1. Select the solid base object.
  2. Press the Arch Roof button, or press R then F keys.

Subtracting a roof

Roofs have an automatically generated subtraction volume (introduced in version 1.0 for roofs with a solid base). When a roof is removed from the walls of a building, both the roof itself as well as everything above it is subtracted from the walls.

introduced in version 1.0: It is possible to override the automatic subtraction volume by setting the ДанныеSubvolume property of the roof to a custom solid object.

Solid-based roof before (1st image) and after (2nd image) removing it from walls.
The 3rd image shows the generated subtraction volume.

Опции

Свойства

Data

Roof

  • ДанныеAngles (Углы): Список содержащий углы наклона крыши, для каждой её грани.
  • ДанныеRuns (): Список содержащий расстояние от центра крыши до свеса, для каждой грани крыши.
  • ДанныеIdRel: Список содержащий идентификаторы, для каждой грани крыши.
  • ДанныеThickness (Толщины): Список содержащий толщины крыши, для каждой её грани.
  • ДанныеOverhang (Свесы): Список содержащий длины свесов крыши, для каждой её грани.
  • ДанныеFace (Грань): Индекс грани базового объекта (не используется).

Scripting

Программирование

См. так же: Arch API и Основы составления скриптов FreeCAD.

The Roof tool can be used in macros and from the Python console by using the following function:

Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
  • Creates a Roof object from the given baseobj, which can be a closed wire or a solid object.
    • If baseobj is a wire, you can provide lists for angles, run, idrel, thickness, and overhang, for each edge in the wire to define the shape of the roof.
    • The lists are automatically completed to match the number of edges in the wire.

Пример:

import FreeCAD as App
import Arch, Draft

doc = App.newDocument()

rect = Draft.makeRectangle(3000, 4000)
doc.recompute()

roof = Arch.makeRoof(rect, angles=[30.,])

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(0, 2000, 0)

wire = Draft.make_wire([p1, p2, p3], closed=True)
doc.recompute()

roof1 = Arch.makeRoof(wire)

doc.recompute()