Exemplo n.º 1
0
        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();
        }