I noticed that even the API guide uses one curve per array (I don't know whay they do this in first place. My guess they do a curve array for multisegment rebar).
So please try this:
for (int k = 1; k <= numberStirrup; k++)
{
IList curves = new List();
XYZ edgepoint1 = new XYZ(origin.X - ColumnWidth / 2 + diameterStirrup / 2 + CoverSide, origin.Y - ColumnDepth / 2 + diameterStirrup / 2 + CoverSide, origin.Z + CoverBottom + deltaZ * k);
XYZ edgepoint2 = new XYZ(origin.X - ColumnWidth / 2 + diameterStirrup / 2 + CoverSide, origin.Y + ColumnDepth / 2 - diameterStirrup / 2 - CoverSide, origin.Z + CoverBottom + deltaZ * k);
XYZ edgepoint3 = new XYZ(origin.X + ColumnWidth / 2 - diameterStirrup / 2 - CoverSide, origin.Y + ColumnDepth / 2 - diameterStirrup / 2 - CoverSide, origin.Z + CoverBottom + deltaZ * k);
XYZ edgepoint4 = new XYZ(origin.X + ColumnWidth / 2 - diameterStirrup / 2 - CoverSide, origin.Y - ColumnDepth / 2 + diameterStirrup / 2 + CoverSide, origin.Z + CoverBottom + deltaZ * k);
curves.Add(Line.CreateBound(edgepoint1, edgepoint2));
curves.Add(Line.CreateBound(edgepoint2, edgepoint3));
curves.Add(Line.CreateBound(edgepoint3, edgepoint4));
curves.Add(Line.CreateBound(edgepoint4, edgepoint1));
foreach (Curve c in curves)
{
List lines = new List();
lines.Add(c);
using (Transaction t = new Transaction(doc, "Creating Stirrup"))
{
Rebar reinforcement1 = Rebar.CreateFromCurves(doc, RebarStyle.StirrupTie, styleStirrup, null, null,
column, normalStirrups, lines, RebarHookOrientation.Right, RebarHookOrientation.Right,
true, true);
}
}
}
↧