Exemplo n.º 1
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbFilter"));
     pairs.Add(new DxfCodePair(100, "AcDbLayerFilter"));
     pairs.AddRange(this.LayerNames.Select(p => new DxfCodePair(8, p)));
 }
Exemplo n.º 2
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbSortentsTable"));
     pairs.AddRange(this.EntitiesPointers.Pointers.Select(p => new DxfCodePair(331, DxfCommonConverters.UIntHandle(p.Handle))));
     pairs.AddRange(this.SortItemsPointers.Pointers.Select(p => new DxfCodePair(5, DxfCommonConverters.UIntHandle(p.Handle))));
 }
Exemplo n.º 3
0
            public IEnumerable<DxfCodePair> GetValuePairs(DxfAcadVersion version, bool outputHandles)
            {
                var list = new List<DxfCodePair>();
                list.Add(new DxfCodePair(0, EndBlockText));
                if (outputHandles)
                {
                    list.Add(new DxfCodePair(5, DxfCommonConverters.UIntHandle(Handle)));
                }

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

                if (version >= DxfAcadVersion.R14)
                {
                    foreach (var group in ExtensionDataGroups)
                    {
                        group.AddValuePairs(list, version, outputHandles);
                    }
                }

                if (version >= DxfAcadVersion.R2000)
                {
                    list.Add(new DxfCodePair(330, DxfCommonConverters.UIntHandle(0)));
                }

                if (version >= DxfAcadVersion.R13)
                {
                    list.Add(new DxfCodePair(100, AcDbEntityText));
                    list.Add(new DxfCodePair(8, Parent.Layer));
                    list.Add(new DxfCodePair(100, AcDbBlockEndText));
                }
                return list;
            }
Exemplo n.º 4
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbUnderlayDefinition"));
     pairs.Add(new DxfCodePair(1, (this.FileName)));
     pairs.Add(new DxfCodePair(2, (this.Name)));
 }
Exemplo n.º 5
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbXrecord"));
     pairs.Add(new DxfCodePair(280, (short)(this.DuplicateRecordHandling)));
     pairs.AddRange(DataPairs);
 }
Exemplo n.º 6
0
        internal static DxfClassesSection ClassesSectionFromBuffer(DxfCodePairBufferReader buffer, DxfAcadVersion version)
        {
            var section = new DxfClassesSection();
            while (buffer.ItemsRemain)
            {
                var pair = buffer.Peek();
                if (DxfCodePair.IsSectionEnd(pair))
                {
                    // done reading classes
                    buffer.Advance(); // swallow (0, ENDSEC)
                    break;
                }

                if (pair.Code != 0)
                {
                    throw new DxfReadException("Expected new class.", pair);
                }

                var cls = DxfClass.FromBuffer(buffer, version);
                if (cls != null)
                {
                    section.Classes.Add(cls);
                }
            }

            return section;
        }
Exemplo n.º 7
0
 public static string VersionToString(DxfAcadVersion version)
 {
     switch (version)
     {
         case DxfAcadVersion.R10:
             return R10;
         case DxfAcadVersion.R11:
             return R11;
         case DxfAcadVersion.R12:
             return R12;
         case DxfAcadVersion.R13:
             return R13;
         case DxfAcadVersion.R14:
             return R14;
         case DxfAcadVersion.R2000:
             return R2000;
         case DxfAcadVersion.R2004:
             return R2004;
         case DxfAcadVersion.R2007:
             return R2007;
         case DxfAcadVersion.R2010:
             return R2010;
         case DxfAcadVersion.R2013:
             return R2013;
         default:
             throw new NotSupportedException();
     }
 }
Exemplo n.º 8
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbSortentsTable"));
     pairs.AddRange(this.EntityHandles.Select(p => new DxfCodePair(331, UIntHandle(p))));
     pairs.AddRange(this.SortHandles.Select(p => new DxfCodePair(5, UIntHandle(p))));
 }
Exemplo n.º 9
0
        internal static DxfBlocksSection BlocksSectionFromBuffer(DxfCodePairBufferReader buffer, DxfAcadVersion version)
        {
            var section = new DxfBlocksSection();
            while (buffer.ItemsRemain)
            {
                var pair = buffer.Peek();
                if (DxfCodePair.IsSectionStart(pair))
                {
                    // done reading blocks, onto the next section
                    break;
                }
                else if (DxfCodePair.IsSectionEnd(pair))
                {
                    // done reading blocks
                    buffer.Advance(); // swallow (0, ENDSEC)
                    break;
                }

                if (pair.Code != 0)
                {
                    throw new DxfReadException("Expected new block.", pair);
                }

                buffer.Advance(); // swallow (0, CLASS)
                var block = DxfBlock.FromBuffer(buffer, version);
                if (block != null)
                {
                    section.Blocks.Add(block);
                }
            }

            return section;
        }
Exemplo n.º 10
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbRasterVariables"));
     pairs.Add(new DxfCodePair(90, (this.ClassVersion)));
     pairs.Add(new DxfCodePair(70, BoolShort(this.DisplayImageFrame)));
 }
Exemplo n.º 11
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbIndex"));
     pairs.Add(new DxfCodePair(40, DateDouble(this.Timestamp)));
     pairs.Add(new DxfCodePair(100, "AcDbSpatialIndex"));
 }
Exemplo n.º 12
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbArc"));
     pairs.Add(new DxfCodePair(50, (this.StartAngle)));
     pairs.Add(new DxfCodePair(51, (this.EndAngle)));
 }
Exemplo n.º 13
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbModelerGeometry"));
     pairs.Add(new DxfCodePair(70, (this.FormatVersionNumber)));
     pairs.AddRange(this.CustomData.Select(p => new DxfCodePair(1, p)));
     pairs.AddRange(this.CustomData2.Select(p => new DxfCodePair(3, p)));
 }
Exemplo n.º 14
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbSectionManager"));
     pairs.Add(new DxfCodePair(70, BoolShort(this.RequiresFullUpdate)));
     pairs.Add(new DxfCodePair(90, SectionEntities.Count));
     pairs.AddRange(this.SectionEntities.Select(p => new DxfCodePair(330, UIntHandle(p))));
 }
Exemplo n.º 15
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbGroup"));
     pairs.Add(new DxfCodePair(300, (this.Description)));
     pairs.Add(new DxfCodePair(70, NotBoolShort(this.IsNamed)));
     pairs.Add(new DxfCodePair(71, BoolShort(this.IsSelectable)));
     pairs.AddRange(this.EntityHandles.Select(p => new DxfCodePair(340, UIntHandle(p))));
 }
Exemplo n.º 16
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbRadialDiametricDimension"));
     pairs.Add(new DxfCodePair(15, DefinitionPoint2?.X ?? default(double)));
     pairs.Add(new DxfCodePair(25, DefinitionPoint2?.Y ?? default(double)));
     pairs.Add(new DxfCodePair(35, DefinitionPoint2?.Z ?? default(double)));
     pairs.Add(new DxfCodePair(40, (this.LeaderLength)));
 }
Exemplo n.º 17
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbVbaProject"));
     pairs.Add(new DxfCodePair(90, Data?.Length ?? 0));
     foreach (var item in GetHexStrings())
     {
         pairs.Add(new DxfCodePair(310, item));
     }
 }
