找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2642|回复: 5

[API建议] Setpropertyvalue对Text实体缺少Justify

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-15 11:31:09 | 显示全部楼层 |阅读模式

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

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

×
很重要的一个特性!

命令: (xdrx_setpropertyvalue (car (entsel)))
选择对象:
Class AcDbText:
  ├─AlignmentPoint(Point)
  ├─Rotation(Real)
  ├─HorizontalMode(T or Nil)
  ├─Normal(Point)
  ├─Oblique(Real)
  ├─Position(Point)
  ├─TextStyle(STR or Ename)
  ├─TextString(STR)
  ├─Thickness(Real or Int)
  ├─VerticalMode(T or Nil)
  ├─WidthFactor(Real or Int)
Class AcDbEntity:
  ├─Color(Int)
  ├─Layer(STR)
  ├─Linetype(STR)
  ├─LinetypeScale(Real or Int)
  ├─LineWeight(INT)
  ├─PlotStyleName(STR)
  ├─Transparency(0-100)
  ├─Visibility(T or Nil)

命令: (xdrx_setpropertyvalue (car (entsel)) "Alignmentpoint" (getpoint))
选择对象: nil
命令: *取消*
命令:
命令: (dumpallproperties (car (Entsel)))
选择对象: Begin dumping object (class: AcDbText)
AlignmentPoint/X (type: double)  (RO)  (LocalName: 文字对齐 X 坐标) = 0.000000
AlignmentPoint/Y (type: double)  (RO)  (LocalName: 文字对齐 Y 坐标) = 0.000000
AlignmentPoint/Z (type: double)  (RO)  (LocalName: 文字对齐 Z 坐标) = 0.000000
Annotative (type: bool)  (LocalName: 注释性) = 0
AnnotativeScale (type: AcString)  (RO)  (LocalName: 注释性比例) = Failed to get value
BlockId (type: AcDbObjectId)  (RO) = 7ef01cf8
CastShadows (type: bool) = 0
ClassName (type: AcString)  (RO) =
CollisionType (type: AcDb::CollisionType)  (RO) = 1
Color (type: AcCmColor)  (LocalName: 颜色) = BYLAYER
ExtensionDictionary (type: AcDbObjectId)  (RO) = 0
Handle (type: AcDbHandle)  (RO) = 24d
HasFields (type: bool)  (RO) = 0
HasSaveVersionOverride (type: bool) = 0
Height (type: double)  (LocalName: 高度) = 2.500000
HorizontalMode (type: AcDb::TextHorzMode) = 0
Hyperlinks (type: AcDbHyperlink*)
IsA (type: AcRxClass*)  (RO) = AcDbText
IsAProxy (type: bool)  (RO) = 0
IsCancelling (type: bool)  (RO) = 0
IsDefaultAlignment (type: bool)  (RO) = 1
IsEraseStatusToggled (type: bool)  (RO) = 0
IsErased (type: bool)  (RO) = 0
IsMirroredInX (type: bool)  (LocalName: 反向) = 0
IsMirroredInY (type: bool)  (LocalName: 颠倒) = 0
IsModified (type: bool)  (RO) = 0
IsModifiedGraphics (type: bool)  (RO) = 0
IsModifiedXData (type: bool)  (RO) = 0
IsNewObject (type: bool)  (RO) = 0
IsNotifyEnabled (type: bool)  (RO) = 0
IsNotifying (type: bool)  (RO) = 0
IsObjectIdsInFlux (type: bool)  (RO) = 0
IsPersistent (type: bool)  (RO) = 1
IsPlanar (type: bool)  (RO) = 1
IsReadEnabled (type: bool)  (RO) = 1
IsReallyClosing (type: bool)  (RO) = 1
IsTransactionResident (type: bool)  (RO) = 0
IsUndoing (type: bool)  (RO) = 0
IsWriteEnabled (type: bool)  (RO) = 0
Justify (type: AcDbText::AcTextAlignment)  (LocalName: 对正) = 0
LayerId (type: AcDbObjectId)  (LocalName: 图层) = 7ef01c80
LineWeight (type: AcDb::LineWeight)  (LocalName: 线宽) = -1
LinetypeId (type: AcDbObjectId)  (LocalName: 线型) = 7ef01ca8
LinetypeScale (type: double)  (LocalName: 线型比例) = 1.000000
LocalizedName (type: AcString)  (RO) = 文字
MatchOrientationToLayout (type: bool)  (LocalName: 使方向与布局匹配) = Failed to get value
MaterialId (type: AcDbObjectId)  (LocalName: 材质) = Failed to get value
MergeStyle (type: AcDb::DuplicateRecordCloning)  (RO) = 1
ModelTextHeight (type: double)  (LocalName: 模型文字高度) = Failed to get value
Normal/X (type: double) = 0.000000
Normal/Y (type: double) = 0.000000
Normal/Z (type: double) = 1.000000
ObjectId (type: AcDbObjectId)  (RO) = 7ef036a8
Oblique (type: double)  (LocalName: 倾斜) = 0.000000
OwnerId (type: AcDbObjectId)  (RO) = 7ef01cf8
PaperTextHeight (type: double)  (LocalName: 图纸文字高度) = Failed to get value
PlotStyleName (type: AcString)  (LocalName: 打印样式) = ByLayer
Position/X (type: double)  (LocalName: 位置 X 坐标) = 26.223001
Position/Y (type: double)  (LocalName: 位置 Y 坐标) = 10.453548
Position/Z (type: double)  (LocalName: 位置 Z 坐标) = 0.000000
ReceiveShadows (type: bool) = 0
Rotation (type: double)  (LocalName: 旋转) = 0.000000
ShadowDisplay (type: AcDb::ShadowFlags)  (RO)  (LocalName: 阴影显示) = Failed to get value
TextString (type: AcString)  (LocalName: 内容) = ddddd
TextStyleId (type: AcDbObjectId)  (LocalName: 样式) = 7ef01c88
Thickness (type: double)  (LocalName: 厚度) = 0.000000
Transparency (type: AcCmTransparency)  (LocalName: 透明度) = 0
VerticalMode (type: AcDb::TextVertMode) = 0
Visible (type: AcDb::Visibility) = 0
WidthFactor (type: double)  (LocalName: 宽度因子) = 1.000000
End object dump
nil

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

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-10-15 15:08:29 | 显示全部楼层
http://bbs.xdcad.net/thread-671081-1-1.html

