明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2137|回复: 3

请教有关expresstools v19中有一功能(c:layoutmerge函数)

[复制链接]
发表于 2002-7-29 13:46:00 | 显示全部楼层 |阅读模式
在expresstools v19中有一功能layout tools →merge layout(s)
即layoutmerge.lsp(c:layoutmerge函数)在附图(test.dwg)中并不能正常工作
我查的原因是在使用函数acet-dict-ename时会返回nil
以下是tblname.lsp 中的程序(在layoutmerge命令中有使用tblname函数)
(setq na (acet-dict-ename tblname (nth n lst))
其中返回值na为nil故出错。
请问那里能查出acet-dict-ename的源程序代码?

为了解决这个问题,我在tblname.lsp中写了一个替代程序如下:
;; BY LUCAS
;;;*****************************************************************
(defun acet-dict-ename1 (TBLNAME LAYOUT_NAME / OBJDICT GRPDICT N12)
  (setq OBJDICT (namedobjdict))
  (setq GRPDICT (dictsearch OBJDICT TBLNAME))
  (setq N12 2)
  (while (/= LAYOUT_NAME (cdr (nth (+ 8 N12) GRPDICT)))
    (setq N12 (+ N12 2))
  )
  (cdr (nth (+ 9 N12) GRPDICT))
)
;;;****************************************************************
;;;********************以上替代程序********************************

(defun acet-dict-filter-match ( tblname flt / n lst na e1 lst2 )
(acet-autoload '("acetflt.lsp" "(bns_filter_match tblname flt)"))
(setq lst (acet-dict-name-list tblname))
(setq n 0)
(repeat (length lst)
;;(setq na (acet-dict-ename tblname (nth n lst));;; LUCAS
(setq na (acet-dict-ename1 tblname (nth n lst))
        e1 (entget na)
  );setq
  (if (bns_filter_match e1 flt)
      (setq   e1 (cons (cons 2 (nth n lst)) e1)
            lst2 (append lst2 (list e1))
      );setq
  );if
  (setq n (+ n 1));setq
);repeat
lst2
);defun acet-dict-filter-match

在layoutmerge.lsp中删除了下列程序:
;| by LUCAS
;; Remove layouts that do not exist
(foreach layout sourcelst
  (if (not (acet-dict-ename "acad_layout" layout))
      (setq sourcelst (vl-remove layout sourcelst))
  );if
)|;

结果程序能执行,但在不知原因下总是不能放心使用(是否我的图文件与程序有冲突)

Ps:附图面(test.dwg)及程序(layoutmerge.lsp  tblname.lsp)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2002-7-30 02:42:00 | 显示全部楼层

盗版acad2000和2002的问题对于编成人员来说爱恨交加。真怀念r14

发表于 2009-9-6 19:47:00 | 显示全部楼层

为什么7年过去了也没人愿意解决这个问题吗?

 楼主| 发表于 2009-9-7 12:00:00 | 显示全部楼层
http://www.theswamp.org/index.php?topic=18002.0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 12:11 , Processed in 0.183227 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表