Arch Rebar Dimensioning

Please Note: The below work is present in develop branch of Reinforcement workbench here

Description
The Reinforcement Dimensioning tool allows the user to create dimensioning for reinforcing bars in Reinforcement Drawing.

This command is part of the Reinforcement Addon, an external workbench that can be installed with the Addon Manager via the  menu.



Usage
1. Open FreeCAD Model containing reinforcement bars created using Reinforcement Addon.

2. In FreeCAD Python console, copy below code snippet to generate reinforcement drawing and dimensioning from different views for each Arch Structure element.

ReinforcementDimensioning Object
A Rebar Dimensioning SVG View object.

Properties
Example: "%M %C⌀%D,span=%S" Here: %M -> Rebar.Mark %C -> Rebar.Amount %D -> Rebar.Diameter %S -> Rebar span length
 * : The parent ReinforcementDrawingView object containing drawing of Rebar object.
 * : The Rebar object to perform dimensioning.
 * : The WayPoints type of dimension line. It can be "Automatic" (to automatically perform dimensioning of Rebar object) or "Custom" to use to perform dimensioning.
 * : A list of vector points to be used to generate dimension line.
 * : The position type of dimension text. It can be "StartOfLine", "MidOfLine" or "EndOfLine".
 * : The dimension label format.
 * : The font family of dimension label.
 * : The font size of dimension label.
 * : The stroke width of dimension line.
 * : The stroke style of dimension line. It can be "Continuous", "Dash", "Dot", "DashDot" or "DashDotDot".
 * : The color of dimension line.
 * : The color of dimension label.
 * : The start symbol of dimension line. It can be "FilledArrow", "Tick", "Dot" or "None".
 * : The end symbol of dimension line. It can be "FilledArrow", "Tick", "Dot" or "None".
 * : The mid points symbol of dimension line. It can be "Tick", "Dot" or "None".
 * : The left offset for automated reinforcement dimensioning.
 * : The right offset for automated reinforcement dimensioning.
 * : The top offset for automated reinforcement dimensioning.
 * : The bottom offset for automated reinforcement dimensioning.
 * : The dimension line start symbol, in case of single rebar is visible. It can be "FilledArrow", "Tick", "Dot" or "None". It is used only when is set to "Automatic".
 * : The dimension line end symbol, in case of single rebar is visible. It can be "FilledArrow", "Tick", "Dot" or "None". It is used only when is set to "Automatic".
 * : The dimension line start symbol, in case of multiple rebars are visible. It can be "FilledArrow", "Tick", "Dot" or "None". It is used only when is set to "Automatic".
 * : The dimension line end symbol, in case of multiple rebars are visible. It can be "FilledArrow", "Tick", "Dot" or "None". It is used only when is set to "Automatic".
 * : It specifies if dimension lines are to be outside of reinforcement drawing, in case of single rebar is visible. It is used only when is set to "Automatic".
 * : It specifies if dimension lines are to be outside of reinforcement drawing, in case of multiple rebars are visible. It is used only when is set to "Automatic".
 * : It specifies the dimension label position type, in case of single rebar is visible. It can be "StartOfLine", "MidOfLine" or "EndOfLine". It is used only when is set to "Automatic".
 * : It specifies the dimension label position type, in case of multiple rebars are visible. It can be "StartOfLine", "MidOfLine" or "EndOfLine". It is used only when is set to "Automatic".

Scripting
Arch API, Reinforcement API, Reinforcement Drawing and FreeCAD Scripting Basics.

The Reinforcement Dimensioning tool can be used in macros and from the Python console by using the following functions:

Create Reinforcement Dimensioning Object
Example: "%M %C⌀%D,span=%S" Here: %M -> Rebar.Mark %C -> Rebar.Amount %D -> Rebar.Diameter %S -> Rebar span length Format: (r, g, b)   r, g, b value should be between 0 to 1, so you may need to divide value of r, g, b by 255 to get its value between 0 to 1 Make sure r, g, b must be float
 * Creates and return a object for given  object.
 * is the object containing drawing of  object.
 * is the object of type TechDraw::DrawPage used to show.
 * is the format used for dimension label.
 * is the font family of dimension label.
 * is the font size of dimension label.
 * is the stroke-width of dimension line.
 * is the stroke style of dimension line. It can be "Continuous", "Dash", "Dot", "DashDot" or "DashDotDot".
 * is the color of dimension line.
 * is the color of dimension label.
 * is the dimension line start symbol, in case of single rebar is visible. It can be "FilledArrow", "Tick", "Dot" or "None".
 * is the dimension line end symbol, in case of single rebar is visible. It can be "FilledArrow", "Tick", "Dot" or "None".
 * is the dimension line start symbol, in case of multiple rebars are visible. It can be "FilledArrow", "Tick", "Dot" or "None".
 * is the dimension line end symbol, in case of multiple rebars are visible. It can be "FilledArrow", "Tick", "Dot" or "None".
 * is the dimension line mid points symbol. It can be "Tick", "Dot" or "None".
 * is the increment in left offset to move each new dimension label away from drawing.
 * is the increment in right offset to move each new dimension label away from drawing.
 * is the increment in top offset to move each new dimension label away from drawing.
 * is the increment in bottom offset to move each new dimension label away from drawing.
 * specifies if dimension lines are to be outside of reinforcement drawing, in case of single rebar is visible.
 * specifies if dimension lines are to be outside of reinforcement drawing, in case of multiple rebars are visible.
 * specifies the dimension label position type, in case of single rebar is visible. It can be "StartOfLine", "MidOfLine" or "EndOfLine".
 * specifies the dimension label position type, in case of multiple rebars are visible. It can be "StartOfLine", "MidOfLine" or "EndOfLine".