在CAD中用宏调用本地搜索“everything”,搜索图纸文本对应的文件
在CAD中用宏调用本地搜索“everything”,搜索图纸文本对应的文件
'EveryThing搜索文本
'By geek 2021.7.26
Dim objEnt As AcadEntity, pt1 As Variant
Dim objT As AcadText, objMT As AcadMText
Dim strCon As String
On Error GoTo err1
AppActivate objCad.Caption
ThisDrawing.Utility.GetEntity objEnt, pt1, "请选择文本:"
'Debug.Print objEnt.ObjectName
If objEnt.ObjectName = "AcDbText" Then
Set objT = objEnt
strCon = objT.TextString
ElseIf objEnt.ObjectName = "AcDbMText" Then
Set objMT = objEnt
strCon = MtextStringClearFormat(objMT.TextString)
Else
End If
Shell "C:\Program Files\Everything\everything -s " & Chr(34) & strCon & Chr(34)
Exit Sub
err1:
If Err.Number = -2147352567 Then
Err.Clear
Else
MsgBox Err.Description, vbOKOnly + vbCritical
End If
执行效果.gif
重点:
路径需要添加至“支持文件搜索路径”,如果everything安装不是采用的默认路径,需要修改代码中的everything.exe路径。
一切妥当后,加载哪个宏和lisp文件,输入tz命令,选择一个autocad中的文字(text或mtext),就可以everything中搜索了
重要的事情说三遍,
需要做的是:
1 加载宏
2 修改宏中间的everything.exe 的全路径,即你自己电脑上安装的这个软件的路径,保存。
3 加载LISP程序。
4 把LISP程序和宏所在的文件夹路径添加到CAD的“支持文件搜索路径”中。
随后,在CAD中敲击命令后,会提示选一个文本,选中文本后,即自动启动everything这个程序,搜索刚才的文本。作者设定的是在选中的词后加了星号通配符,以扩大搜索范围,有能力的同志可以自行修改这个规则。
网友评论