I think weight (tonnage) should be included, since this is how steel is sold.
See https://www.reinforcing-bar.com/technol ... sizes.html for some conversion factors.
Thanks @Bance for reference.Bance wrote: ↑Wed Apr 01, 2020 4:52 pmI think weight (tonnage) should be included, since this is how steel is sold.
See https://www.reinforcing-bar.com/technol ... sizes.html for some conversion factors.
Its done as per commit: https://github.com/SurajDadral/FreeCAD- ... 194be9df15Bance wrote: ↑Wed Apr 01, 2020 4:52 pmI think weight (tonnage) should be included, since this is how steel is sold.
See https://www.reinforcing-bar.com/technol ... sizes.html for some conversion factors.
I also added a new icon for BOM in dropdown menu of Rebar Addon. And code is present in branch "BOM" here: https://github.com/SurajDadral/FreeCAD- ... t/tree/BOM
Yeah.bernd wrote: ↑Thu Apr 02, 2020 8:40 pmBTW: great we gone attrac this rebar cut shape list. The idea dates back into 2017 ... https://forum.freecadweb.org/viewtopic. ... 40#p180645
Implemented above.
I used rebar length with sharp edges.
Implemented above.Suraj Dadral wrote: ↑Sun Apr 05, 2020 1:03 am
I used rebar length with sharp edges.
I think we should implement with both real length and length with sharp edges, And user can choose which one to use.
Code: Select all
def getRebarRealLength(rebar):
base = rebar.Base
# When rebar is drived from DWire or from Sketch
if hasattr(base, "Length") or base.isDerivedFrom("Sketcher::SketchObject"):
wire = base.Shape.Wires[0]
radius = rebar.Rounding * rebar.Diameter.Value
import DraftGeomUtils
fillet_wire = DraftGeomUtils.filletWire(wire, radius)
real_rebar_length = fillet_wire.Length
return FreeCAD.Units.Quantity(str(real_rebar_length) + "mm")
else:
print("Cannot calculate rebar real length from its base object")
return FreeCAD.Units.Quantity("0 mm")