Message 1 of 5
Rebar placement for Generic Model.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Query: I am trying to place rebars for Generic Model, while placement I am facing below error. Can anyone please guide?
Error: "host is not a valid rebar host.\r\n Parameter name: host"
Code:
using (var txx = new Transaction(doc, "Distribution Bar for Wall"))
{
txx.Start();
XYZ lst1 = new XYZ(lineSt.X - 1.0, lineSt.Y - 1.0, lineSt.Z - 2.0);
XYZ est1 = new XYZ(lineEn.X - 1.0, lineEn.Y - 1.0, lineEn.Z + 2.0);
double rebarQty = 10;
double spacing = 0.5;
List<RebarBarType> coll = new FilteredElementCollector(doc).OfClass(typeof(RebarBarType)).WhereElementIsElementType().Cast<RebarBarType>().ToList();
RebarBarType barType = coll.First(x => x.Name == "D10"); //"D25 主筋2"
double cover = 0.25;
for (int i = 0; i < rebarQty; i++)
{
XYZ lst = new XYZ(lineSt.X - spacing, lineSt.Y - 1.0, lineSt.Z - 2.0);
XYZ est = new XYZ(lineEn.X - spacing, lineEn.Y - 1.0, lineEn.Z + 2.0);
List<Curve> distBarCurve = new List<Curve> { Line.CreateBound(lst, est) as Curve };
Rebar distBars = Rebar.CreateFromCurves(doc, RebarStyle.Standard, barType, null, null, oEle, newNormal, distBarCurve, RebarHookOrientation.Left, RebarHookOrientation.Right, true, true);
distBars.GetShapeDrivenAccessor().SetLayoutAsFixedNumber(1, cover, true, true, true);
spacing += 0.5;
}
txx.Commit();
}
Note: Here I am passing below element as host.
Reference selectEntity = uiDoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Element, "Select a Haunch");
Element oEle= document.GetElement(selectEntity);
Element oEle= document.GetElement(selectEntity);
Developer Advocacy and Support +