香远益清 发表于 2023-9-22 16:51:22

汉化一下不更好吗?;P
(defun c:exb2c( / colect_entdata store_entdata colect_modified_entdata sel_mod_ents
                  hig osm c1 c2 p ss entdata )

(defun colect_entdata ( / ss i ent entdata )
   (setq ss (ssget "_X"))
   (setq i -1)
   (while (setq ent (ssname ss (setq i (1+ i))))
   (setq entdata (cons (entget ent) entdata))
   )
   entdata
)

(defun store_entdata nil
   (setq entdata (colect_entdata))
   (princ)
)

;;; Modify entities ;;;

(defun colect_modified_entdata ( / ss i ent entdatachk entdatamod )
   (setq ss (ssget "_X"))
   (setq i -1)
   (while (setq ent (ssname ss (setq i (1+ i))))
   (setq entdatachk (cons (entget ent) entdatachk))
   )
   (foreach data entdatachk
   (if (not (vl-some '(lambda ( x ) (equal x data 1e-6)) entdata))
       (setq entdatamod (cons data entdatamod))
   )
   )
   entdatamod
)

(defun sel_mod_ents nil
   (setq ss (ssadd))
   (foreach data (colect_modified_entdata)
   (ssadd (cdr (assoc -1 data)) ss)
   )
   (princ)
)

;;; Main function ;;;

(vl-load-com)

(setq hig (getvar 'highlight))
(setq osm (getvar 'osmode))
(setvar 'osmode 0)
(if (not (or etrim (not (vl-catch-all-error-p (vl-catch-all-apply 'load (list (findfile "extrim.lsp")))))))
   (progn
   (alert "\n快速修剪工具不可用,退出...")
   (exit)
   )
)
(setq c1 (car (entsel "\n选择第一条线")))
(while (vl-catch-all-error-p (vl-catch-all-apply 'vlax-curve-getstartparam (list c1)))
   (prompt "\n选取的曲线属性不正确,重选...")
   (setq c1 (car (entsel "\n选择第一条线")))
)
(setq c2 (car (entsel "\n选择第二条线")))
(while (vl-catch-all-error-p (vl-catch-all-apply 'vlax-curve-getstartparam (list c2)))
   (prompt "\n选取的曲线属性不正确,重选...")
   (setq c2 (car (entsel "\n选择第二条线")))
)
(initget 1)
(setq p (getpoint "\n在两条先前拾取的曲线之间拾取或指定要处理外部的点 : "))
(store_entdata)
(etrim c1 p)
(sel_mod_ents)
(command "_.copybase" '(0.0 0.0 0.0) ss "")
(command "_.undo" "3")
(etrim c2 p)
(command "_.pasteclip" '(0.0 0.0 0.0))
(setvar 'osmode osm)
(setvar 'highlight hig)
(princ)
)

kexiya123 发表于 2023-9-22 17:23:41

不能用啊,看看能不能不用什么ET

njygx 发表于 2023-11-10 15:35:20

kexiya123 发表于 2023-9-22 17:23
不能用啊,看看能不能不用什么ET

忘了说了,调用命令是EXTRIM

vista228 发表于 2023-11-11 10:48:24

感谢大佬分享
页: 1 [2]
查看完整版本: 分享一个沿着线切割图纸的LSP