Arch Profile: Difference between revisions

From FreeCAD Documentation
mNo edit summary
 
(12 intermediate revisions by 6 users not shown)
Line 2: Line 2:
<translate>
<translate>


<!--T:25-->
{{Docnav
|[[Arch_Truss|Truss]]
|[[Arch_CompSetMaterial|CompSetMaterial]]
|[[Arch_Workbench|Arch]]
|IconL=Arch_Truss.svg
|IconR=Arch_CompSetMaterial.png
|IconC=Workbench_Arch.svg
}}

<!--T:1-->
{{GuiCommand
{{GuiCommand
|Name=Arch Profile
|Name=Arch Profile
|Workbenches=[[Arch Module|Arch]]
|MenuLocation=Arch → Profile
|MenuLocation=Arch → Profile
|Workbenches=[[Arch_Workbench|Arch]]
|Version=0.19
|Version=0.19
}}
}}


==Description==
==Description== <!--T:2-->


<!--T:3-->
The Profile tool builds a parametric 2D profile object. This object can then be used as a base in different other tools that perform extrusions, such as [[Arch Frame]], [[Arch CurtainWall]] or [[Part Extrude]].
The Profile tool builds a parametric 2D profile object. This object can then be used as a base in different other tools that perform extrusions, such as [[Arch Frame|Arch Frame]], [[Arch CurtainWall|Arch CurtainWall]] or [[Part Extrude|Part Extrude]].


<!--T:4-->
See the [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Arch/Presets/profiles.csv list of available presets].
See the [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Arch/Presets/profiles.csv list of available presets].


<!--T:5-->
The profile tool is also integrated to the [[Arch Structure]] tool, all preset profiles are also available there.
The profile tool is also integrated to the [[Arch Structure|Arch Structure]] tool, all preset profiles are also available there.


==Usage==
==Usage== <!--T:6-->


<!--T:7-->
# Press the {{Button|[[Image:Arch Profile.svg|16px]] [[Arch Profile]]}} button
# Press the {{Button|[[Image:Arch Profile.svg|16px]] [[Arch Profile|Arch Profile]]}} button
# Select a preset in the tool task panel
# Select a preset in the tool task panel
# Click a point in the 3D view to place the profile
# Click a point in the 3D view to place the profile


==Properties==
==Properties== <!--T:8-->


=== Data ===
=== Data === <!--T:9-->


<!--T:10-->
* {{PropertyData|Height}}: The overall height of the profile
* {{PropertyData|Height}}: The overall height of the profile
* {{PropertyData|Width}}: The overall width of the profile
* {{PropertyData|Width}}: The overall width of the profile
Line 34: Line 50:
* {{PropertyData|Flange Thickness}}: The thickness of the profile flange (H and I profiles only)
* {{PropertyData|Flange Thickness}}: The thickness of the profile flange (H and I profiles only)


==Adding custom profiles==
==Adding custom profiles== <!--T:11-->


<!--T:12-->
An additional csv file can be created by the user, containing custom profile definitions. It must be named profiles.csv, and placed in $FREECAD_USER_DIR/Mod/Arch. Use your FreeCAD user folder in place of $FREECAD_USER_DIR. Your FreeCAD user folder location can be obtained by typing in the FreeCAD Python console:
An additional CSV file can be created by the user, containing custom profile definitions. It must be named {{incode|profiles.csv}}, and placed in
</translate>
{{Code|lang=bash|code=
$FREECAD_USER_DIR/Arch/
}}
<translate>


<!--T:13-->
FreeCAD.getUserAppDataDir()
The {{incode|$FREECAD_USER_DIR}} can be obtained from the [[Python_console|Python console]]:
</translate>
{{Code|lang=bash|code=
FreeCAD.getUserAppDataDir()
}}
<translate>


<!--T:14-->
The contents of your custom profiles.csv file must be modeled upon the same rules as the [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Arch/Presets/profiles.csv built-in profiles.csv file]:
The contents of your custom {{incode|profiles.csv}} file must be modeled upon the same rules as the [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Arch/Presets/profiles.csv profiles.csv] in the source code.


<!--T:15-->
The CSV file must contain one line per available profile, formatted as follows:
The CSV file must contain one line per available profile, formatted as follows:


