找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2208|回复: 8

[每日一码] MoveStretchPoint 应用标注对齐

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-6-27 17:37:44 | 显示全部楼层 |阅读模式

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

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

×
对相同角度的标注按基准标注对齐
  1. (defun c:tt (/ d ss pl p3 p4 pts v)
  2.   (if (and
  3.         (setq d (car (xdrx_entsel "\n基准标注: " '((0 . "Dimension")))))
  4.         (setq ss (ssget '((0 . "Dimension"))))
  5.       )
  6.     (progn
  7.       (setq pl (xdrx_entity_getstretchpoint d)
  8.             p3 (caddr pl)
  9.             p4 (cadddr pl)
  10.       )
  11.       (ssdel d ss)
  12.       (xdrx_setsstodb ss 0)
  13.       (while (setq e (xdrx_getentdata 0))
  14.         (setq pts (xdrx_entity_getstretchpoint e)
  15.               v (mapcar
  16.                   '-
  17.                   (inters p3 p4 (car pts)(caddr pts) nil)
  18.                   (caddr pts)
  19.                 )
  20.         )
  21.         (xdrx_entity_movestretchpoint e v 0 1 2 3 4 5)
  22.       )
  23.     )
  24.   )
  25.   (princ)
  26. )

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

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-6-27 18:50:24 | 显示全部楼层
程序在选择实体的时候,是不是在加上一个过滤对齐标注实体更好? 否则下面就出错了。

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-6-27 19:21:36 | 显示全部楼层
newer 发表于 2013-6-27 18:50
程序在选择实体的时候,是不是在加上一个过滤对齐标注实体更好? 否则下面就出错了。

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-6-27 20:16:34 | 显示全部楼层
两个地方加点代码就行了

  1.   (if (and
  2.         (setq d (car (xdrx_entsel "\n基准标注: " '((0 . "Dimension")))))
  3.         (=1 (logand (xdrx_getentdxf 70) 1)) ;;;增加判断是否对齐标注
  4.         (setq ss (ssget '((0 . "Dimension"))))
  5.       )
  6.       .....


  1.       (while (and (setq e (xdrx_getentdata 0))
  2.                        (xdrx_object_isA e "AcDbAlignedDimension")  ;;判断是否是对齐标注
  3.                )
  4.         (setq pts (xdrx_entity_getstretchpoint e)
  5.         ....

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

使用道具 举报

已领礼包: 35个

财富等级: 招财进宝

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

使用道具 举报

发表于 2013-6-27 20:48:53 来自手机 | 显示全部楼层
objectname也可以判断来自: Android客户端
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-6-27 23:54:17 | 显示全部楼层
本帖最后由 st788796 于 2013-6-28 00:06 编辑

这个程序应该对这个都有效
0 = 旋转、水平或垂直;1 = 对齐

(= 1 (logand dxf70 1)) 不能包括水平、垂直、旋转标志

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

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-6-28 08:21:16 | 显示全部楼层
刚才试了一下你的程序,也只能差不多在一第线上的尺寸才有效
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-28 09:39:55 来自手机 | 显示全部楼层
要让计算机识别第一道,第二道,第三道尺寸,还需要更多代码去排序,LZ的程序仅是个函数演示来自: Android客户端
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 02:04 , Processed in 0.189059 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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