被风吹走的灰尘
发表于 2024-4-1 22:19:47
感谢楼主分享源码
szhorse
发表于 2024-8-23 09:42:48
Ming131564 发表于 2023-1-18 13:55
;对象居中:by zml84 2009-06-15 此基础上修改:by 忘霄
(defun C:EC (/ box en_tmp ent i pt0 pt1 ss tmp ...
能修改一下,只让水平居中、不执行垂直居中吗?
290887497
发表于 2024-9-30 17:46:13
感谢分享,先存起来
today008
发表于 2024-10-6 21:23:44
能修改一下,只让水平居中、不执行垂直居中吗?
春江在线
发表于 2024-12-30 00:15:07
today008 发表于 2024-10-6 21:23
能修改一下,只让水平居中、不执行垂直居中吗?
针对自己需求,加上了限制单行文字
修改了只水平居中,不执行垂直居中
增加忽略不在格子内的文字
(defun C:EC (/ box en_tmp ent i pt0 pt1 ss tmp)
(setvar "CMDECHO" 0)
(vl-load-com)
(princ "\n选择需要居中的对象:")
(if (setq ss (ssget '((0 . "text"))))
(progn
(defun box (e / ll ur)
(vla-getboundingbox (vlax-ename->vla-object e) 'll 'ur)
(mapcar 'vlax-safearray->list (list ll ur))
)
(setq i -1)
(command "undo" "be")
(while (setq ent (ssname ss (setq i (1+ i))))
(setq tmp (box ent))
(setq tmp (mapcar '+ (car tmp) (cadr tmp)))
(setq pt0 (mapcar '* tmp '(0.5 0.5 0.5)))
;(entdel ent)
(if (setq en_tmp (bpoly pt0));文字不在闭合格子内
(progn
;(entdel ent)
(setq tmp (box en_tmp))
(setq tmp (mapcar '+ (car tmp) (cadr tmp)))
(setq pt1 (mapcar '* tmp '(0.5 0.5 0.5)))
(setq pt1 (list (car pt1)(cadr pt0)(caddr pt1)))
(command "move" ent "" "non" pt0 "non" pt1)
(entdel en_tmp)
)
)
)
(command "undo" "e")
)
(princ "\n没有选择对象!")
)
(princ)
)
寒潮大冬瓜
发表于 2024-12-30 23:33:45
春江在线 发表于 2024-12-30 00:15
针对自己需求,加上了限制单行文字
修改了只水平居中,不执行垂直居中
增加忽略不在格子内的文字
很好→很棒!很好~很棒!!很好……很棒!!!收藏了!感谢!
yefei812678
发表于 2025-1-6 08:37:00
感谢楼主的无私分享 谢谢
puzb2023
发表于 2025-1-13 16:10:59
谢谢楼主分享,下载试用