Revit 二次开发---用命令绘制墙体预设置定位线
绘制墙之前要预先设置“定位线”(我是调用的Revit命令去画墙),
首先是预设置“定位线”:
直接在百度上搜索“Revit 预设值定位线”,找到了两个有用的信息:
http://bbs.glsbim.com/forum.php?mod=viewthread&tid=57 这个帖子里叶雄进老师给出了思路,利用WindowsAPI的消息去设置。
https://adndevblog.typepad.com/aec/2012/07/location-line-of-a-new-wall-using-revit-api.html这上面写明了,revit没有提供设置定位线的接口。
于是决定按着叶老师说的方法去试试,大致思路:
1.通过WindowsAPI获取到Revit句柄,用到 FindWindow();
2.得到句柄后遍历所有控件,并找出设置“定位线”的ComboBox控件句柄,用到 EnumChildWindows();
3.通过Comb句柄设置其值为自己想要的,用到 SendMessage(); //设置下拉框值
后来一步步都实现了,但是发现只是仅仅修改了Combobox的值,而没触发事件
最后用WindowsAPI通过句柄设置ComboBox为焦点,用到 SetF(CombHandle);//设置焦点
然后再用模拟鼠标滚轮API,间接的去触发ComboBox修改事件, 用到 mouse_event();//模拟鼠标滚动
到此完成预设置“定位线”功能。记录一下能帮到各位最好,没帮到就当做笔记了,O(∩_∩)O
这是我写好的一个Demo
Revit 二次开发---用命令绘制墙体预设置定位线相关推荐
- Revit二次开发 外部命令和外部应用
外部命令 通过IExternalCommand来添加自己的应用.Revit通过.addin文件来识别和加载外部插件 基本原理 Revit没有其他命令在运行或者没有处于编辑模式,那么已经注册了的外部命令 ...
- Revit二次开发之绘制钢筋
第一次在博客园上写东西,也不知道该写些什么,我想就写点最近项目到遇到的问题吧. 最近在做一个小项目,具体需求大概是在一个revit模型中的对应的楼板位置绘制钢筋. 由于刚接触Revit二次开发,之前也 ...
- Revit二次开发 获取模型截面线、截面轮廓
描述 获取Revit模型的截面线.横切面线.截面轮廓. 用途 用于获取模型的截面线.横切面线.截面轮廓. 实现方式 创建视图平面: 从视图平面获取轮廓线: 获取平面标高处的截面线. 效果 示例 /// ...
- revit二次开发--异形柱翻模
最近写了一个revit二次开发的异形柱翻模的功能,柱子翻模网上有很多插件可以用,我用的比较多的是红瓦,其中异形柱的翻模对于图纸的要求较高,有很多不准确的地方.很多异形柱,整体翻模出来是错误的,翻出来之 ...
- Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)
Revit二次开发从入门到精通学习之路 Autodesk Joe Ye叶雄进 2. 18 2014 yexiongjin@hotmail.com Revit在国内的应用越来越广泛, Revit ...
- Revit二次开发2、RevitAPI、RevitAPIUI及Revit开发三大利器
Revit二次开发2.开发基础之--RevitAPI.RevitAPIUI及Revit开发三大利器 RevitAPI.dll RevitAPIUI.dll Revit开发三大利器 外部命令(IExte ...
- Revit二次开发,新手接入IExternalCommand、IExternalApplication,如何使用它们!
1.首先安装好Revit,至于版本是哪个关系不大.具体怎么安装,就不啰嗦了.安装完成后,桌面会有类似这样的图标: 上图是Revit2020和2019的图标,我自己的电脑是安装了两个版本的Revit. ...
- C# Revit二次开发基础/核心编程--- Application\Document\Transaction
一.本节课程 C# Revit二次开发基础/核心编程--- Application\Document\Transaction 二.本节要讲解的知识点 Application\Document\Tran ...
- Revit二次开发有几种方式?做Revit二次开发的必看!
Revit二次开发有三种方式:外部命令(IExternalCommand).外部应用(IExternalApplication)和宏(Macro).下面将简要说明外部应用.宏的开发过程,并着重说明外部 ...
最新文章
- vc6.0mfc中单选按钮如何分组_按钮系列02-搞定按钮和选框的14个秘诀
- Hadoop高可用集群搭建-1、服务器等基础环境配置
- 【李宏毅2020 ML/DL】P57 Unsupervised Learning - Linear Methods | PCA Matrix Factorization
- 部署java的tcp服务端_java网络编程(TCP)-服务端
- 关于JavaScript中变量的相互引用
- 软件架构--工业软件架构分析
- (附源码)计算机毕业设计ssm大学生网络安全题库系统
- python协同过滤算法_【知识发现】基于用户的协同过滤推荐算法python实现
- 机器学习之实现一元线性回归模型
- VMware虚拟机共享主机无线网络联网的设置方法
- 解决Vue history模式下路由跳转时页面404问题
- requestAnimationFrame运动框架实现-果冻效果
- word如何一次性删除所有批注
- 解决ElementUI列表大数据操作卡顿问题
- 双软企业税收优惠政策
- 回溯法 | 求解装载问题
- pytorch 深度学习补充
- 机器翻译 bpe——bytes-pair-encoding以及开源项目subword-nmt快速入门
- 【Delphi 篇】CodeGear 问题与解决方式
- 基于微信小程序的实验室管理系统Postmorterm
热门文章
- html css ios系统字体,让iOS在CSS中选择系统字体Helvetica Neue或San Francisco
- 提效80倍!优维CMDB好样的
- 四大私募量化策略解析——阿尔法、套利、期货CTA、高频交易
- 苹果刷机未知错误75_刷机ROOT后遇到Magisk提示需要修复允许环境怎么办?
- 系统定制封装-windows
- linux 文件夹修改名字,linux命令修改文件名_修改文件夹名字怎么操作
- 算法竞赛宝典 棋子移动 递归
- 利用批处理脚本删除指定日期前文件
- CString时间字符串,COleDateTime,CTime类之间的转换
- Android开发推荐资料大合集 【转载自51CTO】