Exemplo n.º 18
0
 internal void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     if (version >= DxfAcadVersion.R2000)
     {
         pairs.Add(new DxfCodePair((int)DxfXDataType.ApplicationName, ApplicationName));
         foreach (var item in Items)
         {
             item.AddValuePairs(pairs, version, outputHandles);
         }
     }
 }
Exemplo n.º 19
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbLightList"));
     pairs.Add(new DxfCodePair(90, (this.Version)));
     pairs.Add(new DxfCodePair(90, Lights.Count));
     foreach (var item in LightsPointers.Pointers)
     {
         pairs.Add(new DxfCodePair(5, UIntHandle(item.Handle)));
         pairs.Add(new DxfCodePair(1, ((DxfLight)item.Item).Name));
     }
 }
Exemplo n.º 20
0
        protected override void AddTrailingCodePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            foreach (var vertex in Vertices)
            {
                pairs.AddRange(vertex.GetValuePairs(version, outputHandles));
            }

            if (Seqend != null)
            {
                pairs.AddRange(Seqend.GetValuePairs(version, outputHandles));
            }
        }
Exemplo n.º 21
0
 protected internal override IEnumerable<DxfCodePair> GetSpecificPairs(DxfAcadVersion version, bool outputHandles, HashSet<IDxfItem> writtenItems)
 {
     foreach (var block in Blocks.Where(b => b != null))
     {
         if (writtenItems.Add(block))
         {
             foreach (var pair in block.GetValuePairs(version, outputHandles))
             {
                 yield return pair;
             }
         }
     }
 }
Exemplo n.º 22
0
 protected internal override IEnumerable<DxfCodePair> GetSpecificPairs(DxfAcadVersion version, bool outputHandles, HashSet<IDxfItem> writtenItems)
 {
     foreach (var obj in Objects)
     {
         if (writtenItems.Add(obj))
         {
             foreach (var pair in obj.GetValuePairs(version, outputHandles, writtenItems))
             {
                 yield return pair;
             }
         }
     }
 }
Exemplo n.º 23
0
        protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbOleFrame"));
            pairs.Add(new DxfCodePair(70, (short)(this.VersionNumber)));
            pairs.Add(new DxfCodePair(90, (this.BinaryDataLength)));
            foreach (var item in BinaryDataStrings)
            {
                pairs.Add(new DxfCodePair(310, item));
            }

            pairs.Add(new DxfCodePair(1, "OLE"));
        }
Exemplo n.º 24
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));
            if (XData != null)
            {
                XData.AddValuePairs(pairs, version, outputHandles);
            }
        }
Exemplo n.º 25
0
        internal static DxfSection FromBuffer(DxfCodePairBufferReader buffer, DxfAcadVersion version)
        {
            Debug.Assert(buffer.ItemsRemain);
            var sectionType = buffer.Peek();
            buffer.Advance();
            if (sectionType.Code != 2)
            {
                throw new DxfReadException($"Expected code 2, got {sectionType.Code}", sectionType);
            }

            DxfSection section;
            switch (sectionType.StringValue)
            {
                case BlocksSectionText:
                    section = DxfBlocksSection.BlocksSectionFromBuffer(buffer, version);
                    break;
                case ClassesSectionText:
                    section = DxfClassesSection.ClassesSectionFromBuffer(buffer, version);
                    break;
                case EntitiesSectionText:
                    section = DxfEntitiesSection.EntitiesSectionFromBuffer(buffer);
                    break;
                case HeaderSectionText:
                    section = DxfHeaderSection.HeaderSectionFromBuffer(buffer);
                    break;
                case ObjectsSectionText:
                    section = DxfObjectsSection.ObjectsSectionFromBuffer(buffer);
                    break;
                case TablesSectionText:
                    section = DxfTablesSection.TablesSectionFromBuffer(buffer);
                    break;
                case ThumbnailImageSectionText:
                    section = DxfThumbnailImageSection.ThumbnailImageSectionFromBuffer(buffer);
                    break;
                default:
                    SwallowSection(buffer);
                    section = null;
                    break;
            }

            return section;
        }
Exemplo n.º 26
0
        protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbDictionary"));
            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(280, BoolShort(this.IsHardOwner)));
            }

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

            foreach (var item in _entries)
            {
                pairs.Add(new DxfCodePair(3, item.Key));
                pairs.Add(new DxfCodePair(350, UIntHandle(item.Value)));
            }
        }
Exemplo n.º 27
0
 public void ApplyCodePairs(DxfCodePairBufferReader buffer, DxfAcadVersion version)
 {
     var pair = buffer.Peek();
     buffer.Advance();
     switch (pair.Code)
     {
         case 5:
             Handle = DxfCommonConverters.UIntHandle(pair.StringValue);
             break;
         case 8:
             Debug.Assert(version >= DxfAcadVersion.R13);
             break;
         case 100:
             Debug.Assert(pair.StringValue == AcDbEntityText || pair.StringValue == AcDbBlockEndText);
             break;
         case DxfCodePairGroup.GroupCodeNumber:
             var groupName = DxfCodePairGroup.GetGroupName(pair.StringValue);
             ExtensionDataGroups.Add(DxfCodePairGroup.FromBuffer(buffer, groupName));
             break;
     }
 }
Exemplo n.º 28
0
        internal void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            if (Items.Count == 0)
            {
                return;
            }

            pairs.Add(new DxfCodePair(GroupCodeNumber, "{" + GroupName));
            foreach (var item in Items)
            {
                if (item.IsCodePair)
                {
                    pairs.Add((DxfCodePair)item);
                }
                else
                {
                    ((DxfCodePairGroup)item).AddValuePairs(pairs, version, outputHandles);
                }
            }

            pairs.Add(new DxfCodePair(GroupCodeNumber, "}"));
        }
Exemplo n.º 29
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));
            if (LayoutHandle != 0u && version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(340, UIntHandle(LayoutHandle)));
            }

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

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

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

            if (version >= DxfAcadVersion.R2000)
            {
                pairs.AddRange(_bitmapPreviewData.Select(value => new DxfCodePair(310, value)));
            }

            if (XData != null)
            {
                XData.AddValuePairs(pairs, version, outputHandles);
            }
        }
Exemplo n.º 30
0
 protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     if (version >= DxfAcadVersion.R13)
     {
         pairs.Add(new DxfCodePair(100, "AcDbAlignedDimension"));
     }
     pairs.Add(new DxfCodePair(12, InsertionPoint?.X ?? default(double)));
     pairs.Add(new DxfCodePair(22, InsertionPoint?.Y ?? default(double)));
     pairs.Add(new DxfCodePair(32, InsertionPoint?.Z ?? default(double)));
     pairs.Add(new DxfCodePair(13, DefinitionPoint2?.X ?? default(double)));
     pairs.Add(new DxfCodePair(23, DefinitionPoint2?.Y ?? default(double)));
     pairs.Add(new DxfCodePair(33, DefinitionPoint2?.Z ?? default(double)));
     pairs.Add(new DxfCodePair(14, DefinitionPoint3?.X ?? default(double)));
     pairs.Add(new DxfCodePair(24, DefinitionPoint3?.Y ?? default(double)));
     pairs.Add(new DxfCodePair(34, DefinitionPoint3?.Z ?? default(double)));
     pairs.Add(new DxfCodePair(50, (this.RotationAngle)));
     pairs.Add(new DxfCodePair(52, (this.ExtensionLineAngle)));
     if (version >= DxfAcadVersion.R13)
     {
         pairs.Add(new DxfCodePair(100, "AcDbRotatedDimension"));
     }
 }
