lish 发表于 2013-4-29 16:34:17

对象的属性lisp

lisp如何获取选择对象的属性,并把他提取出来, 置为当前,就像附件动画那样,谢谢!!!

zml84 发表于 2013-4-29 18:04:25

(entget (car (entsel "\n点取对象: ")))

wowan1314 发表于 2013-4-29 20:35:01

;;----------------------
;;将所选实体层置为当前层
;;----------------------
(defun c:cl (/ ent ent_data clay olay)
(setq olay (getvar "clayer"))
(setq ent (car (entsel (strcat "\n选择物体/当前层为<" olay ">:"))))
(if (/= nil ent)
    (progn
      (setq ent_data (entget ent))
      (setq clay (cdr (assoc 8 ent_data)))
      (setvar "clayer" clay)
      (prompt (strcat "\n成功将图层设为<" clay ">:"))
    )
)
)
其他类似!

fl202 发表于 2013-7-23 17:09:09

(defun c:get1(/ ff f1 ff1 cc i en data)
;该函数用于查看并返回对象的属性值。
(setvar "cmdecho" 0)
(setq cc nil i -10 en (entsel "请选取要查看属性的对象:"))
(setq data (entget (car en ) '("*") ))
;(setq data (entget (car (entsel "请选取对象:"))))
(setq f1 "对象属性缓冲区1.txt")
(setq ff (findfile f1))
(setq ff1 (open ff "a"))
   (if ff1
      (progn
          (write-line "" ff1)
          (write-line "最新得到的属性:" ff1)   
         (princ data ff1)      
         (close ff1)
         (startapp "notepad.exe" ff)
))
(repeat 500
    (setq cc (assoc i data))
    (if (/= cc nil) (princ cc))
    (setq i (1+ i) cc nil)   )
(princ "\n 完 毕 。")
(princ)
   )你说的置为当前,是什么意思?

页: [1]
查看完整版本: 对象的属性lisp