找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1769|回复: 4

[研讨] 多重引线文字颜色更改

[复制链接]

已领礼包: 12个

财富等级: 恭喜发财

发表于 2019-10-28 16:34:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
CAD的mleaderstyle对象的特性:文字有textcolor特性,引线有LeaderLineColor特性,可用vla-put-textcolor及
vla-put-LeaderLineColor函数更改引线及文字颜色,但mleader实体对象中,取得数据如下:
Application (RO) = #<VLA-OBJECT IAcadApplication 000000013ff82c70>
;   ArrowheadBlock = ""
;   ArrowheadSize = 2.45
;   ArrowheadType = 0
;   BlockConnectionType = 1
;   BlockScale = 1.0
;   ContentBlockName = ""
;   ContentBlockType = 6
;   ContentType = 2
;   Document (RO) = #<VLA-OBJECT IAcadDocument 0000000028e85950>
;   DogLegged = -1
;   DoglegLength = 0.35
;   Handle (RO) = "20E"
;   Ha**tensionDictionary (RO) = 0
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 00000000295b9b48>
;   LandingGap = 0.525
;   Layer = "0"
;   LeaderCount (RO) = 1
;   LeaderLineColor = #<VLA-OBJECT IAcadAcCmColor 00000000295b72c0>
;   LeaderLinetype = "ByLayer"
;   LeaderLineWeight = -1
;   LeaderType = 1
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   Material = "ByLayer"
;   ObjectID (RO) = 53
;   ObjectID32 (RO) = 53
;   ObjectName (RO) = "AcDbMLeader"
;   OwnerID (RO) = 51
;   OwnerID32 (RO) = 51
;   PlotStyleName = "ByLayer"
;   ScaleFactor = 1.0
;   StyleName = "文字不带框"
;   TextAttachmentDirection = 0
;   TextBackgroundFill = 0
;   TextBottomAttachmentType = 0
;   TextDirection = 5
;   TextFrameDisplay = 0
;   TextHeight = 3.5
;   TextJustify = 3
;   TextLeftAttachmentType = 3
;   TextLineSpacingDistance = 5.83333
;   TextLineSpacingFactor = 1.0
;   TextLineSpacingStyle = 1
;   TextRightAttachmentType = 3
;   TextRotation = 0.0
;   TextString = "qqwqwqwww\\Psadsadsadsdqwe\\Pdsfsfdsfdsfd\\Pdsfdsfsfsffsf"
;   TextStyleName = "sdhz"
;   TextTopAttachmentType = 0
;   TextWidth = 0.0
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 00000000295b5c40>
;   Visible = -1
;支持的方法:
;   AddLeader ()
;   AddLeaderLine (2)
;   AddLeaderLineEx (1)
;   ArrayPolar (3)
;   ArrayRectangular (6)
;   Copy ()
;   Delete ()
;   GetBlockAttributeValue (1)
;   GetBlockAttributeValue32 (1)
;   GetBoundingBox (2)
;   GetDoglegDirection (1)
;   GetExtensionDictionary ()
;   GetLeaderIndex (1)
;   GetLeaderLineIndexes (1)
;   GetLeaderLineVertices (1)
;   GetVertexCount (1)
;   GetXData (3)
;   Highlight (1)
;   IntersectWith (2)
;   Mirror (2)
;   Mirror3D (3)
;   Move (2)
;   RemoveLeader (1)
;   RemoveLeaderLine (1)
;   Rotate (2)
;   Rotate3D (3)
;   ScaleEntity (2)
;   SetBlockAttributeValue (2)
;   SetBlockAttributeValue32 (2)
;   SetDoglegDirection (2)
;   SetLeaderLineVertices (2)
;   SetXData (2)
;   TransformBy (1)
;   Update ()
颜色特性的数据只有:
LeaderLineColor = #<VLA-OBJECT IAcadAcCmColor 00000000295b72c0>
用vla-put-LeaderLineColor可更改颜色
TrueColor = #<VLA-OBJECT IAcadAcCmColor 00000000295b5c40>
用vla-put-TrueColor设置没有反应
再看DXF数据,建立mleader对象,取得图元 e,数据dat如下:
((-1 . <图元名: -129708>) (0 . "MULTILEADER") (330 . <图元名: -143058>) (5 . "5F6F")
(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 3) (100 .
"AcDbMLeader") (300 . "CONTEXT_DATA{") (40 . 1.0) (10 9481.21 99.0653 0.0) (41
. 3.5) (140 . 2.45) (145 . 0.525) (174 . 6) (175 . 6) (176 . 2) (177 . 1) (290
. 1) (304 . "{\\C1;ererqwewqe}") (11 0.0 0.0 1.0) (340 . <图元名: -141348>) (12
9495.95 102.915 0.0) (13 1.0 0.0 0.0) (42 . 0.0) (43 . 0.0) (44 . 0.0) (45 .
1.0) (170 . 1) (90 . -1023410169) (171 . 3) (172 . 5) (91 . -1073741824) (141 .
0.0) (92 . 32) (291 . 0) (292 . 0) (173 . 0) (293 . 0) (142 . 0.0) (143 . 0.0)
(294 . 0) (295 . 0) (296 . 0) (110 9508.33 79.0208 0.0) (111 1.0 0.0 0.0) (112
0.0 1.0 0.0) (297 . 0) (302 . "LEADER{") (290 . 1) (291 . 1) (10 9496.82
99.0653 0.0) (11 -1.0 0.0 0.0) (90 . 0) (40 . 0.35) (304 . "LEADER_LINE{") (10
9508.33 79.0208 0.0) (91 . 0) (305 . "}") (303 . "}") (301 . "}") (340 . <图元名:
-12ac50>) (90 . 279554) (170 . 1) (91 . -1023410172) (341 . <图元名: -1430e0>)
(171 . -1) (290 . 0) (291 . 1) (41 . 0.35) (42 . 2.45) (172 . 2) (343 . <图元名:
-141348>) (173 . 6) (95 . 6) (174 . 1) (175 . 2) (92 . -1023410169) (292 . 0)
(93 . -1023410169) (10 1.0 1.0 1.0) (43 . 0.0) (176 . 1) (293 . 0) (294 . 0)
(178 . 0) (179 . 3) (45 . 1.0))
在网络上搜索,好像有CAD2013,90为text color,91位文字背景颜色,欲设为第三种色,-1023410173
(setq dat (subst (cons 90  -1023410173) (assoc 90 dat) dat))
(ENTMOD dat)
(ENTUPD e)
也没有效果,再看cad的 _properties特性更改命令,选中多重引线对象,看了一下特性数据结构大概有4块:
第一块:常规块,有图层颜色选项,TrueColor = #<VLA-OBJECT IAcadAcCmColor 00000000295b5c40>应该就是控制该块的颜色。
第二块:其他,该块主要为引线样式等
第三块:引线,该块控制引线颜色等,可改
第四块:文字块,该块确实无颜色项。
但文字明明有颜色的啊,应该可以更改啊,还望各位大师帮忙解决
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 299个

财富等级: 日进斗金

发表于 2019-10-30 08:33:32 | 显示全部楼层
不明觉厉,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 12个

财富等级: 恭喜发财

 楼主| 发表于 2019-10-30 16:51:37 | 显示全部楼层
本帖最后由 ljxkm 于 2019-10-30 17:05 编辑

问题已解决,谢谢大家啊!

(setq mlobj (vlax-ename->vla-object (car (entsel "\n点选对象"))))
(setq Llcorobj (vla-get-LeaderLineColor mlobj)
      trcorobj (vla-get-TrueColor mlobj)
)
(vla-put-EntityColor trcorobj -1023410175);;;红色
(vla-put-TrueColor mlobj trcorobj)
(vla-put-EntityColor Llcorobj -1023410174);;;;黄色
(vla-put-LeaderLineColor mlobj Llcorobj)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5060个

财富等级: 富甲天下

发表于 2020-2-28 17:51:18 | 显示全部楼层
问题没有解决啊,我现在用你的代码,一样改不了vla添加的MultiLeader文字颜色。只能改mleader命令生成的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2020-3-6 07:31:42 | 显示全部楼层
学习了,感谢分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 04:15 , Processed in 0.166945 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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