乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: Hickoz_bro

[编程交流] 简单的saveas-LISP

[复制链接]

0

主题

6

帖子

6

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 11:36:39 | 显示全部楼层
 
我试过。。。还是不适合我。
回复

使用道具 举报

20

主题

81

帖子

61

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:40:27 | 显示全部楼层
有没有办法检查文件是否存在?我想这样保存版本。我在你的代码中添加了一些规则,但我不知道是否可以检查图纸的存在。
  1. (defun c:ssave ( / *error* vars old s )
  2. (defun *error* ( msg )
  3.    (and old (mapcar 'setvar vars old))
  4.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  5.        (princ (strcat "\n** Error: " msg " **")))
  6.    (princ)
  7. )
  8. (setq vars '("CMDECHO" "FILEDIA") old (mapcar 'getvar vars))
  9. (mapcar 'setvar vars '(0 0))
  10. (while
  11.    (progn
  12.      (setq s (getstring (strcat "\nEnter Filename for Save <" (getvar 'DWGNAME) "> : ")))
  13.      (cond ( (eq "" s)
  14.              (setq s (getvar 'DWGNAME)) nil)
  15.            ( (not (snvalid s))
  16.              (princ "\n** Invalid **")))
  17.    )
  18. )if not;check if drawing excist if it does (setq n (1+ n)) and check again***********************************************
  19. (acet-file-mkdir (strcat (getvar "dwgprefix") "\backup\"))
  20. (setq DWGNM (strcat (getvar "dwgprefix") "\backup\"(strcat (GETVAR "DWGNAME" ))))
  21. (command "_.saveas" "_2007" (strcat (getvar "dwgprefix") "\backup\" s (itoa n)))
  22.    
  23. );and if
  24. (mapcar 'setvar vars old)
  25. (princ)
  26. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:44:20 | 显示全部楼层
可能类似于:
 
  1. (defun c:ssave ( / *error* vars old s path dwg )
  2. (vl-load-com)
  3. (defun *error* ( msg )
  4.    (and old (mapcar 'setvar vars old))
  5.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  6.        (princ (strcat "\n** Error: " msg " **")))
  7.    (princ)
  8. )
  9. (setq vars '("CMDECHO" "FILEDIA") old (mapcar 'getvar vars))
  10. (mapcar 'setvar vars '(0 0))
  11. (while
  12.    (progn
  13.      (setq s (getstring (strcat "\nEnter Filename for Save <" (vl-filename-base (getvar 'DWGNAME)) "> : ")))
  14.      (cond ( (eq "" s)
  15.              (setq s (vl-filename-base (getvar 'DWGNAME))) nil)
  16.            ( (not (snvalid s))
  17.              (princ "\n** Invalid **")))
  18.    )
  19. )
  20. (if (not (findfile (setq path (strcat (getvar 'DWGPREFIX) "backup"))))
  21.    (vl-mkdir path)
  22. )
  23. (if (findfile path)
  24.    (progn
  25.      (if (findfile (setq dwg (strcat path "\" s ".dwg")))
  26.        (
  27.          (lambda ( i )
  28.            (while (findfile (setq dwg (strcat path "\" s (itoa (setq i (1+ i))) ".dwg"))))
  29.          )
  30.          0
  31.        )
  32.      )
  33.      (command "_.saveas" "_2007" dwg)
  34.    )   
  35. )
  36. (mapcar 'setvar vars old)
  37. (princ)
  38. )

 
但是,不确定您要查找的文件结构是什么?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 17:12 , Processed in 0.637988 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表