chlh_jd 发表于 2011-4-5 12:55:40

单选图块在位图元

;;; Nentsel
;;; function : to nentsel a entity In situ
;;; arg      : string to princ in command-line
;;; return   : a list ( ename point is-of-block? )
;;; Note   : if the ename is of a block , the routine copy a similar entity , so you must entdel it later
;;; by GSLS(SS)
;;;
(defun ss-Nentsel (msg / en en1 pt mat ins mat ent)
(setq en (Nentsel msg))
(if (= (length en) 4)
    (progn
      (setq en1        (car en)
          pt        (cadr en)
          mat        (caddr en)
          ins        (last mat)
          mat        (reverse (cdr (reverse mat)))
          mat        (append
                  (mapcar '(lambda (x y)
                             (append x (list y))
                           )
                          mat
                          ins
                  )
                  '((0. 0. 0. 1.))
                )
          ent        (entget en1 '("*"))
          ent        (vl-remove (assoc -1 ent) ent)
          en1        (entmakex ent)
      )
      (if en1
        (progn
          (setq obj (vlax-ename->vla-object en1))
          (vla-TransformBy obj (vlax-tmatrix mat))
          (setq en1 (vlax-vla-object->ename obj))
        )
      )
      (list en1 pt T)
    )
    (append en (list nil))
)
)

chlh_jd 发表于 2011-4-5 13:20:06

本帖最后由 chlh_jd 于 2011-4-5 13:20 编辑

应用举例:

zzl9105 发表于 2011-12-28 09:55:50

未知命令呀,你这个是个什么功能?

xiaxiang 发表于 2012-1-29 11:06:50

不错,一个很有用的函数,谢谢分享

LLXXZZ 发表于 2012-1-30 12:43:30

对矩阵 转换一直不懂,用相关的资料学习一下,多谢分享。。。

teykmcqh 发表于 2012-2-9 23:42:38

支持、学习、谢谢

crtrccrt 发表于 2012-2-10 09:02:53

好程序
一个字
很好用

江湖远人 发表于 2012-2-20 08:14:32

好东西收藏了,多谢楼主分享

vlisp2012 发表于 2012-2-22 19:59:10

谁给解释一下该程序?

yshf 发表于 2018-1-10 17:43:07

chlh_jd:你好!当块的旋转角不等于0度或180度时,ss-Nentsel 函数得到图元不在原位,还需要旋转2倍的块旋转角才到达原位。
页: [1] 2
查看完整版本: 单选图块在位图元