Exemplo n.º 31
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(3, (Description)));
            pairs.Add(new DxfCodePair(72, (short)(AlignmentCode)));
            pairs.Add(new DxfCodePair(73, (short)Elements.Count));
            pairs.Add(new DxfCodePair(40, (TotalPatternLength)));
            foreach (var element in Elements)
            {
                element.AddValuePairs(pairs);
            }

            if (XData != null)
            {
                XData.AddValuePairs(pairs, version, outputHandles);
            }
        }
Exemplo n.º 32
0
 protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbUnderlayReference"));
     pairs.Add(new DxfCodePair(340, DxfCommonConverters.UIntHandle(this.ObjectPointer.Handle)));
     pairs.Add(new DxfCodePair(10, InsertionPoint?.X ?? default(double)));
     pairs.Add(new DxfCodePair(20, InsertionPoint?.Y ?? default(double)));
     pairs.Add(new DxfCodePair(30, InsertionPoint?.Z ?? default(double)));
     pairs.Add(new DxfCodePair(41, (this.XScale)));
     pairs.Add(new DxfCodePair(42, (this.YScale)));
     pairs.Add(new DxfCodePair(43, (this.ZScale)));
     pairs.Add(new DxfCodePair(50, (this.RotationAngle)));
     pairs.Add(new DxfCodePair(210, Normal?.X ?? default(double)));
     pairs.Add(new DxfCodePair(220, Normal?.Y ?? default(double)));
     pairs.Add(new DxfCodePair(230, Normal?.Z ?? default(double)));
     pairs.Add(new DxfCodePair(280, (short)(this.Flags)));
     pairs.Add(new DxfCodePair(281, (this.Contrast)));
     pairs.Add(new DxfCodePair(282, (this.Fade)));
     foreach (var item in BoundaryPoints)
     {
         pairs.Add(new DxfCodePair(11, item.X));
         pairs.Add(new DxfCodePair(12, item.Y));
     }
 }
Exemplo n.º 33
0
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbRasterImage"));
            pairs.Add(new DxfCodePair(90, (this.ClassVersion)));
            pairs.Add(new DxfCodePair(10, Location?.X ?? default(double)));
            pairs.Add(new DxfCodePair(20, Location?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(30, Location?.Z ?? default(double)));
            pairs.Add(new DxfCodePair(11, UVector?.X ?? default(double)));
            pairs.Add(new DxfCodePair(21, UVector?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(31, UVector?.Z ?? default(double)));
            pairs.Add(new DxfCodePair(12, VVector?.X ?? default(double)));
            pairs.Add(new DxfCodePair(22, VVector?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(32, VVector?.Z ?? default(double)));
            pairs.Add(new DxfCodePair(13, ImageSize?.X ?? default(double)));
            pairs.Add(new DxfCodePair(23, ImageSize?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(340, (this.ImageDefReference)));
            pairs.Add(new DxfCodePair(70, (short)(this.DisplayOptionsFlags)));
            pairs.Add(new DxfCodePair(280, BoolShort(this.UseClipping)));
            pairs.Add(new DxfCodePair(281, (this.Brightness)));
            pairs.Add(new DxfCodePair(282, (this.Contrast)));
            pairs.Add(new DxfCodePair(283, (this.Fade)));
            pairs.Add(new DxfCodePair(360, (this.ImageDefReactorReference)));
            pairs.Add(new DxfCodePair(71, (short)(this.ClippingType)));
            pairs.Add(new DxfCodePair(91, ClippingVertices.Count));
            foreach (var item in ClippingVertices)
            {
                pairs.Add(new DxfCodePair(14, item.X));
                pairs.Add(new DxfCodePair(24, item.Y));
            }

            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(290, (this.IsInsideClipping)));
            }
        }
Exemplo n.º 34
0
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbSection"));
            pairs.Add(new DxfCodePair(90, (this.State)));
            pairs.Add(new DxfCodePair(91, (this.Flags)));
            pairs.Add(new DxfCodePair(1, (this.Name)));
            pairs.Add(new DxfCodePair(10, VerticalDirection?.X ?? default(double)));
            pairs.Add(new DxfCodePair(20, VerticalDirection?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(30, VerticalDirection?.Z ?? default(double)));
            pairs.Add(new DxfCodePair(40, (this.TopHeight)));
            pairs.Add(new DxfCodePair(41, (this.BottomHeight)));
            pairs.Add(new DxfCodePair(70, (this.IndicatorTransparency)));
            pairs.Add(new DxfCodePair(63, DxfColor.GetRawValue(this.IndicatorColor)));
            pairs.Add(new DxfCodePair(411, (this.IndicatorColorName)));
            pairs.Add(new DxfCodePair(92, Vertices.Count));
            foreach (var item in Vertices)
            {
                pairs.Add(new DxfCodePair(11, item.X));
                pairs.Add(new DxfCodePair(21, item.Y));
                pairs.Add(new DxfCodePair(31, item.Z));
            }

            pairs.Add(new DxfCodePair(93, BackLineVertices.Count));
            foreach (var item in BackLineVertices)
            {
                pairs.Add(new DxfCodePair(12, item.X));
                pairs.Add(new DxfCodePair(22, item.Y));
                pairs.Add(new DxfCodePair(32, item.Z));
            }

            if (this.GeometrySettingsPointer.Handle != 0u)
            {
                pairs.Add(new DxfCodePair(360, DxfCommonConverters.UIntHandle(this.GeometrySettingsPointer.Handle)));
            }
        }
Exemplo n.º 35
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(62, GetWritableColorValue(Color)));
            pairs.Add(new DxfCodePair(6, GetWritableLineTypeName(LineTypeName)));
            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(290, (IsLayerPlotted)));
            }

            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(370, DxfLineWeight.GetRawValue(LineWeight)));
            }

            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(390, UIntHandle(PlotStylePointer)));
            }

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

            if (XData != null)
            {
                XData.AddValuePairs(pairs, version, outputHandles);
            }
        }
