返回介绍

图层操作

发布于 2023-08-09 23:10:34 字数 2944 浏览 0 评论 0 收藏 0

DWG数据库中,图层存放在图层层表中,层表类名:MxDrawLayerTable,它的详细接口说明参考:http://www.mxdraw.com/help/frames.htm?frmname=topic&frmfile=IMxDrawLayerTable.htm

层表中每一条记录称为层表记录,类名:MxDrawLayerTableRecord,它的详细接口说明参数:http://www.mxdraw.com/help/frames.htm?frmname=topic&frmfile=IMxDrawLayerTableRecord.htm

每一个层,有颜色,线型,关闭/打开,冻结等属性,DWG数据库默认总是有一个"0"层,该层不能被删除。

图层操作在线演示例子:点击此处在线演示

视频演示:

A. 当前层

当前层表示DWG数据库默认层,向数据库中添加一个对象时,默认放到该层上,该属性随图存放,通过系统变量CLAYER操作,系统变量设置参考:http://www.mxdraw.com/help_2_48.html

设置当前层代码JS:

    var param = mxOcx.NewResbuf();

// 图层名
    param.AddStringEx("222");

// 图层亮度.
    param.AddDoubleEx(50);

// 不自动调用更新函数。
    param.AddLongEx(0);

    mxOcx.CallEx("Mx_SetLayerBright", param);

N. 得到图层亮度

下面是得到图层的亮度,222表示的是图层名字。

JS代码:

    var ret = mxOcx.Call("Mx_GetLayerBright", "222");
    if (ret.AtString(0) == "Ok")
    {
        alert(ret.AtDouble(1).toString());
    }

O. 删除图层

在删除图层前,最好判断一个该图层上是否有CAD绘图对象,如果有的话就不要删除图层

JS代码:

private bool DeleteLayer(String sLayerName)
        {
            // 判断图上是否对象。
            MxDrawResbuf param = (MxDrawResbuf)axMxDrawX1.Call("ExApp_isUselessLayer", sLayerName);
            if (param.AtLong(1) != 1)
            {
                // 图上还有对象,不能删除。
                return false;
            }
            // 得到数据库对象.
            MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
            // 得到层表.
            MxDrawLayerTable layerTable = database.GetLayerTable();
            // 得到层。
            MxDrawLayerTableRecord layer = layerTable.GetAt(sLayerName, false);
            if (layer == null)
            {
                // 没有该层
                return false;
            }
            else
            {
                // 删除图层。
                layer.Erase();
                return true;
            }
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文