//Размер от шк. ст. оп. 0 до оси опирания ПС 0-1
DetailCurve dCurve1 = null;
DetailCurve dCurve2 = null;
dCurve1 = document.Create.NewDetailCurve(document.ActiveView, geomLine);
dCurve2 = document.Create.NewDetailCurve(document.ActiveView, geomLine1);
XYZ razm_l = new XYZ(endPoint.X, (yom - 8000) * ku, 0);
XYZ razm_r = new XYZ(endP.X, (yom - 8000) * ku, 0);
Line line = Line.CreateBound(razm_l, razm_r);
ReferenceArray refArray1 = new ReferenceArray();
refArray1.Append(lineGrid0.Curve.Reference);
refArray1.Append(lineGrid_opps.Curve.Reference);
document.Delete(dCurve1.Id);
document.Delete(dCurve2.Id);
razm_l = new XYZ(endPoint.X, (yom - 9000) * ku, 0);
ReferenceArray refArray = new ReferenceArray();
refArray.Append(lineGrid0.Curve.Reference);
-----------------------------------------------------------------
//Оси опор и оси опирания ПС (продолжение)
if (i != (matrixXSize - 1))//опоры и ПС кроме правого устоя
{
// остальные вертикальные оси опор
n_op = (i + 1).ToString();
double zaz = zazor / 2;
if (i == matrixXSize - 2)
zaz = zazor;
startPoint = new XYZ(m_matrixUV[i + 1, j].U + zaz, startPoint.Y, 0);
endPoint = new XYZ(startPoint.X, endPoint.Y, 0);
geomLine = Line.CreateBound(startPoint, endPoint);
// Create a grid using the geometry line
lineGrid = document.Create.NewGrid(geomLine);
lineGrid.Name = "ось оп. " + n_op;
//Сбор Reference для цепочки размеров по осям опор
dCurve2 = document.Create.NewDetailCurve(document.ActiveView, geomLine);
razm_r = new XYZ(endPoint.X, (yom - 9000) * ku, 0);
refArray.Append(lineGrid.Curve.Reference);
document.Delete(dCurve2.Id);
// ось опирания ПС правая поперек (левая от оси опоры)
stP = new XYZ(startPoint.X - zaz - os_opir * ku, (yom + 4000) * ku, 0);
endP = new XYZ(stP.X, (yom - os_otstup) * ku, 0);
geomLine = Line.CreateBound(endP, stP);
// Create a grid using the geometry line
lineGrid_opps = document.Create.NewGrid(geomLine);
lineGrid_opps.Name = "ось опир. ПС" + i.ToString() + "-" + n_op;
//Размер от оси опоры до оси опирания ПС слева
dCurve1 = document.Create.NewDetailCurve(document.ActiveView, geomLine);
refArray1.Append(lineGrid.Curve.Reference);
refArray1.Append(lineGrid_opps.Curve.Reference);
document.Delete(dCurve1.Id);
if (i != matrixXSize - 2)
{
// ось опирания ПС левая (правая от оси опоры)
stP = new XYZ(startPoint.X + zazor / 2 + os_opir * ku, (yom + 4000) * ku, 0);
endP = new XYZ(stP.X, (yom - os_otstup) * ku, 0);
geomLine = Line.CreateBound(endP, stP);
// Create a grid using the geometry line
lineGrid_opps = document.Create.NewGrid(geomLine);
lineGrid_opps.Name = "ось опир. ПС " + n_op + "-" + (i + 2);
//Размер от оси опоры до оси опирания ПС слева
dCurve1 = document.Create.NewDetailCurve(document.ActiveView, geomLine);
refArray1.Append(lineGrid_opps.Curve.Reference);
document.Delete(dCurve1.Id);
}
-------------------------------------------------------------------
//создание цепочки размеров по осям опор и осям опираний ПС
document.Create.NewDimension(document.ActiveView, line, refArray1);