Exemplo n.º 36
0
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbDimAssoc"));
            if (this.DimensionPointer.Handle != 0u)
            {
                pairs.Add(new DxfCodePair(330, DxfCommonConverters.UIntHandle(this.DimensionPointer.Handle)));
            }

            pairs.Add(new DxfCodePair(90, (this.AssociativityFlags)));
            pairs.Add(new DxfCodePair(70, BoolShort(this.IsTransSpace)));
            pairs.Add(new DxfCodePair(71, (short)(this.RotatedDimensionType)));
            pairs.Add(new DxfCodePair(1, (this.ClassName)));
            pairs.Add(new DxfCodePair(72, (short)(this.ObjectOsnapType)));
            if (this.MainObjectPointer.Handle != 0u)
            {
                pairs.Add(new DxfCodePair(331, DxfCommonConverters.UIntHandle(this.MainObjectPointer.Handle)));
            }

            pairs.Add(new DxfCodePair(73, (short)(this.MainObjectSubentityType)));
            pairs.Add(new DxfCodePair(91, (this.MainObjectGsMarkerIndex)));
            pairs.Add(new DxfCodePair(301, (this.MainObjectXrefHandle)));
            pairs.Add(new DxfCodePair(40, (this.NearOsnapGeometryParameter)));
            pairs.Add(new DxfCodePair(10, OsnapPoint?.X ?? default(double)));
            pairs.Add(new DxfCodePair(20, OsnapPoint?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(30, OsnapPoint?.Z ?? default(double)));
            if (this.IntersectionObjectPointer.Handle != 0u)
            {
                pairs.Add(new DxfCodePair(332, DxfCommonConverters.UIntHandle(this.IntersectionObjectPointer.Handle)));
            }

            pairs.Add(new DxfCodePair(74, (short)(this.IntersectionSubentityType)));
            pairs.Add(new DxfCodePair(92, (this.IntersectionObjectGsMarkerIndex)));
            pairs.Add(new DxfCodePair(302, (this.IntersectionObjectXrefHandle)));
            pairs.Add(new DxfCodePair(75, BoolShort(this.HasLastPointReference)));
        }
Exemplo n.º 37
0
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbFcf"));
            pairs.Add(new DxfCodePair(3, (this.DimensionStyleName)));
            pairs.Add(new DxfCodePair(10, InsertionPoint?.X ?? default(double)));
            pairs.Add(new DxfCodePair(20, InsertionPoint?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(30, InsertionPoint?.Z ?? default(double)));
            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(1, (this.DisplayText)));
            }

            if (this.ExtrusionDirection != DxfVector.ZAxis)
            {
                pairs.Add(new DxfCodePair(210, ExtrusionDirection?.X ?? default(double)));
                pairs.Add(new DxfCodePair(220, ExtrusionDirection?.Y ?? default(double)));
                pairs.Add(new DxfCodePair(230, ExtrusionDirection?.Z ?? default(double)));
            }

            pairs.Add(new DxfCodePair(11, DirectionVector?.X ?? default(double)));
            pairs.Add(new DxfCodePair(21, DirectionVector?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(31, DirectionVector?.Z ?? default(double)));
        }
Exemplo n.º 38
0
 protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(100, "AcDbRenderSettings"));
     pairs.Add(new DxfCodePair(90, (this.SubclassVersion)));
     pairs.Add(new DxfCodePair(1, (this.RenderPresetName)));
     pairs.Add(new DxfCodePair(290, (this.AreMaterialsEnabled)));
     pairs.Add(new DxfCodePair(290, (this.IsTextureSamplingEnabled)));
     pairs.Add(new DxfCodePair(290, (this.AreBackFacesEnabled)));
     pairs.Add(new DxfCodePair(290, (this.AreShadowsEnabled)));
     pairs.Add(new DxfCodePair(1, (this.PreviewImageFileName)));
     pairs.Add(new DxfCodePair(1, (this.RenderPresetDescription)));
     pairs.Add(new DxfCodePair(90, (this.DisplayIndex)));
     pairs.Add(new DxfCodePair(290, (this.IsPredefinedRenderPreset)));
     pairs.Add(new DxfCodePair(100, "AcDbRapidRTRenderSettings"));
     pairs.Add(new DxfCodePair(90, (this.SubclassVersion)));
     pairs.Add(new DxfCodePair(70, (DxfRenderDuration)(this.RenderDuration)));
     pairs.Add(new DxfCodePair(90, (this.RenderLevelCountLimit)));
     pairs.Add(new DxfCodePair(90, (this.RenderTimeLimit)));
     pairs.Add(new DxfCodePair(70, (DxfRenderAccuracy)(this.RenderAccuracy)));
     pairs.Add(new DxfCodePair(70, (DxfSamplingFilter)(this.SamplingFilter)));
     pairs.Add(new DxfCodePair(40, (this.FilterWidth)));
     pairs.Add(new DxfCodePair(40, (this.FilterHeight)));
 }
Exemplo n.º 39
0
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbShape"));
            if (this.Thickness != 0.0)
            {
                pairs.Add(new DxfCodePair(39, (this.Thickness)));
            }

            pairs.Add(new DxfCodePair(10, Location?.X ?? default(double)));
            pairs.Add(new DxfCodePair(20, Location?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(30, Location?.Z ?? default(double)));
            pairs.Add(new DxfCodePair(40, (this.Size)));
            pairs.Add(new DxfCodePair(2, (this.Name)));
            if (this.RotationAngle != 0.0)
            {
                pairs.Add(new DxfCodePair(50, (this.RotationAngle)));
            }

            if (this.RelativeXScaleFactor != 1.0)
            {
                pairs.Add(new DxfCodePair(41, (this.RelativeXScaleFactor)));
            }

            if (this.ObliqueAngle != 0.0)
            {
                pairs.Add(new DxfCodePair(51, (this.ObliqueAngle)));
            }

            if (this.ExtrusionDirection != DxfVector.ZAxis)
            {
                pairs.Add(new DxfCodePair(210, ExtrusionDirection?.X ?? default(double)));
                pairs.Add(new DxfCodePair(220, ExtrusionDirection?.Y ?? default(double)));
                pairs.Add(new DxfCodePair(230, ExtrusionDirection?.Z ?? default(double)));
            }
        }
Exemplo n.º 40
0
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbPoint"));
            pairs.Add(new DxfCodePair(10, Location?.X ?? default(double)));
            pairs.Add(new DxfCodePair(20, Location?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(30, Location?.Z ?? default(double)));
            if (this.Thickness != 0.0)
            {
                pairs.Add(new DxfCodePair(39, (this.Thickness)));
            }

            if (this.ExtrusionDirection != DxfVector.ZAxis)
            {
                pairs.Add(new DxfCodePair(210, ExtrusionDirection?.X ?? default(double)));
                pairs.Add(new DxfCodePair(220, ExtrusionDirection?.Y ?? default(double)));
                pairs.Add(new DxfCodePair(230, ExtrusionDirection?.Z ?? default(double)));
            }

            if (this.Angle != 0.0)
            {
                pairs.Add(new DxfCodePair(50, (this.Angle)));
            }
        }
Exemplo n.º 41
0
        private string GenerateTeighaArguments(string inputDirectory, string outputDirectory, DxfAcadVersion desiredVersion)
        {
            string teighaVersion;

            switch (desiredVersion)
            {
            case DxfAcadVersion.R9:
                teighaVersion = "ACAD9";
                break;

            case DxfAcadVersion.R10:
                teighaVersion = "ACAD10";
                break;

            case DxfAcadVersion.R12:
                teighaVersion = "ACAD12";
                break;

            case DxfAcadVersion.R13:
                teighaVersion = "ACAD13";
                break;

            case DxfAcadVersion.R14:
                teighaVersion = "ACAD14";
                break;

            case DxfAcadVersion.R2000:
                teighaVersion = "ACAD2000";
                break;

            case DxfAcadVersion.R2004:
                teighaVersion = "ACAD2004";
                break;

            case DxfAcadVersion.R2007:
                teighaVersion = "ACAD2007";
                break;

            case DxfAcadVersion.R2010:
                teighaVersion = "ACAD2010";
                break;

            case DxfAcadVersion.R2013:
                teighaVersion = "ACAD2013";
                break;

            default:
                throw new InvalidOperationException("Unsupported Teigha version " + desiredVersion);
            }

            //                                                                              recurse audit
            return($@"""{inputDirectory}"" ""{outputDirectory}"" ""{teighaVersion}"" ""DXF"" ""0"" ""1""");
        }
