明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8240|回复: 20

[讨论] 在CASS中怎样把权属线内的文字赋给权属线中的权利人

[复制链接]
发表于 2013-5-12 12:53 | 显示全部楼层 |阅读模式
请教一下,在CASS中怎样把权属线内的文字赋给权属线中的权利人,给点提示也行,谢谢!
"Continuous") (100 . "AcDb2dPolyline") (66 . 1) (10 0.0 0.0 0.0) (70 . 129) (40
. 0.15) (41 . 0.15) (210 0.0 0.0 1.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 .
0) (-3 ("SOUTH" (1000 . "300000") (1000 . "1110031") (1000 . "张三") (1000 .
"251"))))
命令:

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-5-12 16:47 | 显示全部楼层
永不言弃 发表于 2013-5-12 13:01
我写了一个,不能批量,怎样才能实现批量处理,谢谢
(defun c:tg ()
  (setq a (car (entsel "\选择文字" ...

批量选择权属线,然后逐个权属线进行处理!
处理单个权属线时,先计算权属线的顶点坐标plist,然后将权属线放大到图形界面,以便用(ssget "wp" plist filter)选中权属线内文字,选到文字后再写入扩展数据即可!
回复 支持 0 反对 1

使用道具 举报

发表于 2018-12-7 00:45 | 显示全部楼层
Gu_xl 发表于 2013-5-12 16:47
批量选择权属线,然后逐个权属线进行处理!
处理单个权属线时,先计算权属线的顶点坐标plist,然后将权 ...

一不小心点错了,不好意思了,
发表于 2019-10-29 23:54 来自手机 | 显示全部楼层
最后的文件可以分享一下么,谢谢
 楼主| 发表于 2013-5-12 13:01 | 显示全部楼层
我写了一个,不能批量,怎样才能实现批量处理,谢谢
(defun c:tg ()
  (setq a (car (entsel "\选择文字")))
  (setq a2 (vlax-ename->vla-object a))
  (setq a1 (vla-get-TextString a2))
  (setq qs  (entsel "\n 选择权属线"))
  (setq appname "south")
  (setq sw (car qs))
  (regapp (setq rname appname))
  (setq xxdata (entget sw (list rname)))
  (print xxdata)
  (setq b1 (assoc -3 xxdata))       
  (setq b2 (assoc "SOUTH" (cdr (assoc -3 xxdata))))
  (setq b3 (car (cdddr (append b2))))
  (setq cc6 (cons 1000 a1))
  (setq b7 (subst cc6 b3 b2))                ;逐步替换
  (setq b9 (subst b7 b2 b1))                ;逐步替换
  (setq b10 (subst b9 b1 xxdata))                ;逐步替换
  (entmod b10)
)
发表于 2013-5-12 15:22 | 显示全部楼层
如果你要批量那必须要判断文字的坐标 在权利线坐标以内才要的,,工以前也想整,后来没有成功就是判断坐标那整不起走了,,
发表于 2013-5-12 17:04 | 显示全部楼层
呵呵,Gu版的签名图像有意思
 楼主| 发表于 2013-5-12 17:45 | 显示全部楼层
非常感谢,我研究一下
 楼主| 发表于 2013-5-12 19:46 | 显示全部楼层
Gu_xl 发表于 2013-5-12 16:47
批量选择权属线,然后逐个权属线进行处理!
处理单个权属线时,先计算权属线的顶点坐标plist,然后将权属 ...

请教一下怎样定义ptlist和filter,谢谢
(setq w (entsel "\n 选择线"))
  (setq ptlist (…………))
  (setq te (ssget "wp" ptlist filter))
发表于 2013-5-13 08:18 | 显示全部楼层
永不言弃 发表于 2013-5-12 19:46
请教一下怎样定义ptlist和filter,谢谢
(setq w (entsel "\n 选择线"))
  (setq ptlist (…………))

ptlist格式(list(list x y)(list x y)(list x y)...)
flilter具体格式很多,主要看你要过滤些什么
       一般格式(list (cons 组码 组码值) (cons 组码 组码值)...)
 楼主| 发表于 2013-5-13 11:23 | 显示全部楼层
llsheng_73 发表于 2013-5-13 08:18
ptlist格式(list(list x y)(list x y)(list x y)...)
flilter具体格式很多,主要看你要过滤些什么
     ...

我想得到封闭多段线内的文字,
发表于 2013-5-13 11:29 | 显示全部楼层
永不言弃 发表于 2013-5-13 11:23
我想得到封闭多段线内的文字,

得到封闭多段线内的文字
(ssget"wp" pt (list(cons 0 "TEXT")))

pt是多线段顶点列表,注意多线段不能有冗余点,不然是选不出来的
"WP"方式只能得到整个文字完全在线内的,用"cp"允许文字部分在线外,具体用什么自己看着办
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 09:45 , Processed in 0.676969 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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