明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 377|回复: 0

CAD控件网页版线型

[复制链接]
发表于 2019-5-24 10:03 | 显示全部楼层 |阅读模式
增加线型
主要用到函数说明:

_DMxDrawX::AddLinetype

增加一个线型定义。详细说明如下:
参数 说明
BSTR pszName 线型名
BSTR pszLineDefine 线定义字符串
用户可以增加线型到数据库,具体实现js代码如下:
  1. //新建一个线型
  2. function CreateLineType() {
  3.     //定义虚线数据据,"MyLineType"是线型名,"6,-8"是虚线的一个单位定义,6是实线长,-8是空格长。
  4.     var linetypeId= mxOcx.AddLinetype("MyLineType3", "6,-10");
  5.     //返回控件的数据库对象
  6.     var database = mxOcx.GetDatabase();
  7.     //实体id返回实体对象
  8.     var linetype = database.ObjectIdToObject(linetypeId);
  9.     //设计当前线型为"MyLineType"
  10.     database.CurrentlyLineTypeName  = "MyLineType3";
  11.     alert("添加成功");
  12. }
复制代码
用户可以增加一个点划线虚线线型到数据库,具体实现js代码如下:
  1. function CreateLineType1() {
  2.    
  3.     var linetypeId= mxOcx.AddLinetype("MyLineType1", "10,-2,3,-2");
  4.     //返回控件的数据库对象
  5.     var database = mxOcx.GetDatabase();
  6.     //实体id返回实体对象
  7.     var linetype = database.ObjectIdToObject(linetypeId);
  8.     //设计当前线型为"MyLineType1"
  9.     database.CurrentlyLineTypeName  = "MyLineType1";
  10.     alert("添加成功");
  11. }
复制代码
用户可以增加一个带有形的线型到数据库。

主要用到函数说明:

_DMxDrawX::AddTextStyle1

向数据库中增加一个文字样式。详细说明如下:
参数 说明
BSTR pszName 文字样式名称
BSTR pszFileName shx文件名
BSTR pszBigFontFileName big shx文件名
DOUBLE dXScale 文字宽度缩放比例
_DMxDrawX::AddLinetypeEx

增加一个带文字的复杂线型。详细说明如下:
参数 说明
BSTR pszName 线型名
BSTR pszLineDefine 线型定义字符串
BSTR pszTextStyle 线型中的文字样式
具体实现js代码如下:
  1. function CreateLineType2() {
  2.     //增加一个带有形的线型
  3.     mxOcx.AddTextStyle1("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);
  4.     var linetypeId= mxOcx.AddLinetypeEx ("MyLineType2", "(12.7,("T=MxDraw","S=2.54","L=-5.08","R=0.0"," +
  5.         ""X=-2.54","Y=-1.27"),-10.08)","MyLineTypeTextStyle");
  6.     //返回控件的数据库对象
  7.     var database = mxOcx.GetDatabase();
  8.     //实体id返回实体对象
  9.     var linetype = database.ObjectIdToObject(linetypeId);
  10.     //设计当前线型为"MyLineType2"
  11.     database.CurrentlyLineTypeName  = "MyLineType2";
  12.     alert("添加成功");
  13. }
复制代码
得到线型名
用户可以得到所有线型名,具体实现js代码如下:
  1. function GetAllLineType() {
  2.     var database = mxOcx.GetDatabase();
  3.     // 得到所有图层名
  4.     var sRet = null;
  5.     //返回数据库中的线型表对象
  6.     var spLinetypeStyleTable = database.GetLinetypeTable();
  7.     //创建一个遍历所有线型的遍历器
  8.     var spIter = spLinetypeStyleTable.NewIterator();
  9.     //移动当前遍历器位置
  10.     for(;!spIter.Done();spIter.Step(true,true))
  11.     {
  12.         //返回遍历器当前位置的记录
  13.         var spLinetypeStyleTableRec = spIter.GetRecord();
  14.         //符号表记录名属性
  15.         var sName = spLinetypeStyleTableRec.Name;
  16.         // 0零层不参加比较
  17.         if(sName != "0")
  18.         {
  19.             if(sRet == null)
  20.                 sRet = sName;
  21.             else
  22.             {
  23.                 sRet = sRet +","+sName;
  24.             }
  25.         }
  26.     }
  27.     alert(sRet);
  28. }
复制代码
删除线型
用户可以得到删除某个线型,具体实现js代码如下:
  1. function DelLineType() {
  2.     var winWidth = 440;
  3.     var winHeight = 140;
  4.     var winLeft = (screen.width - winWidth) / 2;
  5.     var winTop = (screen.height - winHeight) / 2 - 20;
  6.     var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
  7.     var rt = window.showModalDialog("Gettext.htm?tmp=" + Math.random(), "输入图层名", str);
  8.     var txt;
  9.     if (typeof (rt) == "undefined") {
  10.         return;
  11.     } else {
  12.         var arr = rt.split(",");
  13.         txt = arr[0];
  14.     }
  15.     var database = mxOcx.GetDatabase();
  16.     //返回数据库中的线型表对象
  17.     var LinetypeStyleTable = database.GetLinetypeTable();
  18.     //得到线型表中的线型对象
  19.     var LinetypeStyleRec = LinetypeStyleTable.GetAt(txt, false);
  20.     if (LinetypeStyleRec == null)
  21.         return;
  22.     //删除对象
  23.     LinetypeStyleRec.Erase();
  24.     alert("成功删除线型");
  25.     mxOcx.Regen();
  26. }
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-25 21:01 , Processed in 0.228077 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表