增加标注样式

_DMxDrawX::AddDimStyle

增加一个新的标注样式,如果当前已经有指定名的标注样式,就直接失败返回。详细说明如下:

参数 说明

BSTR pszName

新增加的标注样式名

BSTR pszDoubleData

标注样式的实数类型属性值,格式为: "变量类型值,实数值,变量类型值,实数值... ..."

可取设置如下变量的值:第一列变量名,第二列是变量的类型值 dimaltf,143 dimasz , 41 dimcen ,141 dimdle , 46 dimdli , 43 dimexe , 44 dimexo , 42 dimgap ,147 dimlfac,144 dimrnd , 45 dimscale, 40 dimtfac,146 dimtm , 48 dimtp , 47 dimtsz ,142 dimtvp ,145 dimtxt ,140 dimaltrnd,148

BSTR pszIntData

标注样式的整数类型属性值,格式为: "变量类型值,整数值,变量类型值,整数值... ..."

可取设置如下变量的值:第一列变量数据类型,第二列变量名,第三列是变量的类型值 Int dimadec,179 Bool dimalt ,170 Int dimaltd ,171

Int dimalttd,274 Int dimalttz,286 Int dimaltu ,273 Int dimaltz ,285
Int dimaunit,275
Color dimclrd ,176 Color dimclre ,177 Color dimclrt ,178 Int dimdec ,271
Int dimfit ,287
Int dimjust ,280
Bool dimlim , 72
Bool dimsah ,173
Bool dimsd1 ,281 Bool dimsd2 ,282 Bool dimse1 , 75 Bool dimse2 , 76
Bool dimsoxd ,175
Int dimtad , 77 Int dimtdec ,272
Bool dimtih , 73 Bool dimtix ,174
Bool dimtofl ,172 Bool dimtoh , 74 Bool dimtol , 71 Int dimtolj ,283
Int dimzin , 78 Int dimunit ,270 Bool dimupt ,288 Int dimtzin ,284 Int dimfrac ,276 Int dimlunit,277 Int dimatfit,289 Int dimtmove,279 Int dimazin, 79

BSTR pszStringData

标注样式的字符串类型属性值,格式为: "变量类型值,字符串值,变量类型值,字符串值... ..."

可取设置如下变量的值:第一列变量名,第二列是变量的类型值 dimapost,4 dimpost,3

BSTR pszIdData

标注样式的对象id类型属性值,格式为: "变量类型值,对象id值,变量类型值,对象id值... ..."

可取设置如下变量的值:第一列变量名,第二列是变量的类型值 dimblk, 342 dimblk1, 343 dimblk2, 344 dimldrblk,341 dimtxsty,340

js代码增加一个标注样式:

   var idTextStyleId = mxOcx.AddTextStyle1("MyTextStyle", "italicc.shx", "gbcbig.shx", 0.7);
// 文字高度140,2.5
// 标注精度: 271,4
var idDimStyleId = mxOcx.AddDimStyle("MyTest", "41,0.25,141,0.09,40,203,140,2.5", "271,4",
"", string.Format("340,{0}", idTextStyleId) );
var dimRec = mxOcx.ObjectIdToObject(idDimStyleId);
// 设置小数点分隔符.
dimRec.SetDimVarInt(278, '.');
// 测量比例因子: 144,2
dimRec.SetDimVarDouble(144, 2);

用户可以增加标注样式到数据库,具体实现js代码如下:

  function CreateDim(){
//返回控件的数据库对象
var database =mxOcx.GetDatabase();
//返回数据库中的标注样式表对象
var mxdim = database.GetDimStyleTable();
//增加新的标注样式
var dimstr = mxdim.Add("mydim");
//设置样式
dimstr.SetDimVarDouble(40, 20.0);
//返回数据库中的标注样式表对象
database.CurrentlyDimstyleName = "mydim"; }

得到标注样式名

用户可以得到所有标注样式名,具体实现js代码如下:

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

删除标注样式

用户可以得到删除某个标注样式,具体实现js代码如下:

 function DelDim() {
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 DimStyleTable = database.GetDimStyleTable();
//得到样式表表中的样式对象
var DimStyleRec = DimStyleTable.GetAt(txt, false);
if (DimStyleRec == null)
return;
//删除对象
DimStyleRec.Erase();
alert("成功删除标注样式");
}

最新文章

  1. JavaScript 的循环语句语法摘要
  2. 数据分页处理系列之二:HBase表数据分页处理
  3. WCF入门(11)
  4. $.getJSON 返回值、AJAX异步调用步骤
  5. http返回状态代码及含义
  6. IOS开发UIImage中stretchableImageWithLeftCapWidth方法的解释
  7. UpdateLayeredWindow, Layered Windows, codeproject
  8. RF+Selenium2Library+Sikuli集成环境搭建
  9. AngularJS学习篇(四)
  10. 字典dict
  11. 孟岩:通证(token)和通证经济的目的在于改善现有经济的效率性
  12. Web jsp开发学习——点击菜单页面切换
  13. 企业类Web原型制作分享-Kraftwerk
  14. 部分机器进入bios 的 方法
  15. oracle数据库触发器(trigger)用法总结
  16. Effective C++ —— 设计与声明(四)
  17. Linux命令之ip命令
  18. centos7设置、查看、删除环境变量的方法
  19. HDU2553 N皇后问题——DFS
  20. 以下内容为Stackoverflow上整理以作纪录

热门文章

  1. java web中的session属性范围和request属性范围
  2. 如何遍历newtonsoft.json的JObject里的JSON数据
  3. 【bzoj4245】[ONTAK2015]OR-XOR
  4. Message: SyntaxError: unterminated string literal
  5. #1543 : SCI表示法
  6. YTU 2626: B 统计程序设计基础课程学生的平均成绩
  7. iOS10 国行iPhone联网权限问题处理
  8. 【Codevs3151】交通管制I
  9. 理解dropout——本质是通过阻止特征检测器的共同作用来防止过拟合 Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了
  10. python-----利用filecmp删除重复文件