Hello Guys
Please tell me how to copy uniformly distributed loads, I try using Clone Element and Element Curve nodes, but I get errors?
Hello Guys
Please tell me how to copy uniformly distributed loads, I try using Clone Element and Element Curve nodes, but I get errors?
As per my understanding we need analytical host element to apply the loads. May be you should try API method to create a new area load.
Hi @Foxman
You can use setloop method to assign new area to your load if its not constrained.
import clr
clr.AddReference("RevitAPI")
clr.AddReference("RevitAPIUI")
clr.AddReference("RhinoInside.Revit")
clr.AddReference("System")
from RhinoInside.Revit import Revit
from RhinoInside.Revit.Convert.Geometry import GeometryEncoder
from Autodesk.Revit import DB
from System.Collections.Generic import List
# Inputs from Grasshopper
area_load = AreaLoadElement # AreaLoad element (from Graphical Element)
rhino_curves = RhinoCurves # List of Rhino.Geometry.Curve objects
doc = Revit.ActiveDBDocument
t = DB.Transaction(doc, "Set Area Load Loops")
t.Start()
try:
curve_loop = DB.CurveLoop()
for rh_crv in rhino_curves:
revit_curve = GeometryEncoder.ToCurve(rh_crv)
curve_loop.Append(revit_curve)
curve_loops = List[DB.CurveLoop]()
curve_loops.Add(curve_loop)
success = area_load.SetLoops(doc, curve_loops)
t.Commit()
except Exception as e:
t.RollBack()
result.append(f"Error: {str(e)}")
If you have defined your base area load using the Boundary option, you can use the following workflow to copy the load and assigned it to the new boundary.