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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘿呦嘿呦嘿呦嘿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值