⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dxfpolybezier.cs

📁 导出dxf的原码类库,根据国外一个反编译的
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DXFFile
{
    public class DXFPolyBezier :DXFPolyline

    {
        // Methods
        public DXFPolyBezier()
        {
        }

        public DXFPolyBezier(DXFData aData, int aIndex)
            : base(aData, aIndex)
        {
        }

        public override void ExportAsDXF(DXFExport ADXFExport)
        {
            if (((base.data.points.Count - 4) % 3) != 0)
            {
                base.ExportAsDXF(ADXFExport);
            }
            else
            {
                int num5;
                int num3 = (base.data.points.Count - 1) + ((int)Math.Floor((double)(base.data.points.Count / 3)));
                float num2 = 1f / ((float)num3);
                ADXFExport.AddName("SPLINE", "AcDbSpline");
                ADXFExport.AddColor(base.data);
                ADXFExport.AddThickness(base.data);
                ADXFExport.Add3DPoint(210, new DXFPoint(0f, 0f, 1f));
                ADXFExport.AddInt(70, 8);
                ADXFExport.AddInt(0x47, 3);
                ADXFExport.AddInt(0x48, num3 + DXFTables.cnstAmount);
                ADXFExport.AddInt(0x49, num3);
                ADXFExport.AddInt(0x4a, 0);
                ADXFExport.AddFloat(0x2a, 1E-07f);
                ADXFExport.AddFloat(0x2b, 1E-07f);
                int num4 = 0;
                float num = 0f;
                while (num4 < num3)
                {
                    num5 = 0;
                    while (num5 < DXFTables.cnstAmount)
                    {
                        ADXFExport.AddFloat(40, num);
                        num5++;
                    }
                    num += num2;
                    num4 += DXFTables.cnstAmount;
                }
                num = 1f;
                for (num5 = 0; num5 < DXFTables.cnstAmount; num5++)
                {
                    ADXFExport.AddFloat(40, num);
                }
                for (num4 = 0; num4 < base.data.points.Count; num4++)
                {
                    ADXFExport.Add3DPoint(10, (DXFPoint)base.data.points[num4]);
                    if ((((num4 % 3) == 0) && (num4 != 0)) && (num4 != (base.data.points.Count - 1)))
                    {
                        ADXFExport.Add3DPoint(10, (DXFPoint)base.data.points[num4]);
                    }
                }
            }
        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -