文件夹批量处理·pldir(测试版)
本帖最后由 masterlong 于 2014-1-27 17:32 编辑测试版
已完成了主要功能
其它功能慢慢添加
权当平安夜礼物
;0000000000000000000000000000000000000000000000000000000000000000000000000000
;;; 文件夹批量处理·pldir.lspV0.9命令:pldir by masterlong
;|
1.多选文件夹或dwg文件,形成批处理图纸集。图纸进行预核查,剔除了只读dwg和高版本dwg
2.顺序执行指定的批操作程序,支持lsp、fas、vlx
3.批操作程序要求加载既执行,且执行过程中无交互操作,同时不能自动关闭当前dwg,也不能打开其它dwg(这个没试验行不行,先写上)
4.本程序需要doslib函数库支持,请自行安装
5.本程序无需放置于CAD支持路径下,但不能改变相关的文件或文件夹名称
6.程序制作过程中,借鉴了langjs的《通用批量图纸处理.lsp》的部分思路,部分预定义操作lsp,直接修改自他的源程序
预定义的标准批操作lsp程序
1.缩放全图
2.清理图纸
3.批量输出wmf
3.所有图元归并至0层
4.图块随机改名
5.图块分解
准备增加的功能
1.支持自定义lisp代码
2.可添加自定义批操作程序(目前需要手动copy至【运行lisp】中)
3.对另添加的lsp批操作程序,可进行简单的代码分析,如存在违反以上第3条要求的,不予执行并给出错误报告
4.对另添加的批操作程序,增加测试功能(这个估计比较难实现啊)
5.界面中增加查看、修改、更新指定的lsp批操作程序
6.指定多个批操作程序时,可指定执行顺序
7.增加被剔除dwg列表供查看
8.文件夹增加全部删除按钮
本程序目前为测试版,发现BUG,请在明经论坛告诉我。同时邀请大家来添加批操作程序
http://bbs.mjtd.com/forum-3-1.html
本程序欢迎任意修改,什么都不作、直接修改作者名除外
|;
程序已做少量更新
附件中已包含了doslib函数库
有没有最新版本的呢? 这个不错呀。试一试 剔除高版本dwg这一块
我不是很确定一定有效
因为我只有CAD2004
没法测试
另外这一部分的代码
感觉思路不是很流畅
请高手指正 预设的几个自动执行程序
有些做的不是很好
比如图层归并、分解、改名
不过关系不大
这些文件干嘛用的
大家都知道
有点瑕疵没啥大不了的 点击“添加路径”怎么无反应啊 装了doslib没
(addpath)除了doslib函数
没有其它自定义函数
doslib函数库
是什么? 这个好啊,国外的叫multi-batch
楼主能不能参照它的思路搞一下,它还参持一个文件进行多项处理之类的!
有没有高手有空写个注册机什么的,大家也用下,关键是它也没在国内销售啊!
它的界面!
http://www.multi-batch.com/images/main_screen.gif
我下载了晓东上的doslib17.arx 然后加载了,然后再运行pldir,对话框出来了,然后选择添加文件,
跳出以下提示:
——————————————————————————————————————————
命令: pldir
文件夹批量处理·pldir.lsp 命令:pldir by masterlong
启动对话框...; 错误: no function definition: GET_ID_IN_LIST
————————————————————————————————————————————
是我doslib的安装不对吗,不是用“_appload” 直接加载doslib吗? panliang9 发表于 2014-1-26 14:30 static/image/common/back.gif
我下载了晓东上的doslib17.arx 然后加载了,然后再运行pldir,对话框出来了,然后选择添加文件,
跳出 ...
不是doslib加载的问题
是我上传的程序文件漏了一个函数
;;get_id_in_list
(defun get_id_in_list( item lists )
(1- (length (member item (reverse lists))))
)
(princ)
把这个加到原来的lisp文件的最后
再运行看看
发程序就是这一点麻烦
很多自定义函数
已经被视做基本函数在使用
panliang9 发表于 2014-1-26 14:02 static/image/common/back.gif
这个好啊,国外的叫multi-batch
楼主能不能参照它的思路搞一下,它还参持一个文件进行多项处理之类的!
...
这种批处理程序
相当于一个壳
作用就是按顺序打开列表中的文件
然后执行无需人机互动的程序
所以做成我的程序这样
其实就差不多了
真正发挥作用的
主要还是“批操作lsp”里的程序
打印、层改名、文字和块替换、提取数据等等
都可以做到
但是需要自己来添加
因为每个人的需求不一样
没办法提供适合所有人需求的通用程序
所以它实际上是给有一定编程能力的人使用的
不过话说回来
懂编程的人又未必需要这样的“壳”程序
因为他们自己也能编出来
我编这个程序
最原始的需求就是在图纸发甲方以前
对图纸做一定的处理
块分解、合并图层等等
增加他们修改的难度
至于这些批处理程序本身是否很完美
其实还是次要的
因为批处理后的图纸自己是不用的