找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3006|回复: 8

[每日一码] API之对齐标注转线性转角标注

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-9-20 09:30:02 | 显示全部楼层 |阅读模式

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

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

×
审核的时候可能把主题删除了,补充上
  1. (defun c:tt (/ ss p1 p2 p3 sty dm)
  2.   (if (setq ss (ssget "x" '((0 . "Dimension")))) ; _默认全转,自行修改
  3.     (progn
  4.       (xd::begin)
  5.       (xdrx_setsstodb ss 0)
  6.       (while (setq e (xdrx_getentdata 0))
  7.     (if (= "AcDbAlignedDimension" (xdrx_getpropertyvalue e "IsA"))
  8.       (progn
  9.         (setq p1  (xdrx_getpropertyvalue e "XLine1Point")
  10.           p2  (xdrx_getpropertyvalue e "XLine2Point")
  11.           p3  (xdrx_getpropertyvalue e "DimLinePoint")
  12.           sty (xdrx_getpropertyvalue e "DimensionStyle")
  13.           dm  (xdrx_dimension_makerotate
  14.             p1
  15.             p2
  16.             p3
  17.             (angle p1 p2)
  18.             (car sty)
  19.               )
  20.         )
  21.         (xdrx_entity_setpropertiesfrom dm e)
  22.         (xdrx_object_swapId dm e)
  23.         (xdrx_entity_delete dm)
  24.       )
  25.     )
  26.       )
  27.       (xd::end)
  28.     )
  29.     (princ)
  30.   )
  31. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-9-20 09:56:57 | 显示全部楼层
是不是我发了两遍主题,第一个显示了,把那个没有通过的删除时就把相同的主题帖都删除了?
aligndm.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-9-20 14:17:02 | 显示全部楼层
ID转换了,是不是最后删除的应该是新建的实体啊,实体名是ROTATED返回的那个?

是不是最后应该是 : (xdrx_entity_delete (entlast)) ? or  (xdrx_entity_delete dm) ?

点评

没搞明白这个 SwapId 是实体 "交换" ,还是 ID "交换“,前者就删除 dm,后者删除 e  详情 回复 发表于 2013-9-20 14:31
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-9-20 14:31:54 | 显示全部楼层
Lispboy 发表于 2013-9-20 14:17
ID转换了,是不是最后删除的应该是新建的实体啊,实体名是ROTATED返回的那个?

是不是最后应该是 : (xd ...

没搞明白这个 SwapId 是实体 "交换" ,还是 ID "交换“,前者就删除 dm,后者删除 e

点评

OBJECTID交换了,实体名也就交换了,一体的。实体附带的或者实体数据,扩展词典。。。都跟着对象指针走的,ID交换给了谁,谁就带上这些额外的东西。 你可以测试下交换后,两个实体的 entget  详情 回复 发表于 2013-9-20 14:42
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-9-20 14:42:59 | 显示全部楼层
本帖最后由 Lispboy 于 2013-9-20 14:44 编辑
Free-Lancer 发表于 2013-9-20 14:31
没搞明白这个 SwapId 是实体 "交换" ,还是 ID "交换“,前者就删除 dm,后者删除 e

OBJECTID交换了,实体名也就交换了,一体的。实体附带的扩展实体数据,扩展词典。。。都跟着对象指针走的,ID交换给了谁,谁就带上这些额外的东西。

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

使用道具 举报

发表于 2013-9-20 14:52:02 | 显示全部楼层
明白了,以前只知道 Lisp 用 dxf、 handle, ARX 用ObjectId , Id 交换后其所代表的实体已经发生了变化,所以删除应是 dm,e 是线性标注了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-9-20 20:04:56 | 显示全部楼层
刚测试了下,SwapID 后实体发生了变化,以前用Alisp的时候知道 Handle  是一成不变的,用了SwapID才知道那都是“浮云”:D

点评

也可以说改变实体“显示顺序”除了了DRAWORDER外,还可以通过交换ID,来"硬“实现。  详情 回复 发表于 2013-9-20 20:35
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-9-20 20:35:02 | 显示全部楼层
Free-Lancer 发表于 2013-9-20 20:04
刚测试了下,SwapID 后实体发生了变化,以前用Alisp的时候知道 Handle  是一成不变的,用了SwapID才知道那 ...

也可以说改变实体“显示顺序”除了了DRAWORDER外,还可以通过交换ID,来"硬“实现。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 01:53 , Processed in 0.337334 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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