使用C#中的AutoCAD .NET API对CAD二次开发,获取动态块可见性值
使用C#中的AutoCAD .NET API对CAD二次开发,获取动态块可见性值
- 0.效果
- 1.获取选择集,得到ObjectId
- 2.将ObjectId转换为BlockReference对象并获取其DynamicBlockReferencePropertyCollection
- 3.读取当前可见性值
- 4.完整代码
0.效果
1.获取选择集,得到ObjectId
PromptSelectionResult psr = ed.GetSelection();
SelectionSet sSet = psr.Value;
ObjectId[] selectedIds = sSet.GetObjectIds(); // 获取选择集的ObjectiID.
ObjectId blockId = selectedIds[0]; // 假设只选择了一个块
2.将ObjectId转换为BlockReference对象并获取其DynamicBlockReferencePropertyCollection
// 通过ObjectId打开块引用
using (Transaction tr = doc.TransactionManager.StartTransaction())
{// 将ObjectId转换为BlockReference对象并获取其DynamicBlockReferencePropertyCollectionBlockReference blockRef = tr.GetObject(blockId, OpenMode.ForRead) as BlockReference;DynamicBlockReferencePropertyCollection props = blockRef.DynamicBlockReferencePropertyCollection;
}
3.读取当前可见性值
// 获取可见性属性值
if (props.Count != 0) { Birection = props[0].Value.ToString(); }
4.完整代码
// 获取当前文档和数据库
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
string Birection = "无可见性属性";
PromptSelectionResult psr = ed.GetSelection();
SelectionSet sSet = psr.Value;
ObjectId[] selectedIds = sSet.GetObjectIds(); // 获取选择集的ObjectiID.
ObjectId blockId = selectedIds[0]; // 假设只选择了一个块
// 通过ObjectId打开块引用
using (Transaction tr = doc.TransactionManager.StartTransaction())
{// 将ObjectId转换为BlockReference对象并获取其DynamicBlockReferencePropertyCollectionBlockReference blockRef = tr.GetObject(blockId, OpenMode.ForRead) as BlockReference;DynamicBlockReferencePropertyCollection props = blockRef.DynamicBlockReferencePropertyCollection;// 获取可见性属性值if (props.Count != 0) { Birection = props[0].Value.ToString(); }
}
ed.WriteMessage("\n可见性值为:{0}", Birection);
使用C#中的AutoCAD .NET API对CAD二次开发,获取动态块可见性值相关推荐
- 使用C#中的AutoCAD .NET API对CAD二次开发,获取块的属性
使用C#中的AutoCAD .NET API对CAD二次开发,获取块的属性 /// <summary> /// 获得块对象的所有属性 /// </summary> public ...
- CAD二次开发:用C#在AutoCAD中插入栅格图像
CAD二次开发:用C#在AutoCAD中插入栅格图像 using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationService ...
- intersect 相交 范围_关于CAD二次开发中(范围线自相交)相交线的问题
CAD二次开发对于毕业没多久,又是半路出家的我来说,是一个很大的挑战,遇到过很多难以解决的问题,这次在CAD二次开发遇到一个很苦恼的问题:判断 一个由线段组成的闭合区域中,是否存在着相互之间相交的线段 ...
- 基于C#的中望CAD二次开发学习笔记(1)环境测试
目录 前言 一.ZRXSDK的安装使用 二.创建项目 三.编写环境测试代码 四.在ZWCAD中测试 参考资料 总结 前言 作为一个设计院搬砖人,和各种CAD打交道是必不可少的.当然,其中最为正统的是A ...
- c#获取autocad安装位置_Robotstudio软件二次开发:基于C#语言的Smart组件开发基础
Robotstudio软件除了支持Add-Ins插件的二次开发以外,还支持Smart组件的二次开发. 开发语言同样是基于 .NET框架的C#语言或VB语言. Smart组件是Robotstudio软件 ...
- lisp陡坎程序_(终稿)毕业论文设计_Autolisp在CAD二次开发中的应用.doc(最终版)最新版...
<毕业论文:Autolisp在CAD二次开发中的应用.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)毕业论文设计_Autolisp在CAD二次开发中的应用.doc(最终版) ...
- 引用:基于C#的中望CAD二次开发学习笔记
目录 前言 一.ZRXSDK的安装使用 二.创建项目 三.编写环境测试代码 四.在ZWCAD中测试 参考资料 总结 前言 作为一个设计院搬砖人,和各种CAD打交道是必不可少的.当然,其中最为正统的是A ...
- 关于objectArx /CAD二次开发中“属性块”操作
关于objectArx /CAD二次开发中"属性块"操作 属性块就是在图块上附加一些文字属性(Attribute),这些文字可以非常方便地修改.属性块被广泛应用在工程设计和机械设计 ...
- 我的CAD二次开发程序中的操作excel的部分
这是我的CAD二次开发程序中的操作excel的部分,特此分享 using System; using System.Collections.Generic; using System.Text; us ...
最新文章
- supervisor源码分析
- python 打印数组变量_使用Python将数组的元素导出到变量中(unpacking)
- 中文转换成阿拉伯数字
- Android Studio 插件开发详解三:翻译插件实战
- Premiere Pro CC2017教程(三)
- 嵌入式根文件系统的移植和制作详解
- (66)FPGA模块调用(Verilog调用Verilog)
- 回溯法解决0-1背包问题
- VLAN中tagged与untagged的处理(转)
- php 显示探针_PHP探针
- Java base64转inputStream
- centos 安装 时间校准与定时同步
- 图表数据分析怎么做,举实例给你说清楚
- 【SQL】获取最近一周日期列表
- 读左飞老师的《大学背景到底对你影响有多大》后感
- 仿豌豆荚实现android连接pc方法
- 【产业互联网周报】外媒:英特尔等公司暂停向俄罗斯发货;阿里云季度营收195亿元;第四范式再次提交上市申请...
- set的三种遍历方式-----不能用for循环遍历(无序)
- 七年级 电子计算机 教材分析,七年级信息技术教学计划表
- 《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs》论文阅读笔记