明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 注册

[已解答] 如何实现将多行文字居封闭区域中

[复制链接]
发表于 2013-5-26 12:24 | 显示全部楼层
注册 发表于 2013-5-26 11:57
可惜了,没有下载到,不知能否实现批量

今天刚好在家里,已经重新上传

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-5-26 13:13 | 显示全部楼层
nzl1116 发表于 2013-5-26 12:24
今天刚好在家里,已经重新上传

收到,多谢哈!!!
回复 支持 1 反对 0

使用道具 举报

发表于 2013-5-26 17:06 | 显示全部楼层
还是不能框选的,,,,,,,,,,
 楼主| 发表于 2013-5-27 08:09 | 显示全部楼层
bai2000 发表于 2013-5-26 17:06
还是不能框选的,,,,,,,,,,

是的,同样的问题啊
发表于 2013-5-27 08:18 | 显示全部楼层
这有一个对象居中的,蛮好用的
;对象居中(zml84,2009-06-15)
(defun c:xa(/ X Y SIZE PT EN AREA STR TMP)
(while(setq SS (entsel "\n点取需要居中的对象:"))
(setq EN (car SS))
(command "undo" "be")
(setq EN_TMP (bpoly (cadr SS)))
(progn (setq TMP (BOX EN)
TMP (mapcar '+ (car TMP) (cadr TMP))
PT0 (mapcar '* TMP '(0.5 0.5 0.5)))
(setq TMP (BOX EN_TMP)
TMP (mapcar '+ (car TMP) (cadr TMP))
PT1 (mapcar '* TMP '(0.5 0.5 0.5)))
(command "_.move" EN "" "non" PT0 "non" PT1)
(entdel EN_TMP)))
(princ))
(defun BOX (E / LL UR)
(vla-getboundingbox (vlax-ename->vla-object E) 'LL 'UR)
(mapcar 'vlax-safearray->list (list LL UR)))
 楼主| 发表于 2013-5-27 22:53 | 显示全部楼层
669423907 发表于 2013-5-27 08:18
这有一个对象居中的,蛮好用的
;对象居中(zml84,2009-06-15)
(defun c:xa(/ X Y SIZE PT EN AREA STR  ...

8错,只是不是我想要的那个结果哈,谢谢
发表于 2023-1-17 09:02 | 显示全部楼层
669423907 发表于 2013-5-27 08:18
这有一个对象居中的,蛮好用的
;对象居中(zml84,2009-06-15)
(defun c:xa(/ X Y SIZE PT EN AREA STR  ...

这个更好用
;对象居中:by zml84 2009-06-15 此基础上修改:by 忘霄
(defun C:EC (/ box en_tmp ent i pt0 pt1 ss tmp)
  (setvar "CMDECHO" 0)
  (vl-load-com)
  (princ "\n选择需要居中的对象:")
  (if (setq ss (ssget))
    (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)
        (setq en_tmp (bpoly pt0))
        (entdel ent)
        (setq tmp (box en_tmp))
        (setq tmp (mapcar '+ (car tmp) (cadr tmp)))
        (setq pt1 (mapcar '* tmp '(0.5 0.5 0.5)))
        (command "move" ent "" "non" pt0 "non" pt1)
        (entdel en_tmp)
      )
      (command "undo" "e")
    )
    (princ "\n没有选择对象!")
  )
  (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-12 22:08 , Processed in 0.160677 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表