/// <summary> /// Creates a new UnderlayPdfDefinition that is a copy of the current instance. /// </summary> /// <param name="newName">UnderlayPdfDefinition name of the copy.</param> /// <returns>A new UnderlayPdfDefinition that is a copy of this instance.</returns> public override TableObject Clone(string newName) { UnderlayPdfDefinition copy = new UnderlayPdfDefinition(newName, this.File) { Page = this.page }; foreach (XData data in this.XData.Values) { copy.XData.Add((XData)data.Clone()); } return(copy); }
private UnderlayDefinition ReadUnderlayDefinition(UnderlayType type) { string handle = null; string page = string.Empty; string ownerHandle = null; string fileName = null; string name = null; this.chunk.Next(); while (this.chunk.Code != 0) { switch (this.chunk.Code) { case 5: handle = this.chunk.ReadHex(); this.chunk.Next(); break; case 1: fileName = this.DecodeEncodedNonAsciiCharacters(this.chunk.ReadString()); this.chunk.Next(); break; case 2: page = this.DecodeEncodedNonAsciiCharacters(this.chunk.ReadString()); this.chunk.Next(); break; case 330: ownerHandle = this.chunk.ReadHex(); this.chunk.Next(); break; default: this.chunk.Next(); break; } } if (ownerHandle != null) { DictionaryObject underlayDefDict = this.dictionaries[ownerHandle]; if (handle == null) throw new NullReferenceException("Null handle in underlay definition dictionary."); name = underlayDefDict.Entries[handle]; } UnderlayDefinition underlayDef = null; switch (type) { case UnderlayType.DGN: underlayDef = new UnderlayDgnDefinition(fileName, name) { Handle = handle, Layout = page }; break; case UnderlayType.DWF: underlayDef = new UnderlayDwfDefinition(fileName, name) { Handle = handle }; break; case UnderlayType.PDF: underlayDef = new UnderlayPdfDefinition(fileName, name) { Handle = handle, Page = page }; break; } if (underlayDef == null) throw new NullReferenceException("Underlay reference definition."); this.underlayDefHandles.Add(underlayDef.Handle, underlayDef); return underlayDef; }
private static void UnderlayEntity() { UnderlayDgnDefinition underlayDef1 = new UnderlayDgnDefinition("DgnUnderlay.dgn"); Underlay underlay1 = new Underlay(underlayDef1); underlay1.Normal = new Vector3(1, 0, 0); underlay1.Position = new Vector3(0, 1, 0); underlay1.Scale = new Vector3(0.001); UnderlayDwfDefinition underlayDef2 = new UnderlayDwfDefinition("DwfUnderlay.dwf"); Underlay underlay2 = new Underlay(underlayDef2); underlay2.Rotation = 45; underlay2.Scale = new Vector3(0.01); UnderlayPdfDefinition underlayDef3 = new UnderlayPdfDefinition("PdfUnderlay.pdf"); underlayDef3.Page = "3"; Underlay underlay3 = new Underlay(underlayDef3); DxfDocument doc = new DxfDocument(DxfVersion.AutoCad2013); doc.AddEntity(underlay1); doc.AddEntity(underlay2); doc.AddEntity(underlay3); doc.Save("UnderlayEntity.dxf"); DxfDocument load = DxfDocument.Load("UnderlayEntity.dxf"); load.Save("UnderlayEntity2.dxf"); }