删除实体扩展属性(vb),谁给写个LISP,谢谢!
<P>删除实体扩展属性(vb),谁给写个LISP,谢谢!</P><P>Public Function XDataErase(ByRef objAcadEntity As AcadEntity) As Boolean<BR> Dim varXdataType As Variant<BR> Dim varXdataValue As Variant<BR> <BR> XDataErase = False<BR> Err.Clear<BR> On Error GoTo errhandle<BR>' objAcadEntity.GetXData "", varXdataType, varXdataValue<BR> objAcadEntity.GetXData "", varXdataType, varXdataValue<BR> If Not IsEmpty(varXdataType) Then<BR> ReDim Preserve varXdataType(0)<BR> ReDim Preserve varXdataValue(0)<BR> objAcadEntity.SetXData varXdataType, varXdataValue<BR> End If<BR> XDataErase = True<BR> Exit Function<BR>errhandle:<BR> MsgBox Err.Description<BR>End Function</P> 测试下,看看效果好不好 ;;删除实体所有扩展数据项目(转贴自XDCAD)<BR>(defun c:Del-xData(/ e)<BR> (setq e (car (entsel "\n选择实体: ")))<BR> (entmod (list (cons -1 e)(cons -3 (mapcar 'list (mapcar 'car (cdr(assoc -3 (entget e '("*")))))))))<BR>) 谢谢,能完善一下吗?比如说:1,可以全选.2,处理到第几个实体了! <P>加油</P> wei209发表于2005-10-29 22:40:00static/image/common/back.gif谢谢,能完善一下吗?比如说:1,可以全选.2,处理到第几个实体了!
<DIV><FONT style="BACKGROUND-COLOR: #f3f3f3">是不是这个意思?</FONT></DIV>
<DIV><FONT style="BACKGROUND-COLOR: #f3f3f3">;;删除实体所有扩展数据项目<BR>(defun c:Del-xData(/ e s m)<BR> (setq s (ssget "X" '((-3 ("*")))) m -1)<BR> (repeat (sslength s)<BR> (setq e (ssname s (setq m (1+ m))))<BR> (entmod (list (cons -1 e)(cons -3 (mapcar 'list (mapcar 'car (cdr(assoc -3 (entget e '("*")))))))))<BR> (alert (strcat "这是第" (rtos (+ m 1) 2 0) "个实体,是" (cdr(assoc 0 (entget e))) "实体")) <BR> ) <BR>)</FONT><BR></DIV> 无痕发表于2005-10-30 1:13:00static/image/common/back.gif
加油
无痕老弟:这"加油"是什么意思?<BR> 2楼!!非常感谢!这也正是我想要的东西!呵~ <P>是这个意思,非常感谢!</P>
<P>无痕老弟是让你给写出来,他不......呵呵!</P> <P>当图内没有实体带扩展属性时,会出来错误!</P>
<P>一个一个的对话,很费劲!</P>
<P>我加上点,改了一下,感觉效果更好!</P>
<P>;;删除实体所有扩展数据项目<BR>(defun c:<FONT style="BACKGROUND-COLOR: #f3f3f3">Del-xData</FONT>(/ e s m)<BR> (setq s (ssget "X" '((-3 ("*")))) m -1)<BR> (if (/= s nil)<BR> (progn<BR> (repeat (sslength s)<BR> (setq e (ssname s (setq m (1+ m))))<BR> (entmod (list (cons -1 e)(cons -3 (mapcar 'list (mapcar 'car (cdr(assoc -3 (entget e '("*")))))))))<BR> (print (strcat "这是第" (rtos (+ m 1) 2 0) "个实体,是" (cdr(assoc 0 (entget e))) "实体")) <BR> )<BR> )<BR> )<BR> (prin1)<BR>)<BR>再次感谢WMZ</P> 这当然是可以的啦!
页:
[1]
2