- 积分
- 3805
- 明经币
- 个
- 注册时间
- 2022-1-30
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2022-2-14 19:33:53
|
显示全部楼层
本帖最后由 cxhhyy 于 2022-2-14 19:37 编辑
;;线变矩形
(defun c:jx (/ ss l en sz i lp h a la);定义命令
(if (not $$)
(setq $$ 1) ;设置默认数值
)
(if (setq l (getdist (strcat "\n执行心心命令\n线变矩形\n请量取或输入矩形宽度:当前宽度:<" (rtos $$) ">\n")))
(setq $$ l)(setq l $$))
(princ "\n请选择对象:\n")
(if (setq ss (ssget '((0 . "LWPOLYLINE,LINE,ARC"))))
(progn (setvar "cmdecho" 0)
(if (= 8 (logand (getvar "undoctl") 8))
(command-s "_.UNDO" "e")
(command-s "_.UNDO" "be"))
(setq i 0)
(repeat (sslength ss)
(setq en (ssname ss i)
sz (ssadd)
i (1+ i))
(setq lp (mapcar
'(lambda (y)
(list (vlax-curve-getStartPoint y)
(vlax-curve-getEndPoint y)))
(mapcar 'car
(mapcar
'(lambda (x)
(setq o (vlax-invoke (vlax-ename->vla-object en) 'Offset x))
(ssadd (entlast) sz) o)
(list (setq h (* 0.5 l)) (- h))))))
(mapcar
'(lambda (k l)
(entmakex (list (cons 0 "LINE") (cons 10 k) (cons 11 l)))
(ssadd (entlast) sz))
(car lp)
(cadr lp))(setvar 'PEDITACCEPT 1)
(command-s "_.pedit" "m" sz "" "j" 0.0 "")(setq la (getvar "clayer"))
(command-s "_.chprop" (entlast) "" "la" la ""))
(if (not (setq p (getpoint "\n单击不删除源对象 <空格删除>\n")))
(command-s "_.ERASE" ss ""))
(if (= 8 (logand (getvar "undoctl") 8)) (command-s "_.UNDO" "e"))
(setvar "cmdecho" 1)
(princ "\n心心命令执行完毕\n!"))
(progn (princ "\n未选择对象!\n")))
(princ (menucmd "M=$(edtime,$(getvar,date),YYYY.MO.DD HH:MM DDDD )"))
(princ))
;;
|
|