[AHK]辅助BIM

不得

作者:不得

结构工程师

​关注他

 

我们在进行工作时,经常会遇到一些重复性劳动,或者有的软件UI不方便,操作起来非常费劲。写二次开发或者dynamo解决,又太费时间。

这时候我们可以尝试使用下AutoHotkey这款神器来辅助工作。

AutoHotkey
是一款免费的、Windows平台下开放源代码的热键脚本语言,是为游戏操纵杆和鼠标创建的热键,是自动按键。也可以通过命令调用系统接口及程序,并创建基于简单语言的图形化界面的执行程序。

使用需要一点轻量的编程,下面请看案例:

 

1.重命名类

最近在制作一幢超高层,重命名费了老大的劲。

梳理一下这个操作:

先使用F2调出重命名窗口,把"(2)"这样的字符串去掉,加上标准的命名字段,回车,完成。

手动操作还是有点麻烦,尤其选字符的时候经常选不中。

下面我们使用AHK辅助进行这个操作:

+3::
Send {f2}                                        ;调用F2
Sleep 500                                        ;延迟500ms,担心Revit反映慢
Send,^c                                          ;将光标选中内容复制到剪切板
Sleep 100                                        ;
pos:=InStr(clipboard, "F")                       ;截取"F"的位置
strcl:=SubStr(clipboard,1,pos) "_提资_MEP_底图"   ;根据F位置截取楼层字段,并添加其他字段
clipboard:=strcl                                 ;赋回剪切板
Send ^v                                          ;粘贴+回车
send,{enter}                                     ;
return

 

达到目的:

 

当然有时间还可以加个循环,从上往下,第一个视图完成后,加一个send{down}在循环下一个操作。循环楼层数就完成。

 

2.鼠标移动

 

 

有时候想调出临时尺寸,点击很麻烦,Revit的这个按键在Ribbon菜单左下方,用高分屏的话,鼠标得移动很远才能点到。这时候可以写一个AHK解决:

+3::                             ;定义shift+3
MouseGetPos,Xa,Ya                ;获取当前鼠标位置
MouseClick ,left, 135, 155       ;移动到目标位置并左键点击
MouseMove, Xa, Ya                ;返回原鼠标位置
return

效果大概就是

使用shift+3之后鼠标会移动到左上角按键并点击,立即回到之前鼠标位置上

通过目录下AU3_Spy.exe可以获取具体窗口、按钮的句柄,但我测试了几次没成功就放弃了。

 

 

3.四舍五入

 

 

 

临时尺寸遇到这种小数怎么快速修改?

+F2::
Send,^c
Sleep 100
clipboard:=round(clipboard,0)
Send ^v
send,{enter} 
return

就不注释了。

相当于访问剪切板,再用round四舍五入粘贴回去。

 

我这里都是一些很简单的案例。

AHK还有很多函数可以加以发挥,可以解决很多桌面级的问题。

其他也可以试一下按键精灵等软件,脚本很好写。

发布于 2017-09-06

展开阅读全文

没有更多推荐了,返回首页