Exemplo n.º 42
0
 protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
 }
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            if (version >= DxfAcadVersion.R13)
            {
                pairs.Add(new DxfCodePair(100, "AcDbText"));
            }
            if (this.Thickness != 0.0)
            {
                pairs.Add(new DxfCodePair(39, (this.Thickness)));
            }

            pairs.Add(new DxfCodePair(10, Location.X));
            pairs.Add(new DxfCodePair(20, Location.Y));
            pairs.Add(new DxfCodePair(30, Location.Z));
            pairs.Add(new DxfCodePair(40, (this.TextHeight)));
            pairs.Add(new DxfCodePair(1, (this.Value)));
            if (version >= DxfAcadVersion.R13)
            {
                pairs.Add(new DxfCodePair(100, "AcDbAttributeDefinition"));
            }
            if (this.Rotation != 0)
            {
                pairs.Add(new DxfCodePair(50, (this.Rotation)));
            }

            if (this.RelativeXScaleFactor != 1.0)
            {
                pairs.Add(new DxfCodePair(41, (this.RelativeXScaleFactor)));
            }

            if (this.ObliqueAngle != 0.0)
            {
                pairs.Add(new DxfCodePair(51, (this.ObliqueAngle)));
            }

            if (this.TextStyleName != "STANDARD")
            {
                pairs.Add(new DxfCodePair(7, (this.TextStyleName)));
            }

            if (this.TextGenerationFlags != 0)
            {
                pairs.Add(new DxfCodePair(71, (short)(this.TextGenerationFlags)));
            }

            if (this.HorizontalTextJustification != DxfHorizontalTextJustification.Left)
            {
                pairs.Add(new DxfCodePair(72, (short)(this.HorizontalTextJustification)));
            }

            pairs.Add(new DxfCodePair(11, SecondAlignmentPoint.X));
            pairs.Add(new DxfCodePair(21, SecondAlignmentPoint.Y));
            pairs.Add(new DxfCodePair(31, SecondAlignmentPoint.Z));
            if (this.Normal != DxfVector.ZAxis)
            {
                pairs.Add(new DxfCodePair(210, Normal.X));
                pairs.Add(new DxfCodePair(220, Normal.Y));
                pairs.Add(new DxfCodePair(230, Normal.Z));
            }

            if (version >= DxfAcadVersion.R13)
            {
                pairs.Add(new DxfCodePair(100, "AcDbAttributeDefinition"));
            }
            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(280, (short)(this.Version)));
            }

            pairs.Add(new DxfCodePair(3, (this.Prompt)));
            pairs.Add(new DxfCodePair(2, (this.TextTag)));
            pairs.Add(new DxfCodePair(70, (short)(this.Flags)));
            if (this.FieldLength != 0)
            {
                pairs.Add(new DxfCodePair(73, (this.FieldLength)));
            }

            if (version >= DxfAcadVersion.R12 && this.VerticalTextJustification != DxfVerticalTextJustification.Baseline)
            {
                pairs.Add(new DxfCodePair(74, (short)(this.VerticalTextJustification)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(280, BoolShort(this.IsLockedInBlock)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(100, "AcDbXrecord"));
            }
            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(280, BoolShort(this.KeepDuplicateRecords)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(70, (short)(this.MTextFlag)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(70, BoolShort(this.IsReallyLocked)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(70, (short)SecondaryAttributes.Count));
            }
            if (version >= DxfAcadVersion.R2007)
            {
                pairs.AddRange(this.SecondaryAttributesPointers.Pointers.Where(p => p.Handle != 0u).Select(p => new DxfCodePair(340, DxfCommonConverters.UIntHandle(p.Handle))));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(10, AlignmentPoint.X));
                pairs.Add(new DxfCodePair(20, AlignmentPoint.Y));
                pairs.Add(new DxfCodePair(30, AlignmentPoint.Z));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(40, (this.AnnotationScale)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(2, (this.XRecordTag)));
            }
        }
Exemplo n.º 44
0
 internal abstract void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles);
Exemplo n.º 45
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);
            }
        }
Exemplo n.º 46
0
 protected internal abstract IEnumerable <DxfCodePair> GetSpecificPairs(DxfAcadVersion version, bool outputHandles, HashSet <IDxfItem> writtenItems);
Exemplo n.º 47
0
 protected virtual void AddTrailingCodePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
 }
Exemplo n.º 48
0
        internal IEnumerable<DxfCodePair> GetValuePairs(DxfAcadVersion version, bool outputHandles)
        {
            var list = new List<DxfCodePair>();
            list.Add(new DxfCodePair(0, BlockText));
            if (outputHandles && ((IDxfItemInternal)this).Handle != 0u)
            {
                list.Add(new DxfCodePair(5, DxfCommonConverters.UIntHandle(((IDxfItemInternal)this).Handle)));
            }

            if (version >= DxfAcadVersion.R14)
            {
                foreach (var group in ExtensionDataGroups)
                {
                    group.AddValuePairs(list, version, outputHandles);
                }
            }

            if (version >= DxfAcadVersion.R13)
            {
                if (((IDxfItemInternal)this).OwnerHandle != 0u)
                {
                    list.Add(new DxfCodePair(330, DxfCommonConverters.UIntHandle(((IDxfItemInternal)this).OwnerHandle)));
                }

                list.Add(new DxfCodePair(100, AcDbEntityText));
            }

            if (IsInPaperSpace)
            {
                list.Add(new DxfCodePair(67, DxfCommonConverters.BoolShort(IsInPaperSpace)));
            }

            list.Add(new DxfCodePair(8, Layer));
            if (version >= DxfAcadVersion.R13)
            {
                list.Add(new DxfCodePair(100, AcDbBlockBeginText));
            }

            list.Add(new DxfCodePair(2, Name));
            list.Add(new DxfCodePair(70, (short)Flags));
            list.Add(new DxfCodePair(10, BasePoint.X));
            list.Add(new DxfCodePair(20, BasePoint.Y));
            list.Add(new DxfCodePair(30, BasePoint.Z));
            if (version >= DxfAcadVersion.R12)
            {
                list.Add(new DxfCodePair(3, Name));
            }

            list.Add(new DxfCodePair(1, XrefName));

            if (!string.IsNullOrEmpty(Description))
            {
                list.Add(new DxfCodePair(4, Description));
            }

            // entities in blocks need handles for some applications
            list.AddRange(Entities.SelectMany(e => e.GetValuePairs(version, outputHandles)));

            list.AddRange(EndBlock.GetValuePairs(version, outputHandles));

            return list;
        }
