- 积分
- 18013
- 明经币
- 个
- 注册时间
- 2007-1-6
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 nyistjz 于 2021-11-18 13:26 编辑
CAD分图程序,几经波折,终于修改好了,分享出来,给有需要的朋友使用。
特点:
1、默认保存路径可修改可保存
2、文件夹名称按日期分类
3、文件名自动编号
4、分图完成后自动打开文件夹
=====================================================
2021年11月17日更新
又做了更新改良,自动记忆设置更改路径
- (defun C:DwgSplit (/ *avzzts-reg-key* *avzzts-reg-root* filename folder getsystime i name path root ss ss1 winshell)
- (princ "-->图纸拆分导出")
- (setvar "cmdecho" 0)
- ;定义时间查询函数
- (defun getsystime (format)(menucmd (strcat "M=$(edtime,$(getvar,date)," format ")")))
- ;确定文件保存位置
- (setq winshell (vlax-create-object "Shell.Application"))
- (setq *avzzts-reg-root* "HKEY_CURRENT_USER\\Software\\Autodesk\\avzztls")
- (setq *avzzts-reg-key* (strcat *avzzts-reg-root* "\\R"(vl-princ-to-string(atof(getvar "acadver")))))
- (setq path (vl-registry-read *avzzts-reg-key* "dwgsplitpath"))
- (if (or(null path)(null(findfile path)))
- (progn
- (setq folder (strcat "分图" (getsystime "m-d")))
- (setq path (getenv "UserProfile"))
- (setq root (vlax-invoke winshell 'namespace path))
- (vlax-invoke root 'newfolder folder)
- (setq path (strcat path "\\" folder))
- )
- )
- (setq path (strcat path "\\"))
- (setq filename (getfiled "请输入文件名" path "dwg" 1))
- (setq name (VL-FILENAME-BASE filename))
- (setq path (VL-STRING-RIGHT-TRIM "\\" (VL-FILENAME-DIRECTORY filename)))
- (vl-registry-write *avzzts-reg-key* "dwgsplitpath" path)
- (setq path (strcat path "\\"))
- ;开始选择保存内容
- (princ "\n请选择需要分图的内容:")
- (setq i 0)
- (while (setq ss (ssget))
- (vl-cmdf "wblock"
- (strcat path name (getsystime " hh-mm-ss-") (itoa (setq i (1+ i))) ".dwg")
- "" "0,0" ss ""
- )
- (vl-cmdf "oops")
- (princ "\n请继续选择<右键结束>:")
- (setq ss1 ss);确认是否打开文件夹
- )
- ;打开相应文件夹
- (if ss1 (vlax-invoke-method WinShell 'Open path))
- (setvar "cmdecho" 1)
- (princ)
- )
- (princ)
附件为旧版!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|