绘制墙之前要预先设置“定位线”(我是调用的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 二次开发---用命令绘制墙体预设置定位线相关推荐

  1. Revit二次开发 外部命令和外部应用

    外部命令 通过IExternalCommand来添加自己的应用.Revit通过.addin文件来识别和加载外部插件 基本原理 Revit没有其他命令在运行或者没有处于编辑模式,那么已经注册了的外部命令 ...

  2. Revit二次开发之绘制钢筋

    第一次在博客园上写东西,也不知道该写些什么,我想就写点最近项目到遇到的问题吧. 最近在做一个小项目,具体需求大概是在一个revit模型中的对应的楼板位置绘制钢筋. 由于刚接触Revit二次开发,之前也 ...

  3. Revit二次开发 获取模型截面线、截面轮廓

    描述 获取Revit模型的截面线.横切面线.截面轮廓. 用途 用于获取模型的截面线.横切面线.截面轮廓. 实现方式 创建视图平面: 从视图平面获取轮廓线: 获取平面标高处的截面线. 效果 示例 /// ...

  4. revit二次开发--异形柱翻模

    最近写了一个revit二次开发的异形柱翻模的功能,柱子翻模网上有很多插件可以用,我用的比较多的是红瓦,其中异形柱的翻模对于图纸的要求较高,有很多不准确的地方.很多异形柱,整体翻模出来是错误的,翻出来之 ...

  5. Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)

    Revit二次开发从入门到精通学习之路 Autodesk Joe Ye叶雄进 2. 18 2014    yexiongjin@hotmail.com Revit在国内的应用越来越广泛, Revit ...

  6. Revit二次开发2、RevitAPI、RevitAPIUI及Revit开发三大利器

    Revit二次开发2.开发基础之--RevitAPI.RevitAPIUI及Revit开发三大利器 RevitAPI.dll RevitAPIUI.dll Revit开发三大利器 外部命令(IExte ...

  7. Revit二次开发,新手接入IExternalCommand、IExternalApplication,如何使用它们!

    1.首先安装好Revit,至于版本是哪个关系不大.具体怎么安装,就不啰嗦了.安装完成后,桌面会有类似这样的图标: 上图是Revit2020和2019的图标,我自己的电脑是安装了两个版本的Revit. ...

  8. C# Revit二次开发基础/核心编程--- Application\Document\Transaction

    一.本节课程 C# Revit二次开发基础/核心编程--- Application\Document\Transaction 二.本节要讲解的知识点 Application\Document\Tran ...

  9. Revit二次开发有几种方式?做Revit二次开发的必看!

    Revit二次开发有三种方式:外部命令(IExternalCommand).外部应用(IExternalApplication)和宏(Macro).下面将简要说明外部应用.宏的开发过程,并着重说明外部 ...

最新文章

  1. vc6.0mfc中单选按钮如何分组_按钮系列02-搞定按钮和选框的14个秘诀
  2. Hadoop高可用集群搭建-1、服务器等基础环境配置
  3. 【李宏毅2020 ML/DL】P57 Unsupervised Learning - Linear Methods | PCA Matrix Factorization
  4. 部署java的tcp服务端_java网络编程(TCP)-服务端
  5. 关于JavaScript中变量的相互引用
  6. 软件架构--工业软件架构分析
  7. (附源码)计算机毕业设计ssm大学生网络安全题库系统
  8. python协同过滤算法_【知识发现】基于用户的协同过滤推荐算法python实现
  9. 机器学习之实现一元线性回归模型
  10. VMware虚拟机共享主机无线网络联网的设置方法
  11. 解决Vue history模式下路由跳转时页面404问题
  12. requestAnimationFrame运动框架实现-果冻效果
  13. word如何一次性删除所有批注
  14. 解决ElementUI列表大数据操作卡顿问题
  15. 双软企业税收优惠政策
  16. 回溯法 | 求解装载问题
  17. pytorch 深度学习补充
  18. 机器翻译 bpe——bytes-pair-encoding以及开源项目subword-nmt快速入门
  19. 【Delphi 篇】CodeGear 问题与解决方式
  20. 基于微信小程序的实验室管理系统Postmorterm

热门文章

  1. html css ios系统字体,让iOS在CSS中选择系统字体Helvetica Neue或San Francisco
  2. 提效80倍!优维CMDB好样的
  3. 四大私募量化策略解析——阿尔法、套利、期货CTA、高频交易
  4. 苹果刷机未知错误75_刷机ROOT后遇到Magisk提示需要修复允许环境怎么办?
  5. 系统定制封装-windows
  6. linux 文件夹修改名字,linux命令修改文件名_修改文件夹名字怎么操作
  7. 算法竞赛宝典 棋子移动 递归
  8. 利用批处理脚本删除指定日期前文件
  9. CString时间字符串,COleDateTime,CTime类之间的转换
  10. Android开发推荐资料大合集 【转载自51CTO】