Exemplo n.º 49
0
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(1, (this.Name)));
            pairs.Add(new DxfCodePair(2, (this.Description)));
            pairs.Add(new DxfCodePair(70, BoolShort(this.OverrideAmbientColor)));
            pairs.Add(new DxfCodePair(40, (this.AmbientColorFactor)));
            pairs.Add(new DxfCodePair(90, (this.AmbientColorValue)));
            pairs.Add(new DxfCodePair(71, BoolShort(this.OverrideDiffuseColor)));
            pairs.Add(new DxfCodePair(41, (this.DiffuseColorFactor)));
            pairs.Add(new DxfCodePair(91, (this.DiffuseColorValue)));
            pairs.Add(new DxfCodePair(42, (this.DiffuseMapBlendFactor)));
            pairs.Add(new DxfCodePair(72, BoolShort(this.UseImageFileForDiffuseMap)));
            pairs.Add(new DxfCodePair(3, (this.DiffuseMapFileName)));
            pairs.Add(new DxfCodePair(73, (short)(this.DiffuseMapProjectionMethod)));
            pairs.Add(new DxfCodePair(74, (short)(this.DiffuseMapTilingMethod)));
            pairs.Add(new DxfCodePair(75, (short)(this.DiffuseMapAutoTransformMethod)));
            foreach (var item in DiffuseMapTransformMatrix?.GetValues() ?? new double[0])
            {
                pairs.Add(new DxfCodePair(43, item));
            }

            pairs.Add(new DxfCodePair(44, (this.SpecularGlossFactor)));
            pairs.Add(new DxfCodePair(76, BoolShort(this.OverrideSpecularColor)));
            pairs.Add(new DxfCodePair(45, (this.SpecularColorFactor)));
            pairs.Add(new DxfCodePair(92, (this.SpecularColorValue)));
            pairs.Add(new DxfCodePair(46, (this.SpecularMapBlendFactor)));
            pairs.Add(new DxfCodePair(77, BoolShort(this.UseImageFileForSpecularMap)));
            pairs.Add(new DxfCodePair(4, (this.SpecularMapFileName)));
            pairs.Add(new DxfCodePair(78, (short)(this.SpecularMapProjectionMethod)));
            pairs.Add(new DxfCodePair(79, (short)(this.SpecularMapTilingMethod)));
            pairs.Add(new DxfCodePair(170, (short)(this.SpecularMapAutoTransformMethod)));
            foreach (var item in SpecularMapTransformMatrix?.GetValues() ?? new double[0])
            {
                pairs.Add(new DxfCodePair(47, item));
            }

            pairs.Add(new DxfCodePair(48, (this.ReflectionMapBlendFactor)));
            pairs.Add(new DxfCodePair(171, BoolShort(this.UseImageFileForReflectionMap)));
            pairs.Add(new DxfCodePair(6, (this.ReflectionMapFileName)));
            pairs.Add(new DxfCodePair(172, (short)(this.ReflectionMapProjectionMethod)));
            pairs.Add(new DxfCodePair(173, (short)(this.ReflectionMapTilingMethod)));
            pairs.Add(new DxfCodePair(174, (short)(this.ReflectionMapAutoTransformMethod)));
            foreach (var item in ReflectionMapTransformMatrix?.GetValues() ?? new double[0])
            {
                pairs.Add(new DxfCodePair(49, item));
            }

            pairs.Add(new DxfCodePair(140, (this.OpacityFactor)));
            pairs.Add(new DxfCodePair(141, (this.OpacityMapBlendFactor)));
            pairs.Add(new DxfCodePair(175, BoolShort(this.UseImageFileForOpacityMap)));
            pairs.Add(new DxfCodePair(7, (this.OpacityMapFileName)));
            pairs.Add(new DxfCodePair(176, (short)(this.OpacityMapProjectionMethod)));
            pairs.Add(new DxfCodePair(177, (short)(this.OpacityMapTilingMethod)));
            pairs.Add(new DxfCodePair(178, (short)(this.OpacityMapAutoTransformMethod)));
            foreach (var item in OpacityMapTransformMatrix?.GetValues() ?? new double[0])
            {
                pairs.Add(new DxfCodePair(142, item));
            }

            pairs.Add(new DxfCodePair(143, (this.BumpMapBlendFactor)));
            pairs.Add(new DxfCodePair(179, BoolShort(this.UseImageFileForBumpMap)));
            pairs.Add(new DxfCodePair(8, (this.BumpMapFileName)));
            pairs.Add(new DxfCodePair(270, (short)(this.BumpMapProjectionMethod)));
            pairs.Add(new DxfCodePair(271, (short)(this.BumpMapTilingMethod)));
            pairs.Add(new DxfCodePair(272, (short)(this.BumpMapAutoTransformMethod)));
            foreach (var item in BumpMapTransformMatrix?.GetValues() ?? new double[0])
            {
                pairs.Add(new DxfCodePair(144, item));
            }

            pairs.Add(new DxfCodePair(145, (this.RefractionIndex)));
            pairs.Add(new DxfCodePair(146, (this.RefractionMapBlendFactor)));
            pairs.Add(new DxfCodePair(273, BoolShort(this.UseImageFileForRefractionMap)));
            pairs.Add(new DxfCodePair(9, (this.RefractionMapFileName)));
            pairs.Add(new DxfCodePair(274, (short)(this.RefractionMapProjectionMethod)));
            pairs.Add(new DxfCodePair(275, (short)(this.RefractionMapTilingMethod)));
            pairs.Add(new DxfCodePair(276, (short)(this.RefractionMapAutoTransformMethod)));
            foreach (var item in RefractionMapTransformMatrix?.GetValues() ?? new double[0])
            {
                pairs.Add(new DxfCodePair(147, item));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(460, (this.ColorBleedScale)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(461, (this.IndirectDumpScale)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(462, (this.ReflectanceScale)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(463, (this.TransmittanceScale)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(290, (this.IsTwoSided)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(464, (this.Luminance)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(270, (this.LuminanceMode)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(271, (this.NormalMapMethod)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(465, (this.NormalMapStrength)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(42, (this.NormalMapBlendFactor)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(72, BoolShort(this.UseImageFileForNormalMap)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(3, (this.NormalMapFileName)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(73, (short)(this.NormalMapProjectionMethod)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(74, (short)(this.NormalMapTilingMethod)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(75, (short)(this.NormalMapAutoTransformMethod)));
            }

            foreach (var item in NormalMapTransformMatrix?.GetValues() ?? new double[0])
            {
                pairs.Add(new DxfCodePair(43, item));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(293, (this.IsAnonymous)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(272, (this.GlobalIlluminationMode)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(273, (this.FinalGatherMode)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(300, (this.GenProcName)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(291, (this.GenProcBooleanValue)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(271, (this.GenProcIntegerValue)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(469, (this.GenProcRealValue)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(301, (this.GenProcTextValue)));
            }

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

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(62, GetRawValue(this.GenProcColorIndexValue)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(420, (this.GenProcColorRGBValue)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(430, (this.GenProcColorName)));
            }

            if (version >= DxfAcadVersion.R2007)
            {
                pairs.Add(new DxfCodePair(270, (this.MapUTile)));
            }

            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(148, (this.Translucence)));
            }

            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(90, (this.SelfIllumination)));
            }

            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(468, (this.Reflectivity)));
            }

            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(93, (this.IlluminationModel)));
            }

            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(94, (this.ChannelFlags)));
            }
        }
Exemplo n.º 50
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);
            }
        }
Exemplo n.º 51
0
 protected virtual void AddTrailingCodePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles, HashSet <IDxfItem> writtenItems)
 {
 }
Exemplo n.º 52
0
        internal static DxfClass FromBuffer(DxfCodePairBufferReader buffer, DxfAcadVersion version)
        {
            var cls = new DxfClass();

            // version R13 has varying values for the leading 0 code pair
            var pair = buffer.Peek();

            Debug.Assert(pair.Code == 0);
            if (version <= DxfAcadVersion.R13)
            {
                cls.ClassDxfRecordName = pair.StringValue;
            }
            else
            {
                // swallow (0, CLASS)
                Debug.Assert(pair.StringValue == ClassText);
            }

            buffer.Advance();
            while (buffer.ItemsRemain)
            {
                pair = buffer.Peek();
                if (pair.Code == 0)
                {
                    break;
                }

                buffer.Advance();
                switch (pair.Code)
                {
                case 1:
                    if (version <= DxfAcadVersion.R13)
                    {
                        cls.CppClassName = pair.StringValue;
                    }
                    else
                    {
                        cls.ClassDxfRecordName = pair.StringValue;
                    }
                    break;

                case 2:
                    if (version <= DxfAcadVersion.R13)
                    {
                        cls.ApplicationName = pair.StringValue;
                    }
                    else
                    {
                        cls.CppClassName = pair.StringValue;
                    }
                    break;

                case 3:
                    if (version >= DxfAcadVersion.R14)
                    {
                        cls.ApplicationName = pair.StringValue;
                    }
                    break;

                case 90:
                    if (version <= DxfAcadVersion.R13)
                    {
                        cls.ClassVersionNumber = pair.IntegerValue;
                    }
                    else
                    {
                        cls.ProxyCapabilities = new DxfProxyCapabilities(pair.IntegerValue);
                    }
                    break;

                case 91:
                    cls.InstanceCount = pair.IntegerValue;
                    break;

                case 280:
                    cls.WasClassLoadedWithFile = !DxfCommonConverters.BoolShort(pair.ShortValue);
                    break;

                case 281:
                    cls.IsEntity = DxfCommonConverters.BoolShort(pair.ShortValue);
                    break;
                }
            }

            return(cls);
        }
Exemplo n.º 53
0
        protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            if (version >= DxfAcadVersion.R13)
            {
                pairs.Add(new DxfCodePair(100, "AcDbProxyObject"));
            }
            pairs.Add(new DxfCodePair(90, (this.ProxyObjectClassId)));
            pairs.Add(new DxfCodePair(91, (this.ApplicationObjectClassId)));
            pairs.Add(new DxfCodePair(93, (this.SizeInBits)));
            pairs.AddRange(this.BinaryObjectData.Select(p => new DxfCodePair(310, p)));
            foreach (var item in ObjectIds)
            {
                pairs.Add(new DxfCodePair(330, item));
            }

            pairs.Add(new DxfCodePair(94, 0));
            pairs.Add(new DxfCodePair(95, (int)(this._objectDrawingFormat)));
            pairs.Add(new DxfCodePair(70, BoolShort(this.IsOriginalObjectDxfFormat)));
        }
        protected override void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbDimension"));
            if (version >= DxfAcadVersion.R2010)
            {
                pairs.Add(new DxfCodePair(280, (short)(this.Version)));
            }

            pairs.Add(new DxfCodePair(2, (this.BlockName)));
            pairs.Add(new DxfCodePair(10, DefinitionPoint1.X));
            pairs.Add(new DxfCodePair(20, DefinitionPoint1.Y));
            pairs.Add(new DxfCodePair(30, DefinitionPoint1.Z));
            pairs.Add(new DxfCodePair(11, TextMidPoint.X));
            pairs.Add(new DxfCodePair(21, TextMidPoint.Y));
            pairs.Add(new DxfCodePair(31, TextMidPoint.Z));
            pairs.Add(new DxfCodePair(70, HandleDimensionType(this.DimensionType)));
            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(71, (short)(this.AttachmentPoint)));
            }

            if (version >= DxfAcadVersion.R2000 && this.TextLineSpacingStyle != DxfTextLineSpacingStyle.AtLeast)
            {
                pairs.Add(new DxfCodePair(72, (short)(this.TextLineSpacingStyle)));
            }

            if (version >= DxfAcadVersion.R2000 && this.TextLineSpacingFactor != 1.0)
            {
                pairs.Add(new DxfCodePair(41, (this.TextLineSpacingFactor)));
            }

            if (version >= DxfAcadVersion.R2000 && this.ActualMeasurement != 0.0)
            {
                pairs.Add(new DxfCodePair(42, (this.ActualMeasurement)));
            }

            pairs.Add(new DxfCodePair(1, (this.Text)));
            if (this.TextRotationAngle != 0.0)
            {
                pairs.Add(new DxfCodePair(53, (this.TextRotationAngle)));
            }

            if (this.HorizontalDirectionAngle != 0.0)
            {
                pairs.Add(new DxfCodePair(51, (this.HorizontalDirectionAngle)));
            }

            if (this.Normal != DxfVector.ZAxis)
            {
                pairs.Add(new DxfCodePair(210, Normal.X));
                pairs.Add(new DxfCodePair(220, Normal.Y));
                pairs.Add(new DxfCodePair(230, Normal.Z));
            }

            if (version >= DxfAcadVersion.R12)
            {
                pairs.Add(new DxfCodePair(3, (this.DimensionStyleName)));
            }

            if (XData != null)
            {
                XData.AddValuePairs(pairs, version, outputHandles);
            }
        }
