270 def editBentShapeRebar(Rebar, f_cover, b_cover, l_cover, r_cover, diameter, t_cover, bentLength, bentAngle, rounding, amount_spacing_check, amount_spacing_value, orientation, structure = None, facename = None):
272 if structure
and facename:
273 sketch.Support = [(structure, facename)]
275 if not sketch.Support:
276 showWarning(
"You have checked remove external geometry of base sketchs when needed.\nTo unchecked Edit->Preferences->Arch.")
279 facename = sketch.Support[0][1][0]
280 structure = sketch.Support[0][0]
287 sketch.movePoint(0, 1, points[0], 0)
288 FreeCAD.ActiveDocument.recompute()
289 sketch.movePoint(0, 2, points[1], 0)
290 FreeCAD.ActiveDocument.recompute()
291 sketch.movePoint(1, 1, points[1], 0)
292 FreeCAD.ActiveDocument.recompute()
293 sketch.movePoint(1, 2, points[2], 0)
294 FreeCAD.ActiveDocument.recompute()
296 sketch.movePoint(2, 1, points[2], 0)
297 FreeCAD.ActiveDocument.recompute()
298 sketch.movePoint(2, 2, points[3], 0)
299 FreeCAD.ActiveDocument.recompute()
300 sketch.movePoint(3, 1, points[3], 0)
301 FreeCAD.ActiveDocument.recompute()
302 sketch.movePoint(3, 2, points[4], 0)
303 FreeCAD.ActiveDocument.recompute()
305 sketch.movePoint(4, 1, points[4], 0)
306 FreeCAD.ActiveDocument.recompute()
307 sketch.movePoint(4, 2, points[5], 0)
308 FreeCAD.ActiveDocument.recompute()
310 Rebar.OffsetStart = f_cover
311 Rebar.OffsetEnd = f_cover
312 if amount_spacing_check:
313 Rebar.Amount = amount_spacing_value
314 FreeCAD.ActiveDocument.recompute()
315 Rebar.AmountCheck =
True 317 size = (ArchCommands.projectToVector(structure.Shape.copy(), face.normalAt(0, 0))).Length
318 Rebar.Amount = int((size - diameter) / amount_spacing_value)
319 FreeCAD.ActiveDocument.recompute()
320 Rebar.AmountCheck =
False 321 Rebar.Diameter = diameter
322 Rebar.FrontCover = f_cover
323 Rebar.LeftCover = l_cover
324 Rebar.RightCover = r_cover
325 Rebar.BottomCover = b_cover
326 Rebar.TopCover = t_cover
327 Rebar.BentLength = bentLength
328 Rebar.BentAngle = bentAngle
329 Rebar.Rounding = rounding
330 Rebar.TrueSpacing = amount_spacing_value
331 Rebar.Orientation = orientation
332 FreeCAD.ActiveDocument.recompute()
def getpointsOfBentShapeRebar(FacePRM, l_cover, r_cover, b_cover, t_cover, bentLength, bentAngle, orientation)
def editBentShapeRebar(Rebar, f_cover, b_cover, l_cover, r_cover, diameter, t_cover, bentLength, bentAngle, rounding, amount_spacing_check, amount_spacing_value, orientation, structure=None, facename=None)
def getParametersOfFace(structure, facename, sketch=True)