找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 414|回复: 0

[LISP函数]:旋转所有属性(除在#NoFix列表外)到0度(相对于UCS)

[复制链接]
发表于 2005-6-4 07:57:09 | 显示全部楼层 |阅读模式

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

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

×
旋转所有属性(除在#NoFix列表外)到0度(相对于UCS)
(defun I:AutoFixAtts
(BlkEntN                        ; 插入的图元名称
  #NoFix                         ; 非固定属性的列表
  /
  EntN                           ; 图元名称
  Ent                            ; 图元信息
) ;_ closes variable declare
(if (not #NoFix)                ; 如列表不存在
  (setq #NoFix '())              ; 则设置一个空白列表
) ;_ closes if
(cond
  ((/= (cdr (assoc 50 (entget BlkEntN))) 0) ; 如图块不为0
   (setq EntN BlkEntN)           ; 读取图块中的第一个图元
   (while EntN                   ; 图元处理过程
    (setq Ent (entget EntN))     ; 读取图元数据
    (if
     (and
      (= (cdr (assoc 0 Ent)) "ATTRIB")      ; 如为属性
      (not (member (cdr (assoc 2 Ent)) #NoFix)) ; to fix
     ) ;_ closes and
     (setq Ent                   ; then fix to current UCS
           (entmod
            (subst
             (cons 50
              (angle (getvar "UCSOrg") (getvar "UCSXDir")))
             (assoc 50 Ent)
             Ent
            ) ;_ closes subst
           ) ;_ closes entmod
     ) ;_ closes setq
    ) ;_ closes if
    (setq EntN (entnext EntN))   ; get next entity name
   ) ;_ closes while
   (entupd BlkEntN)              ; regen insert entity
  ) ;_ closes condition
) ;_ closes cond
) ;_ closes defun I:AutoFixAtts
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-22 18:28 , Processed in 0.351551 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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