Ejemplo n.º 1
0
        // featurelines
        public Featureline FeatureLineToSpeckle(CivilDB.FeatureLine featureline)
        {
            var _featureline = new Featureline();

            _featureline.baseCurve      = CurveToSpeckle(featureline.BaseCurve, ModelUnits);
            _featureline.name           = (featureline.DisplayName != null) ? featureline.DisplayName : "";
            _featureline["description"] = (featureline.Description != null) ? featureline.Description : "";
            _featureline.units          = ModelUnits;

            List <Point> piPoints        = new List <Point>();
            List <Point> elevationPoints = new List <Point>();

            foreach (Autodesk.AutoCAD.Geometry.Point3d point in featureline.GetPoints(Autodesk.Civil.FeatureLinePointType.PIPoint))
            {
                piPoints.Add(PointToSpeckle(point));
            }
            foreach (Autodesk.AutoCAD.Geometry.Point3d point in featureline.GetPoints(Autodesk.Civil.FeatureLinePointType.ElevationPoint))
            {
                elevationPoints.Add(PointToSpeckle(point));
            }
            if (piPoints.Count > 0)
            {
                _featureline[@"piPoints"] = piPoints;
            }
            if (elevationPoints.Count > 0)
            {
                _featureline[@"elevationPoints"] = elevationPoints;
            }

            try { _featureline["site"] = featureline.SiteId; } catch { }

            return(_featureline);
        }
Ejemplo n.º 2
0
        private Featureline GetCorridorFeatureline(CivilDB.CorridorFeatureLine featureline = null, bool isOffset = false)
        {
            // construct the 3d polyline
            var collection = new Acad.Point3dCollection();

            foreach (var point in featureline.FeatureLinePoints)
            {
                collection.Add(point.XYZ);
            }
            var polyline = new Polyline3d(Poly3dType.SimplePoly, collection, false);

            // create featureline
            var _featureline = new Featureline();

            _featureline.baseCurve   = PolylineToSpeckle(polyline);
            _featureline.name        = featureline.CodeName;
            _featureline.units       = ModelUnits;
            _featureline["isOffset"] = isOffset;

            return(_featureline);
        }