巨亮五金网 >> 电子天平

利用VB为AutoCADR14的实体添加和读出扩展数据0钢筘

2022-06-27

利用VB为AutoCADR14的实体添加和读出扩展数据

利用VB为AutoCADR14的实体添加和读出扩展数据 2011年12月10日 来源: 扩展数据是AutoCAD最有特色的功能,程序员可以为实体附加必要的扩展数据,使实体带有具体的含义,而不是单纯的一个AutoCAD图元。扩展数据有许多用处,除可以存放数据外,还可以利用扩展数据获取选择集。下面是两个关于扩展数据的示例:Private Sub Command4_Click()Dim ent As ObjectDim startPoint(0 To 2) As DoubleDim endPoint(0 To 2) As DoubleDim dataType(0 To 3) As IntegerDim data(0 To 3) As VariantSet objAcad = GetObject(, "AutoCAD.Application") ' 获得AutoCAD R14对象Set objDoc = objAcad.ActiveDocumentstartPoint(0) = 10#startPoint(1) = 10#startPoint(2) = 0#endPoint(0) = 20#endPoint(1) = 10#endPoint(2) = 0#dataType(0) = 1001 '扩展数据组的应用名data(0) = "管道专业扩展数据"dataType(1) = 1000data(1) = "供水管"dataType(2) = 1040 '长度data(2) = 15.5dataType(3) = 1070 '公称直径data(3) = 32' 画 LINESet ent = objDoc.ModelSpace.AddLine(startPoint, endPoint)With ent.Color = 1 ' 改用红色Call .SetXData(dataType, data) '写入扩展数据End WithSet objAcad = NothingEnd SubPrivate Sub Command5_Click()Dim UtilObj As ObjectDim sset As ObjectDim ent As ObjectDim Point1(0 To 2) As DoubleDim Point2(0 To 2) As DoubleDim gpCode(0 To 1) As IntegerDim dataValue(0 To 1) As VariantDim varData As VariantDim groupCode As Variant, dataCode As VariantDim xdataType As VariantDim xdataValue As VariantSet objAcad = GetObject(, "AutoCAD.Application") ' 获得AutoCAD R14对象Set objDoc = objAcad.ActiveDocumentOn Error GoTo Error_GetEntitySet UtilObj = objAcad.ActiveDocument.Utility' 初始化名为 ss1 的一个选择集Set sset = objAcad.ActiveDocument.SelectionSets.Add("ss1")' 获得系统变量 LIMMIN 用于设置第一个虚拟点varData = objAcad.ActiveDocument.GetVariable("LIMMIN")Point1(0) = varData(0)Point1(1) = varData(1)Point1(2) = 0#' 获得系统变量 LIMMAX 用于设置第二个虚拟点varData = objAcad.ActiveDocument.GetVariable("LIMMAX")Point2(0) = varData(0)Point2(1) = varData(1)Point2(2) = 0#gpCode(0) = 0 ' 设置第一个过滤条件的组代码dataValue(0) = "Line" ' 过滤出 Line 实体gpCode(1) = 1001 ' 设置第二个过滤条件的组代码dataValue(1) = "管道专业扩展数据" ' 过滤出含扩展数据组的应用名的实体groupCode = gpCode ' 设置全部过滤条件的组代码dataCode = dataValue ' 设置全部过滤条件 ' 用条件过滤获得选择集sset.Select 0, Point1, Point2, groupCode, dataCodeIf sset.Count > 0 Then  Set ent = sset(0) ' 从选择集中取出第一个实体  Call ent.GetXData("管道专业扩展数据", xdataType, xdataValue)  MsgBox xdataValue(1) + ": 长度=" + Str(xdataValue(2)) + " 公称直径=" + Str(xdataValue(3))End IfSet objAcad = NothingExit SubError_GetEntity:  MsgBox Err.Description, 16, "Error: AutoCAD is not running"  Set objAcad = Nothing  Exit SubEnd Sub

杭州回收茅台酒

油漆报价表

牛犊多少钱

红果冬青苗木批发

饮用纯净水检测项目

深圳笔记本

友情链接
招聘 黄伟 小儿莫拉雷脑膜炎早期症状怎么检查出来 肾虚掉头发多久会恢复 颈椎病引起眩晕怎么办 风湿性关节炎怎么治疗比较好 拉力试验机 西服订做 京万红软膏的主要成分是哪些 离婚律师 葵花盐酸氨溴索口服溶液治孩子化痰怎么样 宝宝流鼻涕可以喝葵花小儿氨酚黄那敏颗粒吗 昆明白癜风医院 老年痴呆记忆障碍怎么调理好 吃伟哥该注意什么反应 事后避孕药和紧急有什么区别 一岁宝宝便秘怎么办 怎样缓解更年期多汗症状 早泄平时饮食应该注意什么 我D小蔡蔡 冠心性动脉粥样硬化怎么治 怎么区分后背的痘痘是不是毛囊炎 尿尿老是尿不干净什么原因 药品库 小型拖车 枣椹安神口服液多久一个疗程 什么药养肝护肝 术后坐骨神经痛多久可以恢复 三岁宝宝肚子疼还吐 孩子积食不发育吃什么 哪种药可以缓解关节屈伸不利 家里老人有灰指甲会传染全家吗 玻璃体混浊用什么药 注重口腔卫生可以预防口腔溃疡吗 上海资深离婚纠纷律师 离婚咨询 新疆肾石症医院 工作服门户 脑血栓恢复期服用再造丸效果怎么样 和脚上有灰指甲的人睡觉会传染吗 凤仙花治灰指甲要多久 灰指甲涂完亮甲的注意事项有哪些 寻医问药 崇左治疗眼科专科医院哪家好 咨询律师离婚 固原癫痫病专科医院哪家好 知名的离婚律师事务所 绥化性病医院哪家好 离婚找律师起诉 芜湖治疗白癜风专科医院 滨州白癜风 正常人偶尔吃一次万艾可 河南皮肤科医院 孩子消化不良能用芪斛楂颗粒吗 海事海商 Motorcycle Parts Accessories 中医药库 郑州定做西服厂家 Broaching Machine Mining Machinery 寻医问药 杭州精神科心理科医院哪个好 重庆妇科哪个医院好 江苏妇产哪家医院治疗好 合肥好的皮肤病医院 四川风湿病专科医院排行榜 翠菊网 Products