风叶翔龙 发表于 2023-5-2 01:20

累加修改z坐标,确实烂,自己用的

(SETQ n 0)
(defun C:tt
(/ #iCmdEcho #linedata #newlinedata #ptEndNew #ptEndOld #ptStaNew #ptStaOld hhh)
(setq #iCmdEcho (getvar "CMDECHO"))
(setvar "CMDECHO" 0)

(setq #linedata (entget (car (entsel))))      ;; 取得图元信息并赋值给变量#linedata
;(setq #ptStaOld (assoc 10 #linedata))       ;; 获取直线的起点坐标
(setq #ptEndOld (assoc 11 #linedata))       ;; 获取直线的终点坐标
;(setq #ptStaNew (cons 10 (list 0.0 0.0 0.0)));; 使用列表创建一个新点坐标,并合成点对,用来替换原起点坐标

(SETQ n (1+ n))
    (SETQ HHH (* 135.48 n))
(setq #ptEndNew (cons 11 (LIST (cadr #ptEndOld) (cadDr #ptEndOld) HHH)));; 使用列表创建一个新点坐标,并合成点对,用来替换原终点坐标

;; 替换原来的点坐标
(setq #newlinedata (subst #ptStaNew #ptStaOld #linedata))
(setq #newlinedata (subst #ptEndNew #ptEndOld #newlinedata))

(entmod #newlinedata)            ;; 更新实体

(setvar "CMDECHO" #iCmdEcho)
(princ)
)


页: [1]
查看完整版本: 累加修改z坐标,确实烂,自己用的