Arch Rebar BOM

Description
The Bill Of Material tool allows the user to create bill of material of reinforcing bars.

This command is part of the Reinforcement Addon, that you can install with the Addon Manager via the menu.



Usage
1. Select objects you want to include in Bill Of Material. Or select objects to include  objects hosted by that into Bill Of Material. If nothing is selected, then Bill Of Material will be generated for all and Rebar2 objects present in model.

2. Then select from the rebar tools.

3. A dialog box will pop-out on screen as shown below.



4. Modify data to suit your requirements.

5. To edit SVG configurations, click on. A dialog box will pop-out as shown below.



6. Modify SVG configurations and then click on  to apply changes.

7. Click or  to generate Bill Of Material for rebars.

8. Click to exit the dialog box.

Properties
General:
 * : A dictionary with column_data as key and tuple (column_display_header, column_sequence) as value.
 * : A dictionary with keys: "Diameter", "RebarLength", "RebarsTotalLength" and their corresponding units as value.
 * : A dictionary with diameter as key and corresponding weight as value.
 * : Rebar Length Type specifies the type of rebar length used for BOM calculations i.e. "RealLength" or "LengthWithSharpEdges".
 * : A list of ArchRebar and/or rebar2 and/or structures (to select ArchRebar in that structure) objects.

SVG:
 * : Font Family of text in BOM SVG.
 * : Font filename corresponding to font family required in console mode.
 * : Font size in mm.
 * : Width of each column in BOM SVG table.
 * : Height of each row in BOM SVG table.
 * : Left offset of BOM SVG table.
 * : Top offset of BOM SVG table.
 * : Minimum right offset of BOM SVG table.
 * : Minimum bottom offset of BOM SVG table.
 * : Maximum width of BOM SVG table.
 * : Maximum height of BOM SVG table.
 * : Template svg file for BOM SVG.
 * : BOM SVG Output file.

Scripting
Arch API, Reinforcement API and FreeCAD Scripting Basics.

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

Create Bill Of Material Spreadsheet
Example: { "Mark": ("Mark", 1), "RebarsCount": ("No. of Rebars", 2), "Diameter": ("Diameter in mm", 3), "RebarLength": ("Length in m/piece", 4), "RebarsTotalLength": ("Total Length in m", 5), }            set column sequence number to 0 to hide column. Example: { "Diameter": "mm", "RebarLength": "m", "RebarsTotalLength": "m", }   Syntax: { 6: FreeCAD.Units.Quantity("0.222 kg/m"), 8: FreeCAD.Units.Quantity("0.395 kg/m"), 10: FreeCAD.Units.Quantity("0.617 kg/m"), 12: FreeCAD.Units.Quantity("0.888 kg/m"), ...,            }
 * Creates a spreadsheet object for given.
 * If list is empty, then  spreadsheet will be created all rebars in a model.
 * is a dictionary with keys: "Mark", "RebarsCount", "Diameter", "RebarLength", "RebarsTotalLength" and values are tuple of column_header and their sequence number.
 * is a dictionary with keys: "Diameter", "RebarLength", "RebarsTotalLength" and their corresponding units as value.
 * is a dictionary with diameter as key and corresponding weight as value.
 * specifies the type of rebar length used for BOM calculations; it can be "RealLength" or "LengthWithSharpEdges".
 * is a list of ArchRebar and/or rebar2 and/or structures (to select ArchRebar in that structure) objects.