Exemplo n.º 55
0
        protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            base.AddValuePairs(pairs, version, outputHandles);
            pairs.Add(new DxfCodePair(100, "AcDbFcf"));
            pairs.Add(new DxfCodePair(3, (this.DimensionStyleName)));
            pairs.Add(new DxfCodePair(10, InsertionPoint?.X ?? default(double)));
            pairs.Add(new DxfCodePair(20, InsertionPoint?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(30, InsertionPoint?.Z ?? default(double)));
            if (version >= DxfAcadVersion.R2000)
            {
                pairs.Add(new DxfCodePair(1, (this.DisplayText)));
            }

            if (this.ExtrusionDirection != DxfVector.ZAxis)
            {
                pairs.Add(new DxfCodePair(210, ExtrusionDirection?.X ?? default(double)));
                pairs.Add(new DxfCodePair(220, ExtrusionDirection?.Y ?? default(double)));
                pairs.Add(new DxfCodePair(230, ExtrusionDirection?.Z ?? default(double)));
            }

            pairs.Add(new DxfCodePair(11, DirectionVector?.X ?? default(double)));
            pairs.Add(new DxfCodePair(21, DirectionVector?.Y ?? default(double)));
            pairs.Add(new DxfCodePair(31, DirectionVector?.Z ?? default(double)));
        }
Exemplo n.º 56
0
        private static void AddListValuePairs(IEnumerable <DxfXDataItem> items, List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            pairs.Add(new DxfCodePair((int)DxfXDataType.ControlString, "{"));
            foreach (var subItem in items)
            {
                subItem.AddValuePairs(pairs, version, outputHandles);
            }

            pairs.Add(new DxfCodePair((int)DxfXDataType.ControlString, "}"));
        }
