找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 751|回复: 5

[LISP程序]:如何新建和修改Acad2000扩展数据库

[复制链接]
发表于 2003-12-4 10:56:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
如何用vlisp来新建和修改Acad2000扩展数据库?
如果不用编程的话,在什么地方可以直接看到和修改扩展数据库?
请高手指教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-12-5 10:33:13 | 显示全部楼层
XDATA, XDLIST命令. 详细见帮助.
程序参考(form "Visual Lisp for AutoCAD 2000程序设计")
; XDATA   .LSP  À©Õ¹µÄʵÌåÊý¾Ý¿âʹÓÃ
(Defun XD-D (del / dn)
       (SetQ dn 0)
       (While (SetQ dal (Nth dn del))
              (PrinC "\nÓ¦ÓÃÃû: ")(PrinC (Car dal)) (PrinC "\n")
              (PrinC (Cdr dal))
              (SetQ dn (1+ dn))
       )
)

(Defun XD-L ()
       (While (Not (SetQ len (EntSel "Ö¸¶¨Ò»¸öʵÌå: ")))
              (Alert "ûѡÖÐÈκÎʵÌå...")
       )
       (TextPage)
       (SetQ lun (GetString "\n&Oacute;&brvbar;&Oacute;&Atilde;&Atilde;&ucirc;<*>: "))
       (If (Or (= "*" lun)(= "" lun))
           (SetQ lun "*")
           (If (XD-C (Car len) lun)
               ()
               (Progn (Alert (StrCat "&Atilde;&raquo;&Oacute;&ETH;&Euml;ù&Ecirc;&auml;&Egrave;&euml;&micro;&Auml;&Oacute;&brvbar;&Oacute;&Atilde;&Atilde;&ucirc; " lun)) (Exit))
           )
       )
       (SetQ lel (Cdr (Assoc -3 (EntGet (Car len) (List lun)))))
       (If lel (XD-D lel) (Alert "&Atilde;&raquo;&Oacute;&ETH;&cedil;&frac12;&frac14;&Oacute;&Agrave;&copy;&Otilde;&sup1;&micro;&Auml;&Ecirc;&micro;&Igrave;&aring;&Ecirc;&yacute;&frac34;&Yacute;..."))
)
(Defun XD-C (cen cun)
       (SetQ cel (EntGet cen '("*"))
             cxl (Cdr (Assoc -3 cel))
              ck nil
       )
       (If cxl (Progn (SetQ cn 0)
                      (While (SetQ cal (Nth cn cxl))
                             (PrinC "\n&Oacute;&brvbar;&Oacute;&Atilde;&Atilde;&ucirc;[") (PrinC (1+ cn))
                             (PrinC "]: ") (PrinC (Car cal))
                             (If (= cun (Car cal))
                                 (Progn (PrinC " *")(SetQ ck T))
                             )
                             (PrinC "\n")
                             (SetQ cn (1+ cn))
                      )
               )
       )
       (= T ck)
)

(Defun XD-M ()
       (While (Not (SetQ en (EntSel "\n&Ntilde;&iexcl;&Ocirc;&ntilde;&Ograve;&raquo;&cedil;&ouml;&Ecirc;&micro;&Igrave;&aring;: ")))
              (Alert "&Atilde;&raquo;&Ntilde;&iexcl;&Ouml;&ETH;&Egrave;&Icirc;&ordm;&Icirc;&Ecirc;&micro;&Igrave;&aring;...")
       )
       (PrinC "\n(&Iuml;&Ouml;&Oacute;&ETH; ") (PrinC (XDRoom (Car en)))
       (PrinC " ×&Ouml;&frac12;&Uacute;&micro;&Auml;&Agrave;&copy;&Otilde;&sup1;&Ecirc;&micro;&Igrave;&aring;&Ecirc;&yacute;&frac34;&Yacute;&iquest;&Otilde;&frac14;&auml;.)\n")
       (SetQ en (Car en)
             un (GetString "\n&Oacute;&brvbar;&Oacute;&Atilde;&Atilde;&ucirc;: ")
       )
       (If (XD-C en un)
           (Progn (TextScr)
                  (PrinC "\n&Otilde;&acirc;&cedil;&ouml;&Oacute;&brvbar;&Oacute;&Atilde;&Atilde;&ucirc;&Ograve;&Ntilde;&frac34;&shy;&acute;&aelig;&Ocirc;&Uacute;&Aacute;&Euml;&pound;&not;&Ograve;&ordf;&cedil;&sup2;&cedil;&Ccedil;&Euml;ü&Acirc;&eth;&pound;&iquest;")
                  (InitGet 7 "Yes No  ")
                  (If (= "Yes" (GetKWord "Yes/<No>: "))
                      ()
                      (Abcdefg)
                  )
           )
       )
       (SetQ ll (List (Cons 1002 "}")))
       (InitGet 7 "Real Integer String")
       (SetQ tp (GetKWord "Real(&Ecirc;&micro;&Ecirc;&yacute;)/Integer(&Otilde;&ucirc;&Ecirc;&yacute;)/String(×&Ouml;&acute;&reg;): "))
       (While (Not (Or (= tp "End")(= tp "")))
              (Cond ((= tp "Real")
                     (SetQ v (GetReal "\n&Ecirc;&micro;&ETH;&Iacute;&Ecirc;&yacute;: ") l (Cons 1040 v))
                    )
                    ((= tp "String")
                     (SetQ v (GetString "\n×&Ouml;·&ucirc;&acute;&reg;: ") l (Cons 1000 v))
                    )
                    ((= tp "Integer")
                     (SetQ v (GetInt "\n&Otilde;&ucirc;&ETH;&Iacute;&Ecirc;&yacute;: ") l (Cons 1071 v))
                    )
               )
               (SetQ ll (Cons l ll))
               (InitGet 7 "Real Integer String End  ")
               (SetQ tp (GetKWord "Real(&Ecirc;&micro;&Ecirc;&yacute;)/Integer(&Otilde;&ucirc;&Ecirc;&yacute;)/String(×&Ouml;&acute;&reg;)/<End>: "))
       )
       (SetQ ll (Cons (Cons 1002 "{") ll)
             ll (List -3 (Cons un ll))
             el (EntGet en)
            nel (Cons ll el)
      )
      (RegApp un) (EntMod nel)
)
(Defun C:XD ()
       (SetIErr)
       (While (Progn (InitGet 7 "Mark List Exit  ")
                     (SetQ k (GetKWord "\nList(&Egrave;&iexcl;&sup3;&ouml;)/Mark(&Eacute;ú&sup3;&Eacute;)/<Exit(&frac12;á&Ecirc;&oslash;)>: "))
                     (Not (Or (= k "Exit")(= k "")))
              )
              (If (= k "List") (XD-L) (XD-M))
       )
       (ReErr) (PrinC)
)
(DWork)
;-------------------------------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-5 21:50:28 | 显示全部楼层
兄弟用的是繁体字么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-7 06:17:33 | 显示全部楼层
简体字呀, 就是摘录"Visual Lisp for AutoCAD 2000程序设计"的, 怎么是乱码?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-12-8 10:59:03 | 显示全部楼层
白银长老,谢谢你!不过你的程序里面有的是乱码,能不能重发一遍?谢谢了!另外这个程序怎么使用请指点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-8 13:18:35 | 显示全部楼层
最初由 catherine0112 发布
[B]白银长老,谢谢你!不过你的程序里面有的是乱码... [/B]


不知道为什么是乱码, 不是写明出处了吗? 你可参考:
<Visual Lisp for AutoCAD 2000程序设计>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 19:14 , Processed in 0.180322 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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