protected override DxfEntity PostParse()
        {
            DxfDimensionBase newDimension = null;

            switch (DimensionType)
            {
            case DxfDimensionType.Aligned:
                newDimension = new DxfAlignedDimension(this);
                break;

            case DxfDimensionType.RotatedHorizontalOrVertical:
                newDimension = new DxfRotatedDimension(this);
                break;

            case DxfDimensionType.Radius:
                newDimension = new DxfRadialDimension(this);
                break;

            case DxfDimensionType.Diameter:
                newDimension = new DxfDiameterDimension(this);
                break;

            case DxfDimensionType.AngularThreePoint:
                newDimension = new DxfAngularThreePointDimension(this);
                break;

            case DxfDimensionType.Ordinate:
                newDimension = new DxfOrdinateDimension(this);
                break;
            }

            if (newDimension != null)
            {
                foreach (var pair in ExcessCodePairs)
                {
                    newDimension.TrySetPair(pair);
                }
            }

            return(newDimension);
        }
示例#2
0
        protected override DxfEntity PostParse()
        {
            DxfDimensionBase newDimension = null;
            switch (DimensionType)
            {
                case DxfDimensionType.RotatedHorizontalOrVertical:
                    newDimension = new DxfRotatedDimension(this);
                    break;
                case DxfDimensionType.Aligned:
                    newDimension = new DxfAlignedDimension(this);
                    break;
                case DxfDimensionType.Angular:
                    newDimension = new DxfAngularDimension(this);
                    break;
                case DxfDimensionType.Diameter:
                    newDimension = new DxfDiameterDimension(this);
                    break;
                case DxfDimensionType.Radius:
                    newDimension = new DxfRadialDimension(this);
                    break;
                case DxfDimensionType.AngularThreePoint:
                    newDimension = new DxfAngularThreePointDimension(this);
                    break;
                case DxfDimensionType.Ordinate:
                    newDimension = new DxfOrdinateDimension(this);
                    break;
            }

            if (newDimension != null)
            {
                foreach (var pair in ExcessCodePairs)
                {
                    newDimension.TrySetPair(pair);
                }
            }

            return newDimension;
        }