使用MxDraw52后台操作dwg文件

梦想CAD是成都一家公司做的CAD数据库解决方案,支持桌面版、网页版和移动端的开发。如果业务需求不是太强,可以使用它进行二次开发,一套授权应该在5个W左右。它的控件界面和AutoCAD简直一模一样,官网有帮助文档,但感觉十分乱,下面是使用MxDraw52后台操作dwg文件的示例代码:

private void CadExample(string sourceFile)
{
    MxDrawService ser = new MxDrawService();
    // 打开文件
    ser.Open(sourceFile);
    // 取得数据库
    MxDrawDatabase database = ser.GetDatabase();

    //添加图层
    MxDrawLayerTable layerTable = database.GetLayerTable();
    MxDrawLayerTableRecord standardLayer = layerTable.Add("标准层");
    MxDrawMcCmColor standardColor = new MxDrawMcCmColor();
    standardColor.SetRGB(255, 0, 0);
    standardLayer.Color = standardColor;

    //设置当前图层
    database.CurrentlyLayerName = "标准层";

    //读写实体
    MxDrawBlockTableRecord currentSpace = database.CurrentSpace();
    //添加点
    MxDrawPointEntity pointEntity = currentSpace.AddPoint(100, 200);
    pointEntity.Layer = "0";
    //设置Z值
    pointEntity.Position.z = 125;


    //保存文件
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.Filter = @"*.dwg|*.dwg";
    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
        ser.SaveDwgFile(saveFileDialog.FileName);
    }

}

不过,还是建议使用Teigha作为解决方案,更能实现自己想要的内容。

 

posted @ 2022-07-23 16:29  我也是个傻瓜  阅读(158)  评论(0编辑  收藏  举报