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;
}
var database = mxOcx.GetDatabase();
//返回数据库中的线型表对象
var LinetypeStyleTable = database.GetLinetypeTable();
//得到线型表中的线型对象
var LinetypeStyleRec = LinetypeStyleTable.GetAt(txt, false);
if (LinetypeStyleRec == null)
return;
//删除对象
LinetypeStyleRec.Erase();
alert("成功删除线型");
mxOcx.Regen();
}
页:
[1]