明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 503|回复: 3

[提问] 求助大神 lsp批量修改圆插件原保存格式dwg改成dxf

[复制链接]
发表于 2022-5-18 10:45 | 显示全部楼层 |阅读模式
1明经币
求助高手指点,如何把这个lsp批量修改插件保存格式改成dxf(打开格式和保存格式都改成dxf。原dwg)
  1. (defun c:tt (/ f file tmp)
  2.   (setq  f (getfiled "选择文件夹并任意选取一个文件,请先剔除无需处理文件"
  3.              "d:\"
  4.              "dwg"
  5.              0
  6.            )
  7.     f (vl-filename-directory f)
  8.     f (mapcar '(lambda (x) (strcat f "\" x))
  9.         (vl-directory-files f "*.dwg" 1)
  10.       )
  11.   )
  12.   (setq tmp (open (setq file (strcat (getenv "TEMP") "\\tmp.scr")) "w"))
  13.   (foreach n f
  14.     (write-line (strcat "_.open "" n """) tmp)
  15.     (write-line
  16.       "(setq ss (ssget "x" '((0 . "CIRCLE") )))
  17. (repeat  (setq n (sslength ss))
  18. (setq  en (ssname ss (setq n (1- n))))
  19. (setq centerpt(Cdr(Assoc 10 (Entget en))))
  20. (entmake (list '(0 . "LINE") (cons 10 (polar centerpt pi 5 )) (cons 11 (polar centerpt 0 5 ))))
  21. (entmake (list '(0 . "LINE") (cons 10 (polar centerpt  ( * 0.5 pi) 5 )) (cons 11 (polar centerpt  ( * -0.5 pi) 5 )))))"
  22.       tmp
  23.     )
  24.     (write-line "_.qsave _.close" tmp)
  25.   )
  26.   (close tmp)
  27.   (command ".script" file)
  28.   (vl-file-delete file)
  29.   (princ)
  30. )

发表于 2022-5-19 11:12 | 显示全部楼层
(DEFUN C:dxf(/ F W p n s)
  (SETQ W (GETVAR "DWGPREFIX"))
  (setq s (ssget))
  (SETQ F (GETFILED "另存为 dxf" W "dxf" 3))
  (IF F
  (IF (FINDFILE F)
  (progn
  (COMMAND "WBLOCK" F "y" "" "0,0" s "")
  (command "oops"))
  (progn
  (COMMAND "WBLOCK" F "" "0,0" s "")
  (command "oops"))
  )
  )
  (princ)
)


------------------------------

试试看

回复

使用道具 举报

 楼主| 发表于 2022-5-19 11:20 | 显示全部楼层
梦想家-DING 发表于 2022-5-19 11:12
(DEFUN C:dxf(/ F W p n s)
  (SETQ W (GETVAR "DWGPREFIX"))
  (setq s (ssget))

非常感谢,不过我是要按上面这个改,批量修改图纸里面的圆,在圆心处加十字标。批处理。上面的代码现在是选择一个文件夹里面的任意图纸,可以把文件夹内所有的圆心加十字标,但是只支持dwg,我要修改的文件格式是dxf的,希望能帮我dwg改成dxf
回复

使用道具 举报

 楼主| 发表于 2022-5-19 11:22 | 显示全部楼层
梦想家-DING 发表于 2022-5-19 11:12
(DEFUN C:dxf(/ F W p n s)
  (SETQ W (GETVAR "DWGPREFIX"))
  (setq s (ssget))
  1. (defun c:tt (/ f file tmp)
  2.   (setq  f (getfiled "选择文件夹并任意选取一个文件,请先剔除无需处理文件"
  3.                                                  "d:\"
  4.                                                  "dwg"
  5.                                                  0
  6.                                          )
  7.                 f (vl-filename-directory f)
  8.                 f (mapcar '(lambda (x) (strcat f "\" x))
  9.                                 (vl-directory-files f "*.dwg" 1)
  10.       )
  11.   )
  12.   (setq tmp (open (setq file (strcat (getenv "TEMP") "\\tmp.scr")) "w"))
  13.   (foreach n f
  14.     (write-line (strcat "_.open "" n """) tmp)
  15.     (write-line
  16.       "(setq ss (ssget "x" '((0 . "CIRCLE") )))
  17. (repeat  (setq n (sslength ss))
  18. (setq  en (ssname ss (setq n (1- n))))
  19. (setq centerpt(Cdr(Assoc 10 (Entget en))))
  20. (entmake (list '(0 . "LINE") (cons 10 (polar centerpt pi 5 )) (cons 11 (polar centerpt 0 5 ))))
  21. (entmake (list '(0 . "LINE") (cons 10 (polar centerpt  ( * 0.5 pi) 5 )) (cons 11 (polar centerpt  ( * -0.5 pi) 5 )))))"
  22.       tmp
  23.                 )
  24.     (write-line "_.qsave _.close" tmp)
  25.         )
  26.   (close tmp)
  27.   (command ".script" file)
  28.   (vl-file-delete file)
  29.   (princ)
  30. )
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-5 03:48 , Processed in 0.267585 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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