实体信息、扩展实体数据、扩展词典信息查询
**** Hidden Message *****谢谢分享。。。。。 {:1_23:}{:1_23:}{:1_23:} 学习一下,好程序 学习一下,学习一下 好程序,学习一下!!!! 能对xdata查询并编辑吗?我用doslib的对话框功能写了一个查询和编辑 好程序,谢谢分享! liuyj 发表于 2018-10-14 12:21
能对xdata查询并编辑吗?我用doslib的对话框功能写了一个查询和编辑
发布上来啊,分享下 学习,向楼主学习! 学习,向楼主学习! 学习版主的程序,谢谢! 多谢分享..... 本帖最后由 liuyj 于 2018-10-15 13:05 编辑
XDSoft 发表于 2018-10-14 13:27
发布上来啊,分享下
献丑了。
(defun ToString (a / result)
(eval (cadr (assoc (type a)
'((INT (itoa a))
(LIST (vl-princ-to-string a))
(REAL
(rtos
a
2
(if
(zerop (- a (fix a)))
1
3
)
)
)
)
)
)
)
)
;;;查询扩展数据
(defun c:xcx (/ e xdata xd_list)
(if (setq e (entsel))
(progn (setq e (car e)
xdata (xdrx_xdata_get e)
)
(if xdata
(progn (setq xd_list (mapcar '(lambda (x)
(list (car x)
(cond ((listp (cadr x)) (caadr x))
((= (type (cadr x)) 'STR) (cadr x))
(T (tostring (cadr x)))
)
)
)
xdata
)
)
(setq xd_list (dos_proplist "查看扩展数据" "扩展数据列表" xd_list))
)
)
)
)
(princ)
)
;;;修改扩展数据
(defun c:edx (/ e xdata xd_list xd_list1 xd_list2)
(if (setq e (entsel))
(progn (setq e (car e)
xdata (xdrx_xdata_get e)
)
(if xdata
(progn (setq xd_list (mapcar '(lambda (x)
(list (car x)
(cond ((listp (cadr x)) (caadr x))
((= (type (cadr x)) 'STR) (cadr x))
(T (tostring (cadr x)))
)
)
)
xdata
)
)
(setq xd_list1 (dos_proplist "修改扩展数据" "扩展数据列表" xd_list))
(foreach x xd_list
(if (/= (cdr (assoc (car x) xd_list))
(cdr (assoc (car x) xd_list1))
)
(setq xd_list2 (cons (assoc (car x) xd_list1) xd_list2))
)
)
(mapcar '(lambda (x)
(xdrx_xdata_set
e
(car x)
(if (XD::String:IsNum (cdr x))
(read (cdr x))
(cdr x)
)
)
)
xd_list2
)
)
)
)
)
(princ)
)
感谢分享。。。。