Dec 发表于 2022-7-6 11:12:26

多条线到多段线。N

我有一个dxf文件,它有几行连接在一起。我所在公司的部门需要将所有直线变成闭合多段线。我在这个网站上找到了一个VBA宏
http://www.cadtutor.net/forum/showthread.php?t=46531
我对其进行了调整,但我无法使这些线成为多段线。我正在使用solidworks附带的DWG编辑器。语法与autoCAD几乎相同。我把这些都贴在了
solidworks站点,目前还没有人回复。谁能帮帮我吗。
DXF\u Worktop\u 12345\u Top\u B.DXF

Lee Mac 发表于 2022-7-6 11:20:15

也许是像这样简单的事情?
 

(defun c:jp (/ *error* vars old ss)
;; Lee Mac~11.04.10

(defun *error* (msg)
   (mapcar (function setvar) vars old)
   (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
       (princ (strcat "\n** Error: " msg " **")))
   (princ))

(setq vars '("CMDECHO" "PEDITACCEPT") old (mapcar (function getvar) vars))
(mapcar (function setvar) vars '(0 1))

(if (setq ss (ssget "_:L" '((0 . "ARC,LINE,LWPOLYLINE"))))
   (command "_.pedit" "_M" ss "" "_J" "" ""))

(mapcar (function setvar) vars old)
(princ))

Dec 发表于 2022-7-6 11:29:10

谢谢你的回复。但我不知道这是什么语言

Lee Mac 发表于 2022-7-6 11:35:19

我是LISP。
 
Arghh。。。我看到你正在使用LT-如果没有扩展程序,你将无法在LT中运行LISP。。。

Dec 发表于 2022-7-6 11:40:42

我还使用SolidWorks附带的DWG编辑器。我在哪里读到过,它可以加载LISP例程。我刚刚把你们的代码复制到记事本上,并把它给了你们。lsp文件扩展名。我从命令行运行例程,但什么也没发生。干杯如果你知道VBA,那会很有帮助

Dec 发表于 2022-7-6 11:52:29

我已经整理好了。我使用了一个脚本,该脚本使用命令捕获图形中的所有实体,并将其转换为多段线

ReMark 发表于 2022-7-6 11:56:56

谢谢你的更新。

crushmaster 发表于 2022-7-6 12:03:49

 
与将图元从第1层移动到第2层一样,可以选择所有直线、圆弧等,并将其转换为多段线?我误解了吗?

ReMark 发表于 2022-7-6 12:05:56

Pedit。。。多选项。

alanjt 发表于 2022-7-6 12:16:47

快点,但我喜欢。。。
 
(defun c:MJL (/ ent ss)
;; Join all on selected object's layer
;; Alan J. Thompson, 05.12.10
(and (setq ent (car (entsel "\nSelect object on desired layer: ")))
      (setq ss (ssget "_X"
                      (list '(0 . "ARC,LINE,LWPOLYLINE")
                            (cons 410 (getvar 'ctab))
                            (assoc 8 (entget ent))
                      )
               )
      )
      (if (eq (getvar 'peditaccept) 1)
      (vl-cmdf "_.pedit" "_m" ss "" "_J" "" "")
      (vl-cmdf "_.pedit" "_m" ss "" "_Y" "_J" "" "")
      )
)
(princ)
)
页: [1]
查看完整版本: 多条线到多段线。N