求助!给选中的块和文本自动加上链接,链接到同名的文件上去!
给选中的块和文本自动加上链接,链接到同名的文件上去!前面我发过一个贴子,讨论类似的问题,贴子在这个位置:
http://bbs.mjtd.com/thread-86326-1-1.html
是将选中的块名的后十三位取出,然后加上相对链接!
版主“xyp1964 ”给我写了一个程序,这是他的代码:
;; 图块添加超级链接 需要e派工具箱的支持
(defun c:tt ()
(setq ss (ssget '((0 . "insert")))
i-1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq bn(xyp-get-dxf 2 s1)
obj (vlax-ename->vla-object s1)
hn(if (and (setq a (cadr (xyp-Get-Str2Lstspr bn "_")))
(>= (strlen a) 13)
)
(strcat a ".dwg")
(strcat bn ".dwg")
)
)
(vla-add (vla-get-Hyperlinks obj) hn)
)
(princ)
)
现在我的需要是不取后面什么十三位了,想选中一堆块和文本,然后程序就自动给块和文本加上相对链接,如果是块的话,就用块的名字:
如果是文本的话,就用文本内容。
例如块名是“psprt00000123”,就链接到文件“psprt00000123.dwg”上去。
如果文本是“psprt00000456”,就链接到文件“psprt00000456.dwg”上去。
这样的话,我只要单击图纸里的一个块,或者一个文本,就能很轻松的将相应的文件打开。
版主“xyp1964”,你在不在呢,如果看到的话,继续帮我一下,帮我调成不取十三位,直接加链接的。
还有,能不能把你的这个函数直接加进这个程序里去呢,E派工具是很好啊,但这个程序我想在其它地方用的时候,就
不太方便又把E派工具箱装进别人的电脑里去了!
其它明经的各路神仙们,你们走过路过,如果可能的话,就顺手帮帮我吧,这工具真是非常有用,我非常需要的!
我这里先谢谢你们了!
(defun c:tt ()
(setq ss (ssget '((0 . "insert,text")))
i-1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq enl (entget s1))
(cond ((= "INSERT" (cdr (assoc 0 enl)))
(setq bn (strcat (cdr (assoc 2 enl)) ".dwg"))
)
(t
(setq bn (strcat (cdr (assoc 1 enl)) ".dwg"))
)
)
(vla-add (vla-get-Hyperlinks (vlax-ename->vla-object s1)) bn)
)
(princ)
)
Gu_xl 发表于 2011-8-21 17:15 static/image/common/back.gif
刀版:你的函数库我下载了,但不知道如何使用.能给个帮助不? 太好了,高手终于出现了!
谢谢版主 “gu_xl ”。
现在我只要点击装配图中的任何一零件图的名称,和带有相应名称的图块,
就能立马将这个零件图打开,非常方便。
以前打开零件图的方法和这个比起来弱暴了!
这里做机械的朋友不知道多不多!
如果有,你们应该知道这有多么方便。
再次谢谢 “GU_XL""。
搞不清楚有什么用处 不知道程式怎么使用。 Gu_xl 发表于 2011-8-21 17:15 static/image/common/back.gif
试了一下,怎么没什么反应?dwg也是放在支持文件路径里,是什么原因呢? 回楼上,这个需求的情境是这样的,有一堆dwg文件放在同一个文件夹下面,你要在其中一个文件中建立打开其它文件的链接!
只要在这个文件中有其它文件名的文本,或者块,那么使用这个命令选中相应的文本或者块!链接便自动建立了!
在机械设计中,我们经常需要从装配图的明细表,或者序号,或者图上的元素打开下一级的零件或部装图,
然后又需要从零件图和部装图返回到上一级装配图去!
这些操作如此之频繁,图里没有建立相应的链接,查阅图纸将会很麻烦!
页:
[1]