自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 数字转义汉字数字显示的简单研究

最近有个需求,需要显示汉字数字,比如一二三四五…这样子

2023-07-30 20:25:35 225

原创 #Revit二次开发# 创建能够循环执行的窗口功能(五)

接上一篇https://blog.csdn.net/qq_29143307/article/details/116238456?spm=1001.2014.3001.5501在界面上再增加一个按钮,按下按钮时,再循环体内执行功能,即可实现 选择->执行功能->再选择的闭环了再按钮按下后,将状态设置为执行功能,向revit发送退出信息,退出选择状态。 private void button1_Click(object sender, EventArgs e) {

2021-04-28 18:13:31 427 2

原创 #Revit二次开发# 创建能够循环执行的窗口功能(四)

接上一篇https://blog.csdn.net/qq_29143307/article/details/116237803一个功能可能需要支持不同的选择模式,比如简单的点选,框选,或者不需要选择(选择了全部)集成在一个功能界面。比如:循环体改写如下,实现三种状态: while (true) { try { var con

2021-04-28 17:44:40 343

原创 #Revit二次开发# 创建能够循环执行的窗口功能(三)

接上一篇https://blog.csdn.net/qq_29143307/article/details/116236773在实际开发过程中,循环使用的功能,必然伴随对revit窗口中构件的操作,所以需要将功能窗口放置再revit窗口的角点位置,四个点中,左上角时最容易实现的,不需要进行计算(坐标系的特性),比如如果想放置再右上角角点,计算到右上角点坐标后,还需要减去功能窗口的宽度,才能得到功能窗口放置的坐标。所以以左上角点为例:首先需要得到revit当前的活动窗口,通过接口得到坐标点

2021-04-28 17:07:27 344

原创 #Revit二次开发# 创建能够循环执行的窗口功能(二)

https://blog.csdn.net/qq_29143307/article/details/116235371?spm=1001.2014.3001.5501接上一篇,再循环选择的功能窗口中增加自定义的过滤设置:首先,需要实现revit的过滤接口:ISelectionFilter,实现接口内的成员函数在自己实现的AllowElement和AllowReference可以根据需要实现丰富的过滤条件。但根据业务需求可能往往过滤要求各不相同,所以我选择使用委托处理,在委托中根据业务实现

2021-04-28 16:52:40 311

原创 #Revit二次开发# 创建能够循环执行的窗口功能(一)

