BuildingCoder.CmdDimensionWallsIterateFaces.CreateLinearDimension C# (CSharp) Метод

CreateLinearDimension() публичный Метод

public CreateLinearDimension ( Document doc ) : Dimension
doc Document
Результат Dimension
        public Dimension CreateLinearDimension(
            Document doc)
        {
            Application app = doc.Application;

              // first create two lines

              XYZ pt1 = new XYZ( 5, 5, 0 );
              XYZ pt2 = new XYZ( 5, 10, 0 );
              Line line = Line.CreateBound( pt1, pt2 );

              //Plane plane = app.Create.NewPlane( pt1.CrossProduct( pt2 ), pt2 ); // 2016

              Plane plane = Plane.CreateByNormalAndOrigin( pt1.CrossProduct( pt2 ), pt2 ); // 2017

              //SketchPlane skplane = doc.FamilyCreate.NewSketchPlane( plane ); // 2013

              SketchPlane skplane = SketchPlane.Create( doc, plane ); // 2014

              ModelCurve modelcurve1 = doc.FamilyCreate
            .NewModelCurve( line, skplane );

              pt1 = new XYZ( 10, 5, 0 );
              pt2 = new XYZ( 10, 10, 0 );
              line = Line.CreateBound( pt1, pt2 );
              //plane = app.Create.NewPlane( pt1.CrossProduct( pt2 ), pt2 ); // 2016
              plane = Plane.CreateByNormalAndOrigin( pt1.CrossProduct( pt2 ), pt2 ); // 2017

              //skplane = doc.FamilyCreate.NewSketchPlane( plane ); // 2013

              skplane = SketchPlane.Create( doc, plane ); // 2014

              ModelCurve modelcurve2 = doc.FamilyCreate
            .NewModelCurve( line, skplane );

              // now create a linear dimension between them

              ReferenceArray ra = new ReferenceArray();
              ra.Append( modelcurve1.GeometryCurve.Reference );
              ra.Append( modelcurve2.GeometryCurve.Reference );

              pt1 = new XYZ( 5, 10, 0 );
              pt2 = new XYZ( 10, 10, 0 );
              line = Line.CreateBound( pt1, pt2 );
              Dimension dim = doc.FamilyCreate
            .NewLinearDimension( doc.ActiveView, line, ra );

              // create a label for the dimension called "width"

              FamilyParameter param = doc.FamilyManager
            .AddParameter( "width",
              BuiltInParameterGroup.PG_CONSTRAINTS,
              ParameterType.Length, false );

              //dim.Label = param; // 2013
              dim.FamilyLabel = param; // 2014

              return dim;
        }