只需一步,快速开始
引自shlisp工具
当重复执行命令时,有时图纸会增加了一个表格,与原先的表格重叠谢谢解决,最好不要出现重叠的表格
您需要 登录 才可以下载或查看,没有账号?注册
使用道具 举报
注册 发表于 2013-6-12 09:45 能否实现多行文字表格居中?
caoyin发表于2008-5-19 11:01:00没看出“表格”是什么意思!!
表格——例如由直线或多段线形成的封闭图形,执行该命令后,表格内的文字自动定位在表格的中心
以下是引用sailorcwx的发言:程序不全,测试不了
程序不全,测试不了
(vl-load-com)(defun c:JZ(/ err)(defun algion (msg / ss lst i vlalst boxlst x cor1 cor2 findboxpt newboxpt en1 en enlst y y2 ) (princ msg) (setq ss (ssget '((0 . "text")))) (setq lst nil) (setq i 0) (repeat (sslength ss) (setq lst (cons (ssname ss i) lst)) (setq i (1+ i)) ) (setq vlalst (mapcar 'vlax-ename->vla-object lst)) (setq boxlst (mapcar '(lambda (x / cor1 cor2) (vla-GetBoundingBox x 'cor1 'cor2) (list (vlax-safearray->list cor1) (vlax-safearray->list cor2) ) ) vlalst ) ) (setq findboxpt (mapcar '(lambda (x) (polar (car x) (angle (car x) (cadr x)) (/ (DISTANCE (car x) (cadr x)) 2.0) ) ) boxlst ) ) (setq newboxpt (mapcar '(lambda (x) (setq en1 (entlast)) (vl-cmdf "_boundary" x "") (setq en (entlast)) (if (not (equal en1 en)) (progn (setq enlst (entget en)) (setq lst (vl-remove-if-not '(lambda (y) (= (car y) 10)) enlst ) ) (setq cor1 (vl-remove 10 (car lst)) cor2 (vl-remove 10 (nth 2 lst)) ) (while (setq en1 (entnext en1)) (entdel en1) ) (polar cor1 (angle cor1 cor2) (/ (DISTANCE cor1 cor2) 2.0) ) ) ) ) findboxpt ) ) (mapcar '(lambda (x y y2) (vla-move x (vlax-3d-point y) (vlax-3d-point y2)) ) vlalst findboxpt newboxpt )
)(setq err(VL-CATCH-ALL-APPLY 'algion (list "\n师兄 选择单行文字: "))) (princ) )
caoyin发表于2008-5-19 16:57:00(vl-load-com)(defun c:JZ(/ err)(defun algion (msg / ss lst i  
已创建 1 个多段线,还是没有成功,多次重复该命令,出现同样问题
我测试没有问题啊。
出现这个问题的原因是:在封闭区域存在孤岛的时候,BOUNDARY 产生的对象数量 >1,而你引用的原程序中只删除一个图元,
(while (setq en1 (entnext en1)) (entdel en1))
确保删除
(setq en1 (entlast))(vl-cmdf "_boundary" x "")
....
之后的产生的所有图元
现在问题依旧,简单举例:例如简单的一个矩形,里面有一个文字,
执行命令JZ,出现效果:文字位于矩形中心——正常;
重复执行命令JZ,出现效果:文字位置不变,矩形却变成重叠的2个——不正常
依次重复命令N次,出现效果:矩形变成重叠的N个——不正常
我想要达到的效果就是:无论重复命令JZ几次,矩形(表格)还是1个,不会出现重叠的矩形(表格)
谢谢
按照你说的测试,仍然没问题,截图如下:
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-25 20:42 , Processed in 0.200186 second(s), 29 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.