[求助]关于添加数据至图元的问题
www.dimcax.com
[求助]关于添加数据至图元的问题
大家好! 这几天想写一个关于添加dxf数据组到cad对象中去的小程式,可一开始就遇到麻烦了.以下是我写的两个小程式,第一个写入数组的程式本身就有问题,第二个自然就无法检查了,现在第一个的问题是运行到(entmod ent)时,就显示添加的dxf数据数不正确,我始终不能解决这个问题,请高手帮个忙,并看一下第二个有没有什么问题.多谢!
;;;;;;;;;;;
(defun c:wdata (/ cmd data dm1 ent s1 zjxx)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(regapp "dataforydp")
(setq s1 nil)
(while (= s1 nil)
(setq s1 (entsel "\n请选择需写入注解信息的图元:"))
)
(setq dm1 "")
(while (= dm1 "")
(setq dm1 (getstring "\n请指定注解代码:"))
)
(setq zjxx "")
(while (= zjxx "")
(setq zjxx (getstring "\n请输入注解文字:"))
)
(setq ent (entget (car s1)))
(setq data nil)
(setq data (cons (cons 1000 dm1) data))
(setq data (cons (cons 1015 zjxx) data))
(setq data (cons "dataforydp" data))
(setq data (list -3 data))
(setq ent (cons data ent))
(entmod ent)
(setvar "cmdecho" cmd)
(princ)
)
;;;;;;;;;
(defun c:rdata (/ cmd da data dm1 ent s1 zjxx)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq s1 (entsel "\n请选择需读出信息的图元:"))
(setq ent (car s1))
(setq data (cdr (cadadr (assoc -3 (entget ent (list "dataforydp"))))))
(setq dm1 (cadr da)
zjxx (caddr da)
)
(princ "\n注解代码为:")
(princ dm1)
(princ "\n注解文字为:")
(princ zjxx)
(princ)
)
d
哇,过了这么久都没人回应一下哦,还好,我自己解决了,没有1015这个数据组.不过还是感谢,是它让我对lisp产生了兴趣.
d