找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1231|回复: 15

[编程申请]:如何将目录下文件用程序生成“.slb”文件及图像菜单文件

[复制链接]
发表于 2005-2-2 21:33:41 | 显示全部楼层 |阅读模式

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

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

×
前提--利用程序:
1. 如何将目录下的“.dwg”文件生成“.slb”文件。
2. 生成图像菜单文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-2-2 22:54:55 | 显示全部楼层
先做幻灯".sld",后幻灯库文件".slb".
批量做幻灯,同常是用程序分别插图,
再zoom-e后做sld。
你可以参照一些图库管理器(如blockview或
blockmanage的程序写法.)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 11304个

财富等级: 富甲天下

发表于 2005-2-2 23:52:37 | 显示全部楼层
参考程序:
程序中文件DWGFILE.TXT要事先做好。

  1. (DEFUN C:MSLD ()
  2. (SETVAR "CMDECHO" 0) (SETVAR "GRIDMODE" 0) (SETVAR "OSMODE" 0)
  3. (SETQ PATH "D:\\DWGDIR" DFILE "DWGFILE.TXT" PATH2 "D:\\SLDDIR")
  4. (IF (SETQ F (OPEN DFILE "r")) (PROGN
  5.   (WHILE (SETQ NMM (READ-LINE F))
  6.    (COMMAND "UNDO" "BE")
  7.    (COMMAND "INSERT" (STRCAT "*" PATH NMM) "0,0" "" "")
  8.    (COMMAND "ZOOM" "E" "REGEN")
  9. ;
  10. ;加入您的处理
  11. ;
  12.    (SETQ NMM (SUBSTR NMM 1 (- (STRLEN NMM) 4)))
  13.    (COMMAND "MSLIDE" (STRCAT PATH NMM))
  14.    (COMMAND "UNDO" "E")
  15.    (COMMAND "U")
  16.   )
  17.   (CLOSE F)
  18. ))
  19. (SETVAR "CMDECHO" 1)
  20. (PRINC)
  21. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-3 07:55:18 | 显示全部楼层
批量生成 .sld 文件没有问题,如何用程序自动生成库文件,甚至生成对应的菜单文件?
比如有一个cad62a目录,将其中所有dwg文件生成CAD62A.slb,并生成菜单文件:
**CAD62A
[高级客房]
[cad62a(CAD62A143)]^C^C(XI"CAD-KF""CAD62A143" 60)
[cad62a(CAD62A144)]^C^C(XI"CAD-KF""CAD62A144" 60)
[cad62a(CAD62A145)]^C^C(XI"CAD-KF""CAD62A145" 60)
[cad62a(CAD62A146)]^C^C(XI"CAD-KF""CAD62A146" 60)
[cad62a(CAD62A147)]^C^C(XI"CAD-KF""CAD62A147" 60)
……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 24个

财富等级: 恭喜发财

发表于 2005-2-3 11:12:42 | 显示全部楼层
将 ASCII 文件 (TXT) 中列出的AutoCAD 幻灯文件(SLD) 编译成幻灯库文件 (SLB)

使用 AutoCAD support 目录中提供的 SLIDELIB 实用程序程序,可以通过幻灯片文件 (SLD) 构造幻灯库 (SLB)文件。以下是构造幻灯库的语法,在操作系统命令行中输入:

slidelib library [ < slidelist ]

SLIDELIB 读取幻灯文件名的列表。这个列表通常通过将文件列表(使用文本编辑器或用户提供的工具程序创建的另一个文件,其中每行包含一个文件名)重定向为标准输入来提供。

下面显示的操作系统命令将创建一个 slidelist 文件供 SLIDELIB 使用。所有要编译到幻灯库中的幻灯文件都应放入一个独立的目录中。在 DOS 提示(5.0 版或更高)下输入:

dir *.sld /b > mylist

此时创建名为 mylist 文件,可以将这个文件传递给 SLIDELIB 实用程序。通过文本编辑器也可以创建此文件,只需在其中列出幻灯文件名(如果需要的话,还需列出文件路径),例如 lobby,d:\slides\office 和 \aec\slides\stairs。幻灯文件名存储在库文件中,但不包含驱动器和目录信息。因为仅保存文件名,因此库中可以包含来自不同目录的同名幻灯片,但是 AutoCAD 只能访问其中的一个。

要从 mylist 中生成幻灯库 mlib,请输入以下内容:

slidelib mlib < mylist

这个输入项创建 mlib.slb 文件,此文件中包含 mylist 中列出幻灯片的名称和定义。

警告  不要删除原始幻灯片。SLIDELIB 程序只能创建幻灯库但是不能更新它。如果想要添加或删除一个幻灯片,请更新 slidelist 文件然后使用 SLIDELIB 重新创建幻灯库。要进行此项处理必须提供所有原始幻灯片。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-3 12:31:58 | 显示全部楼层
这些都知道,只是如何能用一个程序完成这些烦琐的步骤?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 16个

财富等级: 恭喜发财

发表于 2005-2-3 22:02:00 | 显示全部楼层
明经通道中就有个小软件,直接将一个文件夹下的sld做成slb,不需要中间的 list 环节,也不必保留原有的 sld ,比较好用,我一直用它。另外,有人知道后台制作幻灯的程序吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-4 00:22:52 | 显示全部楼层
请上传这个“小软件”,多谢!
图像菜单文件如何自动生成?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 16个

财富等级: 恭喜发财

发表于 2005-2-4 22:23:28 | 显示全部楼层
我认为,自动生成菜单视乎没有必要吧,又不是经常变动,费那么大劲!
偶尔发现下面程序,未测试,仅供参考!
;*******SUBROUTINE TO PARS TRAILING SPACES******
(defun SPCUT (FIL / TMP I)
  (setq I 1)
    (while (/= TMP "" (setq TMP(substr FIL (setq I (1+ I)) 1)))
      (if (= TMP " ")
      (setq FIL (substr FIL 1( 1- I)))
      )
    )
    FIL
)

;*******ROUTINE TO PLOT UP TO 40 DRAWINGS AT A TIME******
;F1  - File Pointer
;F2  - File Pointer
;I   - Counter how maye drawings have been processed
;LIN - Line of text from input file
;FIL - File name
;--------------------------------------------------------

(apply '(lambda (/ F1 F2 LIN FIL FL2)

(command "shell" "dir *.dwg >$TMP$")
(setq F1 (open "$TMP$" "r")
       F2 (open "$TMP$.SCR" "w")
       F3 (OPEN "SLIDE.MNU" "w")
        I 1)
   (WRITE-LINE "***POP1" F3)
   (WRITE-LINE "SLIDE MENU" F3)
   (while (and (setq LIN (read-line F1)) (< I 300)) ;# of plots
     (if (= (substr LIN 10 3) "DWG")
         (progn
           (setq FIL (spcut (substr LIN 1 8))
                   I (1+ I)
           )
           (WRITE-LINE "QUIT Y" F2)
           (write-line (strcat "2 " FIL) F2)
           (write-line "MSLIDE " F2)
           (WRITE-LINE (STRCAT "["FIL"]VSLIDE " FIL) F3)
          )
       )
     )
(write-line "QUIT Y 0" F2)
(close F1)
(close F2)
)
'()
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-4 23:45:48 | 显示全部楼层
如果没有菜单文件,幻灯片库文件有何用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 11304个

财富等级: 富甲天下

发表于 2005-2-5 00:00:13 | 显示全部楼层
下面的程序未经调试,只是个思路。

  1. (DEFUN C:MSLDMNU ()
  2. (SETVAR "CMDECHO" 0) (SETVAR "GRIDMODE" 0) (SETVAR "OSMODE" 0)
  3. (SETQ PATH "D:\\DWGDIR" DFILE "DWGFILE.TXT" PATH2 "D:\\SLDDIR")
  4. (IF (SETQ F (OPEN DFILE "r")) (PROGN
  5.   (WHILE (SETQ NMM (READ-LINE F))
  6.    (COMMAND "UNDO" "BE")
  7.    (COMMAND "INSERT" (STRCAT "*" PATH NMM) "0,0" "" "")
  8.    (COMMAND "ZOOM" "E" "REGEN")
  9. ;
  10. ;加入您的处理
  11. ;
  12.    (SETQ NMM (SUBSTR NMM 1 (- (STRLEN NMM) 4)))
  13.    (COMMAND "MSLIDE" (STRCAT PATH NMM))
  14.    (COMMAND "UNDO" "E")
  15.    (COMMAND "U")
  16.   )
  17.   (CLOSE F)
  18. ))
  19. (COMMAND "SHELL" (STRCAT "DIR " PATH2 "*.SLD > SLDFILE.TXT"))
  20. (COMMAND "SHELL" "SLIDELIB CAD62A < SLDFILE.TXT")
  21. (IF (SETQ F (OPEN "SLDFILE.TXT" "r")) (PROGN
  22.   (SETQ F1 (OPEN "CAD62A.MNU" "w"))
  23.   (PRINC "**CAD62A\n" F1)
  24.   (PRINC "[高级客房]\n" F1)
  25.   (WHILE (SETQ NMM (READ-LINE F))
  26.    (SETQ NMM (SUBSTR NMM 1 (- (STRLEN NMM) 4)))
  27.    (PRINC (STRCAT "[CAD62A(" NMM ")]^C^C(XI"CAD-KF" "" NMM "" 60)\n") F1)
  28.   )
  29.   (CLOSE F1)
  30.   (CLOSE F)
  31. ))
  32. (SETVAR "CMDECHO" 1)
  33. (PRINC)
  34. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 16个

财富等级: 恭喜发财

发表于 2005-2-5 18:17:56 | 显示全部楼层
并非只有图像菜单调用sld ,更有用的是要dcl !
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-6 01:10:52 | 显示全部楼层
最初由 xazhji 发布
[B]并非只有图像菜单调用sld ,更有用的是要dcl ! [/B]

不否认dcl 会使用sld或slb文件,就如同俺的“★对话框式写字”程序,不过这还是少数,图像菜单还是更多些,主要为了插入图块。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 16个

财富等级: 恭喜发财

发表于 2005-2-6 20:03:20 | 显示全部楼层
同舟工具箱中的 我的图库 ,用的就是sld ,难道没有图像菜单方便?还有同舟工具箱中的 焊接标注等,用的则是sld
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-6 20:36:03 | 显示全部楼层
不讨论slb库文件的作用了,还是寻找其自动生成的办法吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 22:59 , Processed in 0.218404 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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