明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1536|回复: 15

[提问] 求解,天正实体有没有办法修改呢

[复制链接]
发表于 2021-7-4 12:05:26 | 显示全部楼层 |阅读模式
我想改天正的单行文字,但是发现用subst和entmod修改,cad会直接崩溃,不知道咋整了
 楼主| 发表于 2021-7-8 00:37:01 | 显示全部楼层
命令: (vlax-dump-object (vlax-ename->vla-object(car(entsel))))
选择对象:
; IComLineText: IComLineText Interface
;特性值:
;   Alignment = "左下(BL)"
;   Application (RO) = #<VLA-OBJECT IAcadApplication 00007ff78b70c910>
;   Document (RO) = #<VLA-OBJECT IAcadDocument 000000003a701e78>
;   EntityTransparency = "ByLayer"
;   Handle (RO) = "720"
;   HasExtensionDictionary (RO) = 0
;   Height = "3.5"
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0000000052b45278>
;   Layer = "PUB_TEXT"
;   LayoutRotation = 0.0
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   Material = "ByLayer"
;   ObjectID (RO) = 47
;   ObjectID32 (RO) = 47
;   ObjectName (RO) = "TDbText"
;   OwnerID (RO) = 43
;   OwnerID32 (RO) = 43
;   PlotStyleName = "ByLayer"
;   Rotation = 0.0
;   Scale = 100.0
;   Text = "天正单行文字输入"
;   TextStyle = "Standard"
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 0000000052b451b0>
;   Visible = -1




命令: (setq aab (entget (car(entsel))))
选择对象: ((-1 . <图元名: 7ff4b4d0bb80>) (0 . "TCH_TEXT") (330 . <图元名: 7ff4b4d039f0>) (5 . "720") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "PUB_TEXT") (100 . "TDbEntity") (46 . 0.0) (47 . 100.0) (68 . 1) (100 . "TDbText") (10 40309.9 23863.2 0.0) (40 . 3.5) (1 . "天正单行文字输入") (50 . 0.0) (7 . "Standard") (70 . 0) (72 . 7))
 楼主| 发表于 2021-7-8 00:36:14 | 显示全部楼层
Bao_lai 发表于 2021-7-5 09:08
一般的这样写可以的(ssget '((0 . "TCH_TEXT"))),你试试看。

谢谢大佬!如果我想修改天正单行文字的位置,应该咋做呢?就是它的夹点的坐标
(vlax-dump-object (vlax-ename->vla-object(car(entsel))) )
用这个命令看不到它的坐标,很迷
但是用(setq aab (entget (car(entsel))))却看得到,只不过entmod修改它,会直接崩溃……可惜呀
发表于 2021-8-14 18:06:54 | 显示全部楼层
caocaosasd 发表于 2021-8-14 16:30
还请大佬明示……

想修改位置就先(setq d1 (cdr (assoc 10 (entget (car (entsel))))))获取单行文字位置点
然后(command "move"  (car (entsel)) "" "none" d1 "none" d2)就行了
发表于 2021-7-4 12:14:36 来自手机 | 显示全部楼层
本帖最后由 Bao_lai 于 2021-7-4 15:37 编辑

(vlax-put-property (vlax-ename->vla-object(car(entsel))) "Text" "天正单行文字修改-Vl-put 貌似可以,试一下.")
 楼主| 发表于 2021-7-4 21:41:29 | 显示全部楼层
Bao_lai 发表于 2021-7-4 12:14
(vlax-put-property (vlax-ename->vla-object(car(entsel))) "Text" "天正单行文字修改-Vl-put 貌似可以, ...

太牛了!确实可以!那如果想改天正云线的文字,"Text"应该写啥呀……
 楼主| 发表于 2021-7-4 21:54:49 | 显示全部楼层
我照猫画虎查了一下资料,是不是TextContent呀
 楼主| 发表于 2021-7-4 23:54:55 | 显示全部楼层
Bao_lai 发表于 2021-7-4 12:14
(vlax-put-property (vlax-ename->vla-object(car(entsel))) "Text" "天正单行文字修改-Vl-put 貌似可以, ...

拜谢了呀大佬!顺便求指点一下,如果让ssget只获取天正单行文字,应该咋写呀……
发表于 2021-7-5 09:07:53 | 显示全部楼层
caocaosasd 发表于 2021-7-4 21:54
我照猫画虎查了一下资料,是不是TextContent呀

这举一反三,可以的。
发表于 2021-7-5 09:08:50 | 显示全部楼层
本帖最后由 Bao_lai 于 2021-7-5 09:09 编辑
caocaosasd 发表于 2021-7-4 23:54
拜谢了呀大佬!顺便求指点一下,如果让ssget只获取天正单行文字,应该咋写呀……

一般的这样写可以的(ssget '((0 . "TCH_TEXT"))),你试试看。
发表于 2021-7-5 11:53:00 | 显示全部楼层
本帖最后由 aihuyujian 于 2021-7-5 11:54 编辑

(vlax-dump-object (vlax-ename->vla-object (car (entsel)))) 能显示出来的基本都能改
天正8 以上版本不要去选 天正门窗对象   会一直出错只能关闭CAD

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-13 14:19 , Processed in 0.160144 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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