梦想CAD控件网页版线型

增加线型

主要用到函数说明:


_DMxDrawX::AddLinetype


增加一个线型定义。详细说明如下:


参数 说明

BSTR pszName

线型名

BSTR pszLineDefine

线定义字符串


用户可以增加线型到数据库,具体实现js代码如下:


 //新建一个线型
function CreateLineType() {
    //定义虚线数据据,"MyLineType"是线型名,"6,-8"是虚线的一个单位定义,6是实线长,-8是空格长。
    var linetypeId= mxOcx.AddLinetype("MyLineType3", "6,-10");
    //返回控件的数据库对象
    var database = mxOcx.GetDatabase();
    //实体id返回实体对象
    var linetype = database.ObjectIdToObject(linetypeId);
    //设计当前线型为"MyLineType"
    database.CurrentlyLineTypeName  = "MyLineType3";
    alert("添加成功");
}


用户可以增加一个点划线虚线线型到数据库,具体实现js代码如下:


function CreateLineType1() {
   
    var linetypeId= mxOcx.AddLinetype("MyLineType1", "10,-2,3,-2");
    //返回控件的数据库对象
    var database = mxOcx.GetDatabase();
    //实体id返回实体对象
    var linetype = database.ObjectIdToObject(linetypeId);
    //设计当前线型为"MyLineType1"
    database.CurrentlyLineTypeName  = "MyLineType1";
    alert("添加成功");
}


用户可以增加一个带有形的线型到数据库。


主要用到函数说明:


_DMxDrawX::AddTextStyle1


向数据库中增加一个文字样式。详细说明如下:


参数 说明

BSTR pszName

文字样式名称

BSTR pszFileName

shx文件名

BSTR pszBigFontFileName

big shx文件名

DOUBLE dXScale

文字宽度缩放比例


_DMxDrawX::AddLinetypeEx


增加一个带文字的复杂线型。详细说明如下:


参数 说明

BSTR pszName

线型名

BSTR pszLineDefine

线型定义字符串

BSTR pszTextStyle

线型中的文字样式


具体实现js代码如下:


 function CreateLineType2() {
    //增加一个带有形的线型
    mxOcx.AddTextStyle1("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);
    var linetypeId= mxOcx.AddLinetypeEx ("MyLineType2", "(12.7,(\"T=MxDraw\",\"S=2.54\",\"L=-5.08\",\"R=0.0\"," +
        "\"X=-2.54\",\"Y=-1.27\"),-10.08)","MyLineTypeTextStyle");
    //返回控件的数据库对象
    var database = mxOcx.GetDatabase();
    //实体id返回实体对象
    var linetype = database.ObjectIdToObject(linetypeId);
    //设计当前线型为"MyLineType2"
    database.CurrentlyLineTypeName  = "MyLineType2";
    alert("添加成功");
}

得到线型名

用户可以得到所有线型名,具体实现js代码如下:


  
     function GetAllLineType() {
    var database = mxOcx.GetDatabase();
    // 得到所有图层名
    var sRet = null;
    //返回数据库中的线型表对象
    var spLinetypeStyleTable = database.GetLinetypeTable();
    //创建一个遍历所有线型的遍历器
    var spIter = spLinetypeStyleTable.NewIterator();
    //移动当前遍历器位置
    for(;!spIter.Done();spIter.Step(true,true))
    {
        //返回遍历器当前位置的记录
        var spLinetypeStyleTableRec = spIter.GetRecord();
        //符号表记录名属性
        var sName = spLinetypeStyleTableRec.Name;
        // 0零层不参加比较
        if(sName != "0")
        {
            if(sRet == null)
                sRet = sName;
            else
            {
                sRet = sRet +","+sName;
            }
        }
    }
    alert(sRet);
}

删除线型

用户可以得到删除某个线型,具体实现js代码如下:


function DelLineType() {
    var winWidth = 440;
    var winHeight = 140;
    var winLeft = (screen.width - winWidth) / 2;
    var winTop = (screen.height - winHeight) / 2 - 20;
    var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
    var rt = window.showModalDialog("Gettext.htm?tmp=" + Math.random(), "输入图层名", str);
    var txt;
    if (typeof (rt) == "undefined") {
        return;
    } else {
        var arr = rt.split(",");
        txt = arr[0];
    }
    var database = mxOcx.GetDatabase();
    //返回数据库中的线型表对象
    var LinetypeStyleTable = database.GetLinetypeTable();
    //得到线型表中的线型对象
    var LinetypeStyleRec = LinetypeStyleTable.GetAt(txt, false);
    if (LinetypeStyleRec == null)
        return;
    //删除对象
    LinetypeStyleRec.Erase();
    alert("成功删除线型");
    mxOcx.Regen();
}

posted on 2019-05-22 14:14  梦想CAD控件  阅读(238)  评论(0)    收藏  举报

导航