<!--T:16-->
* For C profiles: Category, Name, Class, Diameter, Thickness
* For C profiles: Category, Name, Class, Diameter, Thickness
* For H and U profiles: Category, Name, Class, Width, Height, Web thickness, Flange thickness
* For H, U and T profiles: Category, Name, Class, Width, Height, Web thickness, Flange thickness
* For L profiles: Category, Name, Class, Width, Height, Thickness
* For R profiles: Category, Name, Class, Width, Height
* For R profiles: Category, Name, Class, Width, Height
* For RH profiles: Category, Name, Class, Width, Height, Thickness
* For RH profiles: Category, Name, Class, Width, Height, Thickness


<!--T:17-->
All measures must be in millimeters. Possible profile classes are:
All measures must be in millimeters. Possible profile classes are:


<!--T:18-->
* C: Circular tube
* C: Circular tube
* H: H- or I-profile
* R: Rectangular
* H: H or I profile
* R: Rectangular
* RH: Rectangular hollow
* RH: Rectangular hollow
* U: U-profile
* U: U profile
* L: L profile
* T: T profile


<!--T:19-->
Additional profile types can be created, but a corresponding class must be created in [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Arch/ArchProfile.py ArchProfile.py]
Additional profile types can be created, but a corresponding class must first be defined in [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Arch/ArchProfile.py ArchProfile.py].


==Scripting==
==Scripting== <!--T:20-->


<!--T:21-->
The Profile tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:
The Profile tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:


Line 69: Line 107:
<translate>
<translate>


<!--T:22-->
Where profile_list contains the different elements of a list in the csv file.
Where profile_list contains the different elements of a list in the CSV file.


<!--T:23-->
Example:
Example:


Line 76: Line 116:
{{Code|code=
{{Code|code=
import Arch
import Arch
Arch.makeProfile([0,'REC','REC100x100','R',100,100])
Arch.makeProfile([0, 'REC', 'REC100x100', 'R', 100, 100])
}}
}}
<translate>
<translate>


<!--T:24-->
Where the first element of the list is an order number that is not used yet.
Where the first element of the list is an order number that is not used yet.


<!--T:26-->
{{Docnav
|[[Arch_Truss|Truss]]
|[[Arch_CompSetMaterial|CompSetMaterial]]
|[[Arch_Workbench|Arch]]
|IconL=Arch_Truss.svg
|IconR=Arch_CompSetMaterial.png
|IconC=Workbench_Arch.svg
}}


</translate>
</translate>

Latest revision as of 19:44, 29 July 2022

Arch Profile

Menu location
Arch → Profile
Workbenches
Arch
Default shortcut
None
Introduced in version
0.19
See also
None

Description

The Profile tool builds a parametric 2D profile object. This object can then be used as a base in different other tools that perform extrusions, such as Arch Frame, Arch CurtainWall or Part Extrude.

See the list of available presets.

The profile tool is also integrated to the Arch Structure tool, all preset profiles are also available there.

Usage

  1. Press the Arch Profile button
  2. Select a preset in the tool task panel
  3. Click a point in the 3D view to place the profile

Properties

Data

  • DataHeight: The overall height of the profile
  • DataWidth: The overall width of the profile
  • DataDiameter: The diameter of the profile (circular profiles only)
  • DataThickness: The thickness of the tube wall (circular and rectangular hollow profiles only)
  • DataWeb Thickness: The thickness of the profile web (H and I profiles only)
  • DataFlange Thickness: The thickness of the profile flange (H and I profiles only)

Adding custom profiles

An additional CSV file can be created by the user, containing custom profile definitions. It must be named profiles.csv, and placed in

$FREECAD_USER_DIR/Arch/

The $FREECAD_USER_DIR can be obtained from the Python console:

FreeCAD.getUserAppDataDir()

The contents of your custom profiles.csv file must be modeled upon the same rules as the profiles.csv in the source code.

The CSV file must contain one line per available profile, formatted as follows:

  • For C profiles: Category, Name, Class, Diameter, Thickness
  • For H, U and T profiles: Category, Name, Class, Width, Height, Web thickness, Flange thickness
  • For L profiles: Category, Name, Class, Width, Height, Thickness
  • For R profiles: Category, Name, Class, Width, Height
  • For RH profiles: Category, Name, Class, Width, Height, Thickness

All measures must be in millimeters. Possible profile classes are:

  • C: Circular tube
  • H: H or I profile
  • R: Rectangular
  • RH: Rectangular hollow
  • U: U profile
  • L: L profile
  • T: T profile

Additional profile types can be created, but a corresponding class must first be defined in ArchProfile.py.

Scripting

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

profile = makeProfile(profile_list)

Where profile_list contains the different elements of a list in the CSV file.

Example:

import Arch
Arch.makeProfile([0, 'REC', 'REC100x100', 'R', 100, 100])

Where the first element of the list is an order number that is not used yet.