Пример #1
0
        internal override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            if (version >= DxfAcadVersion.R13)
            {
                pairs.Add(new DxfCodePair(100, AcDbText));
            }

            pairs.Add(new DxfCodePair(2, Name));
            pairs.Add(new DxfCodePair(70, (short)StandardFlags));
            pairs.Add(new DxfCodePair(10, (LowerLeft?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(20, (LowerLeft?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(11, (UpperRight?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(21, (UpperRight?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(12, (ViewCenter?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(22, (ViewCenter?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(13, (SnapBasePoint?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(23, (SnapBasePoint?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(14, EnsurePositiveOrDefault(1.0)(SnapSpacing?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(24, EnsurePositiveOrDefault(1.0)(SnapSpacing?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(15, EnsurePositiveOrDefault(1.0)(GridSpacing?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(25, EnsurePositiveOrDefault(1.0)(GridSpacing?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(16, (ViewDirection?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(26, (ViewDirection?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(36, (ViewDirection?.Z ?? 0.0)));
            pairs.Add(new DxfCodePair(17, (TargetViewPoint?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(27, (TargetViewPoint?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(37, (TargetViewPoint?.Z ?? 0.0)));
            if (version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(40, EnsurePositiveOrDefault(1.0)(ViewHeight)));
            }

            if (version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(41, EnsurePositiveOrDefault(1.0)(ViewPortAspectRatio)));
            }

            pairs.Add(new DxfCodePair(42, EnsurePositiveOrDefault(50.0)(LensLength)));
            pairs.Add(new DxfCodePair(43, (FrontClippingPlane)));
            pairs.Add(new DxfCodePair(44, (BackClippingPlane)));
            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(45, EnsurePositiveOrDefault(1.0)(ViewHeight)));
            }

            pairs.Add(new DxfCodePair(50, (SnapRotationAngle)));
            pairs.Add(new DxfCodePair(51, (ViewTwistAngle)));
            pairs.Add(new DxfCodePair(71, (short)(ViewMode)));
            pairs.Add(new DxfCodePair(72, (short)EnsurePositiveOrDefault(1000)(CircleSides)));
            if (version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(73, BoolShort(FastZoom)));
            }

            pairs.Add(new DxfCodePair(74, (short)EnsurePositiveOrDefault(3)(UCSIcon)));
            if (version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(75, BoolShort(SnapOn)));
            }

            if (version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(76, BoolShort(GridOn)));
            }

            if (version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(77, (short)(SnapStyle)));
            }

            if (version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(78, (short)(SnapIsometricPlane)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(1, (PlotStyleSheet)));
            }

            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(281, (short)(RenderMode)));
            }

            if (version >= DxfAcadVersion.R2000 && version <= DxfAcadVersion.R2004)
            {
                pairs.Add(new DxfCodePair(65, BoolShort(HasOwnUCS)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(110, (UCSOrigin?.X ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(120, (UCSOrigin?.Y ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(130, (UCSOrigin?.Z ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(111, (UCSXAxis?.X ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(121, (UCSXAxis?.Y ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(131, (UCSXAxis?.Z ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(112, (UCSYAxis?.X ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(122, (UCSYAxis?.Y ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(132, (UCSYAxis?.Z ?? 0.0)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(79, (short)(OrthographicViewType)));
            }

            if (HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(146, (UCSElevation)));
            }

            if (UCSHandle != 0u && HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(345, UIntHandle(UCSHandle)));
            }

            if (BaseUCSHandle != 0u && HasOwnUCS && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(346, UIntHandle(BaseUCSHandle)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(170, (short)(ShadePlotSetting)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(61, BoolShort(MajorGridLines)));
            }

            if (BackgroundObjectPointer != 0u && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(332, UIntHandle(BackgroundObjectPointer)));
            }

            if (ShadePlotObjectPointer != 0u && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(333, UIntHandle(ShadePlotObjectPointer)));
            }

            if (VisualStyleObjectPointer != 0u && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(348, UIntHandle(VisualStyleObjectPointer)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(292, (IsDefaultLightingOn)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(282, (short)(DefaultLightingType)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(141, (Brightness)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(142, (Contrast)));
            }

            if (AmbientColor?.RawValue != 7 && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(62, DxfColor.GetRawValue(AmbientColor)));
            }

            if (AmbientColorInt != 0 && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(421, (AmbientColorInt)));
            }

            if (AmbientColorName != "BLACK" && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(431, (AmbientColorName)));
            }

            if (XData != null)
            {
                XData.AddValuePairs(pairs, version, outputHandles);
            }
        }
Пример #2
0
        internal override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            if (version >= DxfAcadVersion.R13)
            {
                pairs.Add(new DxfCodePair(100, AcDbText));
            }

            pairs.Add(new DxfCodePair(2, Name));
            pairs.Add(new DxfCodePair(70, (short)StandardFlags));
            pairs.Add(new DxfCodePair(40, EnsurePositiveOrDefault(1.0)(ViewHeight)));
            pairs.Add(new DxfCodePair(10, (ViewCenterPoint?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(20, (ViewCenterPoint?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(41, EnsurePositiveOrDefault(1.0)(ViewWidth)));
            pairs.Add(new DxfCodePair(11, (ViewDirection?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(21, (ViewDirection?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(31, (ViewDirection?.Z ?? 0.0)));
            pairs.Add(new DxfCodePair(12, (TargetPoint?.X ?? 0.0)));
            pairs.Add(new DxfCodePair(22, (TargetPoint?.Y ?? 0.0)));
            pairs.Add(new DxfCodePair(32, (TargetPoint?.Z ?? 0.0)));
            pairs.Add(new DxfCodePair(42, EnsurePositiveOrDefault(1.0)(LensLength)));
            pairs.Add(new DxfCodePair(43, (FrontClippingPlane)));
            pairs.Add(new DxfCodePair(44, (BackClippingPlane)));
            pairs.Add(new DxfCodePair(50, (TwistAngle)));
            pairs.Add(new DxfCodePair(71, (ViewMode)));
            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(281, (short)(RenderMode)));
            }

            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(72, BoolShort(IsAssociatedUCSPresent)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(73, BoolShort(IsCameraPlottable)));
            }

            if (BackgroundObjectPointer != 0u && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(332, UIntHandle(BackgroundObjectPointer)));
            }

            if (SelectionObjectPointer != 0u && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(334, UIntHandle(SelectionObjectPointer)));
            }

            if (VisualStyleObjectPointer != 0u && version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(348, UIntHandle(VisualStyleObjectPointer)));
            }

            if (SunOwnershipPointer != 0u && version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(361, UIntHandle(SunOwnershipPointer)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(110, (UCSOrigin?.X ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(120, (UCSOrigin?.Y ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(130, (UCSOrigin?.Z ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(111, (UCSXAxis?.X ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(121, (UCSXAxis?.Y ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(131, (UCSXAxis?.Z ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(112, (UCSYAxis?.X ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(122, (UCSYAxis?.Y ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(132, (UCSYAxis?.Z ?? 0.0)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(79, (short)(OrthographicViewType)));
            }

            if (IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(146, (UCSElevation)));
            }

            if (UCSHandle != 0u && IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(345, UIntHandle(UCSHandle)));
            }

            if (BaseUCSHandle != 0u && IsAssociatedUCSPresent && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(346, UIntHandle(BaseUCSHandle)));
            }

            if (XData != null)
            {
                XData.AddValuePairs(pairs, version, outputHandles);
            }
        }