Exemplo n.º 57
0
 protected override void AddValuePairs(List<DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
 {
     base.AddValuePairs(pairs, version, outputHandles);
     pairs.Add(new DxfCodePair(170, (this.ContentType)));
     pairs.Add(new DxfCodePair(171, (this.DrawMLeaderOrderType)));
     pairs.Add(new DxfCodePair(172, (this.DrawLeaderOrderType)));
     pairs.Add(new DxfCodePair(90, (this.MaxLeaderSegmentCount)));
     pairs.Add(new DxfCodePair(40, (this.FirstSegmentAngleConstraint)));
     pairs.Add(new DxfCodePair(41, (this.SecondSegmentAngleConstraint)));
     pairs.Add(new DxfCodePair(173, (this.LeaderLineType)));
     pairs.Add(new DxfCodePair(91, (this.LeaderLineColor)));
     pairs.Add(new DxfCodePair(340, UIntHandle(this.LeaderLineTypeHandle)));
     pairs.Add(new DxfCodePair(92, (this.LeaderLineWeight)));
     pairs.Add(new DxfCodePair(290, (this.EnableLanding)));
     pairs.Add(new DxfCodePair(42, (this.LandingGap)));
     pairs.Add(new DxfCodePair(291, (this.EnableDogleg)));
     pairs.Add(new DxfCodePair(43, (this.DoglegLength)));
     pairs.Add(new DxfCodePair(3, (this.MLeaderStyleDescription)));
     pairs.Add(new DxfCodePair(341, UIntHandle(this.ArrowheadHandle)));
     pairs.Add(new DxfCodePair(44, (this.ArrowheadSize)));
     pairs.Add(new DxfCodePair(300, (this.DefaultMTextContents)));
     pairs.Add(new DxfCodePair(342, UIntHandle(this.MTextStyleHandle)));
     pairs.Add(new DxfCodePair(174, (this.TextLeftAttachmentType)));
     pairs.Add(new DxfCodePair(175, (this.TextAngleType)));
     pairs.Add(new DxfCodePair(176, (this.TextAlignmentType)));
     pairs.Add(new DxfCodePair(178, (this.TextRightAttachmentType)));
     pairs.Add(new DxfCodePair(93, (this.TextColor)));
     pairs.Add(new DxfCodePair(45, (this.TextHeight)));
     pairs.Add(new DxfCodePair(292, (this.EnableFrameText)));
     pairs.Add(new DxfCodePair(297, (this.AlwaysAlignTextLeft)));
     pairs.Add(new DxfCodePair(46, (this.AlignGap)));
     pairs.Add(new DxfCodePair(343, UIntHandle(this.BlockContentHandle)));
     pairs.Add(new DxfCodePair(94, (this.BlockContentColor)));
     pairs.Add(new DxfCodePair(47, (this.BlockContentXScale)));
     pairs.Add(new DxfCodePair(49, (this.BlockContentYScale)));
     pairs.Add(new DxfCodePair(140, (this.BlockContentZScale)));
     pairs.Add(new DxfCodePair(293, (this.EnableBlockContentScale)));
     pairs.Add(new DxfCodePair(141, (this.BlockContentRotation)));
     pairs.Add(new DxfCodePair(294, (this.EnableBlockContentRotation)));
     pairs.Add(new DxfCodePair(177, (this.BlockContentConnectionType)));
     pairs.Add(new DxfCodePair(142, (this.Scale)));
     pairs.Add(new DxfCodePair(295, (this.OverwritePropertyValue)));
     pairs.Add(new DxfCodePair(296, (this.IsAnnotative)));
     pairs.Add(new DxfCodePair(143, (this.BreakGapSize)));
     pairs.Add(new DxfCodePair(271, (short)(this.TextAttachmentDirection)));
     pairs.Add(new DxfCodePair(272, (short)(this.BottomTextAttachmentDirection)));
     pairs.Add(new DxfCodePair(273, (short)(this.TopTextAttachmentDirection)));
 }
Exemplo n.º 58
0
        internal void AddValuePairs(List <DxfCodePair> pairs, DxfAcadVersion version, bool outputHandles)
        {
            var code = (int)Type;

            switch (this)
            {
            case DxfXDataString s:
                pairs.Add(new DxfCodePair(code, s.Value));
                break;

            case DxfXDataItemList l:
                AddListValuePairs(l.Items, pairs, version, outputHandles);
                break;

            case DxfXDataNamedList n:
                pairs.Add(new DxfCodePair(code, n.Name));
                AddListValuePairs(n.Items, pairs, version, outputHandles);
                break;

            case DxfXDataLayerName l:
                pairs.Add(new DxfCodePair(code, l.Value));
                break;

            case DxfXDataBinaryData b:
                pairs.Add(new DxfCodePair(code, DxfCommonConverters.HexBytes(b.Value)));
                break;

            case DxfXDataHandle h:
                pairs.Add(new DxfCodePair(code, DxfCommonConverters.UIntHandle(h.Value)));
                break;

            case DxfXData3Reals r:
                pairs.Add(new DxfCodePair(code, r.Value.X));
                pairs.Add(new DxfCodePair(code + 10, r.Value.Y));
                pairs.Add(new DxfCodePair(code + 20, r.Value.Z));
                break;

            case DxfXDataWorldSpacePosition w:
                pairs.Add(new DxfCodePair(code, w.Value.X));
                pairs.Add(new DxfCodePair(code + 10, w.Value.Y));
                pairs.Add(new DxfCodePair(code + 20, w.Value.Z));
                break;

            case DxfXDataWorldSpaceDisplacement w:
                pairs.Add(new DxfCodePair(code, w.Value.X));
                pairs.Add(new DxfCodePair(code + 10, w.Value.Y));
                pairs.Add(new DxfCodePair(code + 20, w.Value.Z));
                break;

            case DxfXDataWorldDirection w:
                pairs.Add(new DxfCodePair(code, w.Value.X));
                pairs.Add(new DxfCodePair(code + 10, w.Value.Y));
                pairs.Add(new DxfCodePair(code + 20, w.Value.Z));
                break;

            case DxfXDataReal r:
                pairs.Add(new DxfCodePair(code, r.Value));
                break;

            case DxfXDataDistance d:
                pairs.Add(new DxfCodePair(code, d.Value));
                break;

            case DxfXDataScaleFactor s:
                pairs.Add(new DxfCodePair(code, s.Value));
                break;

            case DxfXDataInteger i:
                pairs.Add(new DxfCodePair(code, i.Value));
                break;

            case DxfXDataLong l:
                pairs.Add(new DxfCodePair(code, l.Value));
                break;

            default:
                throw new InvalidOperationException("Unexpected XDATA item " + Type);
            }
        }
Exemplo n.º 59
0
 public DxfWriter(Stream stream, bool asText, DxfAcadVersion version)
 {
     fileStream   = stream;
     this.asText  = asText;
     this.version = version;
 }
Exemplo n.º 60
0
        private static void EnsureFileDoesNotContainWithEntity(DxfEntity entity, string unwantedText, DxfAcadVersion version = DxfAcadVersion.R12)
        {
            var file = new DxfFile();

            file.Header.Version = version;
            file.Entities.Add(entity);
            VerifyFileDoesNotContain(file, unwantedText, sectionType: DxfSectionType.Entities);
        }