amcdicsac 发表于 2022-7-5 16:34:43

选择注释性块

你好
 
我想知道是否有选择注释性块的lisp
 
非常感谢。

samifox 发表于 2022-7-5 16:52:19

为什么Lisp程序?可以使用Qselect>Block>Annotative

amcdicsac 发表于 2022-7-5 17:05:20

我更喜欢Lisp程序

BIGAL 发表于 2022-7-5 17:15:23

您是否尝试过转储注释性块并查看显示了哪些属性。

thanhdattdk 发表于 2022-7-5 17:24:52

(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)
)

amcdicsac 发表于 2022-7-5 17:41:45

是的,因此我有以下几点
 
_$
"*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]
查看完整版本: 选择注释性块