能在CAD中用宏调用本地搜索“everything”,搜索图纸文本对应的文件吗?
我在LISP开发哪边,发了一个贴,求教能不能利用本地搜索软件“everything” 通过选中图纸中的文本,搜索相关图纸或者文件。贴子在这里:
http://bbs.mjtd.com/thread-173358-3-1.html
但没有讨论出结果来,后来我就直接到本地搜索这个软件的官网上发贴问,官网上的作者人很好,说他们不懂CAD,但如果CAD软件支
持宏的话,是可以做出这种效果来的,还举例说有人在火狐浏览器里利用宏可以直接高亮网页里的文本调用本地搜索软件“everything”。
官网上我求教的贴子在这里。
https://www.voidtools.com/forum/viewtopic.php?f=4&t=5720&p=15966#p15966
我写道:
this soft is amazing! thank author!
could this soft combine with AutoCAD , when the user of AutoCAD touch some txt in AutoCAD drawings , then this soft quickly open a dialogue box ,this dialogue box show all drawing which name contain the txt 。
it will be very good !
thanks
官网上的人回答道:
I know nothing of Audocad, but if it can do "macros", I'd think you could do it?
Similar in concept to, how to add everything as a search engine in firefox?, which uses a bookmarklet, a little bit of JavaScript, attached to a "button" (bookmark), if you will, that when you click the button (bookmark), searches for the text highlighted in your browser web page.
按我的理解,这应该可以做到,就是执行宏后,软件要求选中一个文本,然后调用everything, 把刚才选中的文本填到everything 的搜索框中,即可以直接搜索文本了。
本版版主还有各位高手,谁能出手试下,这个应该是非常有用的! 本帖最后由 zzyong00 于 2016-10-30 20:01 编辑
应panliang9的要求,来个完整版,解压后,路径需要添加至“支持文件搜索路径”,如果everything安装不是采用的默认路径,需要修改代码中的everything.exe路径。一切妥当后,加载哪个宏和lisp文件,输入tz命令,选择一个autocad中的文字(text或mtext),就可以everything中搜索了.来个更新版本,用everything搜索完,自动使everything窗口在最前面
楼主好创意,我来试试
'EveryThing搜索文本
'By zzyong00 2016.10.23
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
zzyong00 发表于 2016-10-26 21:24
应panliang9的要求,来个完整版,解压后,路径需要添加至“支持文件搜索路径”,如果everything安装不是采用 ...
谢谢"zzyong00"的帮助,上传一个动画,展示最后出现的效果!
该软件对everything的版本有一个要求,我使用中安装使用的是版本 V1.4.1.773b (x64),该软件我也贴在下面。
重要的事情说三遍,
需要做的是:
1 加载宏
2 修改宏中间的everything.exe 的全路径,即你自己电脑上安装的这个软件的路径,保存。
3 加载LISP程序。
4 把LISP程序和宏所在的文件夹路径添加到CAD的“支持文件搜索路径”中。
随后,在CAD中敲击命令后,会提示选一个文本,选中文本后,即自动启动everything这个程序,搜索刚才的文本。作者设定的是在选中的词后加了星号通配符,以扩大搜索范围,有能力的同志可以自行修改这个规则。
搞机械设计的同志们有福了。
zzyong00 发表于 2016-10-23 23:30
楼主好创意,我来试试
太好了,我不懂宏的,已经在一个文件中新建了一个宏,把这个代码已经贴进去了,问题是执行的时候命令是什么! zzyong00 发表于 2016-10-23 23:30
楼主好创意,我来试试
请问你需要的前提条件是“”本地搜索“”的哪一个版本,是不是要安装在哪个盘下面! 不错,你这个是按DWG文件中的文本,打开Everything查找文件名 XX 谢谢楼主提供平台,收藏了 zzyong00 发表于 2016-10-26 21:24
应panliang9的要求,来个完整版,解压后,路径需要添加至“支持文件搜索路径”,如果everything安装不是采用 ...
有可能是everything的版本不一样,版本用6楼给的版本,也有可能是你没修改源代码中everything路径 @自贡黄明儒
黄工,不知道你用上了没有!
公司的同事们都用了,用着挺好,XP和WIN7下面,用着都挺好,cad2002到CAD2007都没有问题的!!
页:
[1]
2