应该先设HMODE,VMODE,然后再设置对齐点

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-10-15 19:55:13 | 显示全部楼层
newer 发表于 2013-10-15 15:08
http://bbs.xdcad.net/thread-671081-1-1.html

应该先设HMODE,VMODE,然后再设置对齐点

可能 Setpropertyvalue 进行包装了
  1. (setq e (car (Entsel)))
  2. (setq pt (xdrx_getpropertyvalue e "Position"))
  3. (xdrx_setpropertyvalue e "VerticalMode" 1)
  4. (xdrx_setpropertyvalue e "HorizontalMode" 1)
  5. (xdrx_setpropertyvalue e "Alignmentpoint" pt)

等于以下一句话
  1. (setpropertyvalue (car (Entsel)) "Justify" 1)

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

使用道具 举报

发表于 2013-10-15 23:16:46 来自手机 | 显示全部楼层
ARX HELP 中没有提到组合,只能改两次再改点

点评

attachPoint只是设置的对齐点,并没有告诉它怎么对齐,所以在用这个方法前,要先用HMOVE,VMODE告诉它。  详情 回复 发表于 2013-10-16 00:09
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-10-16 00:09:30 | 显示全部楼层
Free-Lancer 发表于 2013-10-15 23:16
ARX HELP 中没有提到组合,只能改两次再改点

attachPoint只是设置的对齐点,并没有告诉它怎么对齐,所以在用这个方法前,要先用HMOVE,VMODE告诉它。

点评

还是写另外一个对齐,位置要变动的,比如表格中(非table),需要居中,这时只要计算格子中心,改文字对齐方式正中即可,不是任何时候都要位置不变,计算出对齐点,修改对齐方式直接对上去也有很多应用的  详情 回复 发表于 2013-10-16 08:40
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-10-16 08:40:21 来自手机 | 显示全部楼层
XDSoft 发表于 2013-10-16 00:09
attachPoint只是设置的对齐点,并没有告诉它怎么对齐,所以在用这个方法前,要先用HMOVE,VMODE告诉它。

还是写另外一个对齐,位置要变动的,比如表格中(非table),需要居中,这时只要计算格子中心,改文字对齐方式正中即可,不是任何时候都要位置不变,计算出对齐点,修改对齐方式直接对上去也有很多应用的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 18:44 , Processed in 0.193243 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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