找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 684|回复: 10

[教学] 文字旋转的 MLeader

[复制链接]

已领礼包: 264个

财富等级: 日进斗金

发表于 2016-11-11 15:34:32 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 iLisp 于 2016-11-11 15:38 编辑

一般标注的 MLeader 文字是水平方向,使用  textrotation 属性可以将标准文字旋转一个角度

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

已领礼包: 264个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2016-11-11 18:49:23 | 显示全部楼层
看了下对象的方法,没发现MLEADER有设置textrotaion属性的啊, 它的那个文字怎么得到?

命令: (vlax-dump-object obj t)
; IAcadMLeader: AutoCAD Multi-Leader 接口
;特性值:
;   Application (RO) = #<VLA-OBJECT IAcadApplication 00d73d3c>
;   ArrowheadBlock = ""
;   ArrowheadSize = 4.0
;   ArrowheadType = 0
;   BlockConnectionType = 0
;   ContentBlockName = ""
;   ContentBlockType = 6
;   ContentType = 2
;   Document (RO) = #<VLA-OBJECT IAcadDocument 0af7fb90>
;   DogLegged = -1
;   DoglegLength = 8.0
;   Handle (RO) = "62A"
;   Ha**tensionDictionary (RO) = 0
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 2470e4f4>
;   LandingGap = 2.0
;   Layer = "0"
;   LeaderCount (RO) = 1
;   LeaderLineColor = #<VLA-OBJECT IAcadAcCmColor 244c0080>
;   LeaderLineType = "ByBlock"
;   LeaderLineWeight = -2
;   LeaderType = 1
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   Material = "ByLayer"
;   ObjectID (RO) = -8455728
;   ObjectName (RO) = "AcDbMLeader"
;   OwnerID (RO) = -2507528
;   PlotStyleName = "ByLayer"
;   ScaleFactor = 1.0
;   StyleName = "Standard"
;   TextBackgroundFill = 0
;   TextDirection = 5
;   TextFrameDisplay = 0
;   TextHeight = 2.5
;   TextJustify = 1
;   TextLeftAttachmentType = 1
;   TextLineSpacingDistance = 4.16667
;   TextLineSpacingFactor = 1.0
;   TextLineSpacingStyle = 1
;   TextRightAttachmentType = 1
;   TextRotation = 0.0
;   TextString = "bdd"
;   TextStyleName = "XD-汉字字体1"
;   TextWidth = 6.64973
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 244bfff0>
;   Visible = -1
;支持的方法:
;   AddLeader ()
;   AddLeaderLine (2)
;   AddLeaderLineEx (1)
;   ArrayPolar (3)
;   ArrayRectangular (6)
;   Copy ()
;   Delete ()
;   GetBlockAttributeValue (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)
;   SetDoglegDirection (2)
;   SetLeaderLineVertices (2)
;   SetXData (2)
;   TransformBy (1)
;   Update ()
T

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

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

 楼主| 发表于 2016-11-11 18:57:20 | 显示全部楼层

dump 中的 特性值 有 textrotation

  1. (defun c:idd (/ myerr callback olderr p mls p ml p1)
  2.   (defun myerr (msg)
  3.     (xdrx_pointmonitor)
  4.     (xdrx_sysvar_pop)
  5.     (setq *error* olderr)
  6.     (princ)
  7.   )
  8.   (defun callback (dynpt)
  9.     (if        ml
  10.       (xdrx_entity_movestretchpoint
  11.         ml
  12.         (mapcar '- dynpt p1)
  13.         0
  14.         1
  15.         2
  16.       )
  17.     )
  18.     (setq p1 dynpt)
  19.   )

  20.   (setq        olderr        *error*
  21.         *error*        myerr
  22.   )
  23.   (setq an (getangle "\nRotation: "))
  24.   (xdrx_sysvar_push '("cmlstyle" "zbbz") '("dimzin" 0))
  25.   (while (setq p (getpoint "\nPosition: "))
  26.     (xdrx_pointmonitor "callback")
  27.     (setq ml (xdrx_mleader_make
  28.                p
  29.                (setq p1 (polar p 0.0 10.0))
  30.                (strcat "X-"
  31.                        (rtos (cadr p) 2 3)
  32.                        "\n\rY-"
  33.                        (rtos (car p) 2 3)
  34.                )
  35.                (getvar "textsize")
  36.                0.0
  37.              )
  38.     )
  39.     (xdrx_setpropertyvalue ml "ArrowSymbolId" "_None")
  40.     (if        an
  41.       (vla-put-textrotation (vlax-ename->vla-object ml) an)
  42.     )
  43.     (getpoint "\nLocation: ")
  44.     (xdrx_pointmonitor)
  45.   )
  46.   (xdrx_sysvar_pop)
  47.   (xdrx_pointmonitor)
  48.   (setq *error* olderr)
  49.   (princ)
  50. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2016-11-11 19:03:15 | 显示全部楼层
在2008下面,没有效果 ,
命令: !vla-put-textrotation
#<SUBR @185c1334 vla-put-TextRotation>

命令: (vla-put-textrotation obj (/ pi 3))
nil

可能是高版本CAD才支持吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2226个

财富等级: 金玉满堂

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

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

 楼主| 发表于 2016-11-11 20:43:22 | 显示全部楼层

图示是在2012 上,特地安装了2008,在08下这个属性可以get ,put 确实无效,不过通过 用 entmod 42 可以修改角度,但夹点后会恢复
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8727个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 66个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2016-11-13 15:21:15 | 显示全部楼层


低版本下 ActiveX 没有实现修改,不过你使用 rotate 命令 MLeader 可以实现旋转后的效果,说明MLeader实体中的 Mtext 是可以有旋转的,猜测 ARX 构造MLeader 中的 setMtext 如果给定了一个旋转的 MText 就可能是这个效果!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 04:24 , Processed in 0.495570 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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