panliang9 发表于 2011-8-21 12:54:05

求助!给选中的块和文本自动加上链接,链接到同名的文件上去!

给选中的块和文本自动加上链接,链接到同名的文件上去!

前面我发过一个贴子,讨论类似的问题,贴子在这个位置:

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派工具箱装进别人的电脑里去了!

其它明经的各路神仙们,你们走过路过,如果可能的话,就顺手帮帮我吧,这工具真是非常有用,我非常需要的!

我这里先谢谢你们了!

1548845899 发表于 2011-8-21 13:13:13

Gu_xl 发表于 2011-8-21 17:15:13


(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)
)

LLXXZZ 发表于 2011-8-21 17:33:00

Gu_xl 发表于 2011-8-21 17:15 static/image/common/back.gif


刀版:你的函数库我下载了,但不知道如何使用.能给个帮助不?

panliang9 发表于 2011-8-21 20:32:43

太好了,高手终于出现了!

谢谢版主 “gu_xl ”。

现在我只要点击装配图中的任何一零件图的名称,和带有相应名称的图块,

就能立马将这个零件图打开,非常方便。

以前打开零件图的方法和这个比起来弱暴了!

这里做机械的朋友不知道多不多!

如果有,你们应该知道这有多么方便。

再次谢谢 “GU_XL""。

zhuangxu_521 发表于 2011-8-30 15:47:02

搞不清楚有什么用处

sicky111 发表于 2012-10-31 17:04:31

不知道程式怎么使用。

fire9527 发表于 2014-5-16 21:19:33

Gu_xl 发表于 2011-8-21 17:15 static/image/common/back.gif


试了一下,怎么没什么反应?dwg也是放在支持文件路径里,是什么原因呢?

panliang9 发表于 2014-5-16 21:44:36

回楼上,这个需求的情境是这样的,有一堆dwg文件放在同一个文件夹下面,你要在其中一个文件中建立打开其它文件的链接!

只要在这个文件中有其它文件名的文本,或者块,那么使用这个命令选中相应的文本或者块!链接便自动建立了!

在机械设计中,我们经常需要从装配图的明细表,或者序号,或者图上的元素打开下一级的零件或部装图,

然后又需要从零件图和部装图返回到上一级装配图去!

这些操作如此之频繁,图里没有建立相应的链接,查阅图纸将会很麻烦!

页: [1]
查看完整版本: 求助!给选中的块和文本自动加上链接,链接到同名的文件上去!