/// <summary> /// Створює елементи вектору з данними виносу. /// </summary> private void CreateDrawingStakeOut() { if (this.PointStation == null) { return; } AcGe.Point3d pntStart = new AcGe.Point3d(this.PointStation.E, this.PointStation.N, this.PointStation.H); AcGe.Point3d pntEnd = new AcGe.Point3d(this.Coordinates.X, this.Coordinates.Y, 0); AcDb.Line line = new AcDb.Line(pntStart, pntEnd); line.Visible = this.Visible; AcGe.Point3d pntMiddle = new AcGe.LineSegment3d(pntStart, pntEnd).MidPoint; double angleTXT = line.Angle; if (angleTXT > Math.PI / 2 && angleTXT < Math.PI * 3 / 2) { angleTXT += Math.PI; } AcDb.MText text = new AcDb.MText(); text.Contents = this.DistanceToString(AcRx.DistanceUnitFormat.Decimal) + "\r\n" + "л.к. " + ServiceTable.FormatAngleValue(this.LeftlAngleToString(AcRx.AngularUnitFormat.DegreesMinutesSeconds)); text.Rotation = angleTXT; text.Location = pntMiddle; text.Attachment = AcDb.AttachmentPoint.MiddleCenter; text.Width = 25; text.TextHeight = 1.8 * this.ScaleDrawing; this.lineID = ServiceCAD.InsertObject(line); this.txtID = ServiceCAD.InsertObject(text); }
static private Curve ToRhino(this _OdGe.LineSegment3d crv) { return(new LineCurve(crv.StartPoint.ToRhino(), crv.EndPoint.ToRhino())); }