选择注释性块
你好我想知道是否有选择注释性块的lisp
非常感谢。 为什么Lisp程序?可以使用Qselect>Block>Annotative 我更喜欢Lisp程序 您是否尝试过转储注释性块并查看显示了哪些属性。 (prompt"\n - TDK - P.TKCD - CIENCO625")
(defun c:SG (/ sset ssl)
(setq sset (ssget (list '(0 . "ATTDEF") ))
ssl (sslength sset)
)
(princ (strcat (itoa ssl) " INSERT(s) found !"))
(command "_.PSELECT" "p" "")
(princ)
)
(prompt"\n - TDK - P.TKCD - CIENCO625")
(defun c:SG1 (/ sset ssl)
(setq sset (ssget (list '(0 . "ATTRIB") ))
ssl (sslength sset)
)
(princ (strcat (itoa ssl) " INSERT(s) found !"))
(command "_.PSELECT" "p" "")
(princ)
) 是的,因此我有以下几点
_$
"*A2"
_$
((((-1 . <Entity name: -387e2b0>)
(0 . "DICTIONARY")
(5 . "2D2")
(102 . "{ACAD_REACTORS")
(330 . <Entity name: -387e2b8>)
(102 . "}")
(330 . <Entity name: -387e2b8>)
(100 . "AcDbDictionary")
(280 . 0)
(281 . 1)
(3 . "*A2")
(350 . <Entity name: -387e2a0>)
)
)
(((-1 . <Entity name: -387e3f8>)
(0 . "DICTIONARY")
(5 . "2A9")
(102 . "{ACAD_REACTORS")
(330 . <Entity name: -387e400>)
(102 . "}")
(330 . <Entity name: -387e400>)
(100 . "AcDbDictionary")
(280 . 0)
(281 . 1)
(3 . "*A2")
(350 . <Entity name: -387e3e8>)
)
)
(((-1 . <Entity name: -387e580>)
(0 . "DICTIONARY")
(5 . "280")
(102 . "{ACAD_REACTORS")
(330 . <Entity name: -387e588>)
(102 . "}")
(330 . <Entity name: -387e588>)
(100 . "AcDbDictionary")
(280 . 0)
(281 . 1)
(3 . "*A2")
(350 . <Entity name: -387e570>)
)
)
)
_$
我用的这个Lisp程序
(defun c:pos (/ ss i ssent objss)
(setq ss (LM:ss->ent (ssget (list (cons 0 "INSERT")))))
)
;;;----------------------------------------------------------
(defun LM:ss->ent ( ss / i l )
(if ss
(repeat (setq i (sslength ss))
(setq l (cons (IsAnnotative (ssname ss (setq i (1- i)))) l))
)
)
)
;;; Argument: an ename or vla-object.
;;; Return T if object is annotative, otherwise nil.
;;;Joe Burke
(defun IsAnnotative (e)
(and e
(setq e (cdr (assoc 360 (entget e))))
(setq e (dictsearch e "AcDbContextDataManager"))
(setq e (dictsearch (cdr (assoc -1 e)) "ACDB_ANNOTATIONSCALES"))
(assoc 350 e)
)
(list e) ;; adicione este fragmento
)
页:
[1]