核心思路是制造循环调用revit选择构件的API;源码: while (true) { try { var refter = Selection.PickObject(ObjectType.Element, "请点选墙体!"); var wall = doc.GetElement(r.

2021-04-28 16:22:13 293

原创 #Revit二次开发#内部单位转化

revit的内部单位是极其丰富的。很多时候需要用到单位转化。内部使用的单位有在Autodesk.Revit.DB.DisplayUnitType类中有200多个数据都在这个类中。通过操作类Autodesk.Revit.DB.UnitUtils 可以进行判断,转化等需要的操作。这两个类可以自己去看API的说明。此次做的一个简单的测试是,界面上输入的1 ,对应的各个类型单位值是多少...

2019-09-17 16:18:33 1200

原创 #Aspose.Words# Aspose.Words插入标签值,复制表格,修改单元格内容,插入图片

/// <summary> /// 给指定的wodr文档的标签插入值 /// </summary> /// <param name="builder"></param> /// <param name="bookmark"></param> ...

2019-09-10 16:09:52 2016

原创 #Revit二次开发# 调用RevitAPI实现清理未使用项

首先感谢不知名的某个大神提供的类 PerformanceAdviser,不然都没法研究这个类,明显就是有关性能管理的类,而且是个单例。通过接口,得到所有的规则,可以查看到每个规则代表的意思,1, 名称: 视图剪裁处于禁用状态, 描述: 视图剪裁被禁用。视图可能会生成与图元无关的图形,这需要额外的时间。,Guid: b37b2ae0-6eab-423d-bec7-59c55...

2019-09-09 17:00:17 1802 5

原创 #Revit二次开发# 创建剖面视图

设置box的min和max只是设置box的范围大小。其中min和max的xyz方向的大小实际指的基于剖面视图坐标系。Box的原点和min,max可以确定位置关系;box的原点决定创建的剖面视图的原点。剖面视图的原点在剖面线上的一端。设置一个从左往右看的剖面视图:默认数值的情况下,box的min和maxbox的中心点Orgion是(0,0,0),此时原点:从左往右看,右下角是剖...

2019-09-03 11:22:57 3024 5

原创 WPF Button的属性 Content绑定字符串失败

对于button的使用一般都不会涉及需要将content属性做绑定数据的操作。所以在网上也找到的有关资料也比较少。现在我有一种需要,一个按钮显示的Content是根据绑定的字符串来的。

2017-06-28 11:18:06 5017 1

原创 新建一个WPF应用程序都有啥

使用VS2013,新建一个类型为WPF应用程序的项目。默认的文件引用如上图。第一行的Properties,其实就是项目的属性,保存项目的设置,AssemblyInfo,项目的版本信息Resources,双击文件可看到说明,这是项目的强制资源类。    ///     ///   一个强类型的资源类,用于查找本地化的字符串等。    ///     /

2017-06-07 10:19:15 1188

原创 Revit如何判断两个Element是否相交

在Revit中,构件类型的基类是Element的都有这样一个接口 public BoundingBoxXYZ get_BoundingBox(View A_0);获取的就是某个视口下的外包。一般来说使用的时候都选择当前活动视口,如果有其他需要另当别论。但是BoundingBoxXYZ这个类中并不存在判断和另一个外包是否相交的接口,但是我发现Outline这个类型有public

2017-04-13 18:02:42 3936

原创 使用剪切板的进程间通信

自己建了两个mfc窗口,用用于测试进程间的通信,使用剪切板的进程间通信,另一个进程读取数据的操作:

2016-06-16 17:14:47 299

原创 讲道理,快速排序不是应该比希尔排序更快吗?

但是我写的代码测试出来确实希尔排序比快速排序快得多,这是为什么呢?而且没对快速排序优化之前,两次递归,很容易栈溢出,崩溃这是为什么呢?上代码://希尔排序templatevoid ShellSort(T* pArr ,int nLength){ //设置增量,做插入排序,分组有序,最后全部有序 int i,j,nIncrement=nLength; do { //分组

2016-06-14 14:16:01 1870 3

原创 归并排序

自己写得归并排序,做法有不同,没有构造临时数组接收数据,仍然是在原数组上做数据的交换。不知道性能上有没有影响。//归并排序templatevoid MSort(T * pArr,int nStart,int nEnd){ //划分只有一个的直接返回 if(nStart == nEnd) return; //如果有两个,比较两个数的大小 if(nStart+1 == n

2016-06-13 18:12:05 210

原创 基本的排序算法

时间复杂度都为O(n2),改良的冒泡算法,简单选择排序算法和插入算法//改良的冒泡排序templatevoid BubbleSort(T* pArr,int length){ if(!pArr) return; int i,j; bool flag =true; for (i=0;i<length&&flag;i++) { flag=false; //由后往前比较

2016-06-13 14:56:57 203

原创 我理解的最大堆排序

最近在研究排序算法,自己写了个函数模板templatevoid HeapAdjust(T*pArr,int index, int nLength){ //假设整个数组是以第一个元素为根节点的二叉树,要构成最大堆,调整index位置元素的最终位置 if(!pArr) return; T temp =pArr[index]; //从左子节点开始查找,下标从0开始,左孩子一定是2*i

2016-06-13 13:08:39 341

原创 vs上提示找不到msxml4.dll的解决办法

我在用软件NotePad++编辑过xml文件后,打开vs编译项目不能通过,出现无法打开类型库文件:“msxml4.dll”: No such file or directory的错误提示。网上说是msxml4.dll模块被更高级别的msxml6.dll替代了,把msxml4.dll换成msxml6.dll即可。这是一种解决办法,但如果是多人合作的项目,这并不合适,不可能让别人也随你一起改。还有

2016-05-06 17:32:14 3238

原创 出现LINK状态下无法解析的符号

.h和定义部分和.cpp文件中的声明部分是一一对应的关系,如果在.h中定义了某个函数,在cpp中没有相应的实现。LINK就会找不到对象而出现无法解析的链接错误。还有一种情况是跨模块使用了,一个模块依赖使用另一个模块的函数或者类,被依赖的模块类型就不是导出的。也会在链接阶段找不到对象出现链接错误

2016-05-06 11:26:39 398

原创 刚刚发现了一个快捷键 Shift+Insert

就可以把剪切板的内容插入光标所在位置了

2016-05-05 10:46:41 11094 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除