def makeRebar(baseobj,sketch,diameter=None,amount=1,offset=None,name="Rebar"): """makeRebar(baseobj,sketch,[diameter,amount,offset,name]): adds a Reinforcement Bar object to the given structural object, using the given sketch as profile.""" p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) obj.Label = translate("Arch",name) _Rebar(obj) if FreeCAD.GuiUp: _ViewProviderRebar(obj.ViewObject) if hasattr(sketch,"Support"): if sketch.Support: if isinstance(sketch.Support,tuple): if sketch.Support[0] == baseobj: sketch.Support = None elif sketch.Support == baseobj: sketch.Support = None obj.Base = sketch if FreeCAD.GuiUp: sketch.ViewObject.hide() a = baseobj.Armatures a.append(obj) baseobj.Armatures = a if diameter: obj.Diameter = diameter else: obj.Diameter = p.GetFloat("RebarDiameter",6) obj.Amount = amount if offset: obj.OffsetStart = offset obj.OffsetEnd = offset else: obj.OffsetStart = p.GetFloat("RebarOffset",30) obj.OffsetEnd = p.GetFloat("RebarOffset",30) ArchCommands.fixDAG(obj) return obj
def makeRebar(baseobj=None,sketch=None,diameter=None,amount=1,offset=None,name="Rebar"): """makeRebar([baseobj,sketch,diameter,amount,offset,name]): adds a Reinforcement Bar object to the given structural object, using the given sketch as profile.""" p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) obj.Label = translate("Arch",name) _Rebar(obj) if FreeCAD.GuiUp: _ViewProviderRebar(obj.ViewObject) if baseobj and sketch: if hasattr(sketch,"Support"): if sketch.Support: if isinstance(sketch.Support,tuple): if sketch.Support[0] == baseobj: sketch.Support = None elif sketch.Support == baseobj: sketch.Support = None obj.Base = sketch if FreeCAD.GuiUp: sketch.ViewObject.hide() obj.Host = baseobj if diameter: obj.Diameter = diameter else: obj.Diameter = p.GetFloat("RebarDiameter",6) obj.Amount = amount obj.Document.recompute() if offset: obj.OffsetStart = offset obj.OffsetEnd = offset else: obj.OffsetStart = p.GetFloat("RebarOffset",30) obj.OffsetEnd = p.GetFloat("RebarOffset",30) ArchCommands.fixDAG(obj) return obj