永不言弃 发表于 2013-5-12 12:53:45

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

请教一下,在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"))))
命令:

Gu_xl 发表于 2013-5-12 16:47:26

永不言弃 发表于 2013-5-12 13:01 static/image/common/back.gif
我写了一个,不能批量,怎样才能实现批量处理,谢谢
(defun c:tg ()
(setq a (car (entsel "\选择文字" ...

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

13648893846 发表于 2018-12-7 00:45:45

Gu_xl 发表于 2013-5-12 16:47
批量选择权属线,然后逐个权属线进行处理!
处理单个权属线时,先计算权属线的顶点坐标plist,然后将权 ...

一不小心点错了,不好意思了,

happy336 发表于 2019-10-29 23:54:39

最后的文件可以分享一下么,谢谢

永不言弃 发表于 2013-5-12 13:01:17

我写了一个,不能批量,怎样才能实现批量处理,谢谢
(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)
)

xiabin68 发表于 2013-5-12 15:22:53

如果你要批量那必须要判断文字的坐标 在权利线坐标以内才要的,,工以前也想整,后来没有成功就是判断坐标那整不起走了,,

gzxl 发表于 2013-5-12 17:04:25

呵呵,Gu版的签名图像有意思

永不言弃 发表于 2013-5-12 17:45:06

非常感谢,我研究一下

永不言弃 发表于 2013-5-12 19:46:40

Gu_xl 发表于 2013-5-12 16:47 static/image/common/back.gif
批量选择权属线,然后逐个权属线进行处理!
处理单个权属线时,先计算权属线的顶点坐标plist,然后将权属 ...

请教一下怎样定义ptlist和filter,谢谢
(setq w (entsel "\n 选择线"))
(setq ptlist (…………))
(setq te (ssget "wp" ptlist filter))

llsheng_73 发表于 2013-5-13 08:18:57

永不言弃 发表于 2013-5-12 19:46 static/image/common/back.gif
请教一下怎样定义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:22

llsheng_73 发表于 2013-5-13 08:18 static/image/common/back.gif
ptlist格式(list(list x y)(list x y)(list x y)...)
flilter具体格式很多,主要看你要过滤些什么
   ...

我想得到封闭多段线内的文字,

llsheng_73 发表于 2013-5-13 11:29:46

永不言弃 发表于 2013-5-13 11:23 static/image/common/back.gif
我想得到封闭多段线内的文字,

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

pt是多线段顶点列表,注意多线段不能有冗余点,不然是选不出来的
"WP"方式只能得到整个文字完全在线内的,用"cp"允许文字部分在线外,具体用什么自己看着办
页: [1] 2 3
查看完整版本: 在CASS中怎样把权属线内的文字赋给权属线中的权利人