public void Write(bool validate) { Class809.smethod_0(Enum15.const_3); DxfMessage[] messages; if (validate && !this.dxfModel_0.Validate(out messages)) { throw new DxfException("Cannot write invalid model", messages); } if (this.dxfModel_0.Header.AcadVersion < DxfVersion.Dxf13 || this.dxfModel_0.Header.AcadVersion > DxfVersion.Dxf27) { throw new NotSupportedException("Currently DwgWriter only supports writing versions 13, 14, 15, 18, 21, 24 and 27."); } this.dxfModel_0.method_28(new Class1070(this.dxfModel_0, FileFormat.Dwg, this.dxfVersion_0)); DxfScale currentAnnotationScale = this.dxfModel_0.Header.CurrentAnnotationScale; this.dxfModel_0.Header.CurrentAnnotationScale = (DxfScale)null; switch (this.dxfVersion_0) { case DxfVersion.Dxf13: Class745.Write(this.stream_0, this.dxfModel_0); break; case DxfVersion.Dxf14: Class722.Write(this.stream_0, this.dxfModel_0); break; case DxfVersion.Dxf15: Class653.Write(this.stream_0, this.dxfModel_0); break; case DxfVersion.Dxf18: new Class499(this.stream_0, this.dxfModel_0).Write(); break; case DxfVersion.Dxf21: Class921.Write(this.stream_0, this.dxfModel_0); break; case DxfVersion.Dxf24: new Class499(this.stream_0, this.dxfModel_0).Write(); break; case DxfVersion.Dxf27: new Class500(this.stream_0, this.dxfModel_0).Write(); break; } this.dxfModel_0.Header.CurrentAnnotationScale = currentAnnotationScale; if (!this.bool_0) { return; } this.stream_0.Close(); }