马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- ;;<config>
- ;; <layer>
- ;; <layer name=layername1>
- ;; <ltype>hidden</ltype>
- ;; <color>7</color>
- ;; </layer>
- ;; <layer name=layername2>
- ;; <ltype>hidden</ltype>
- ;; <color>1</color>
- ;; </layer>
- ;; </layer>
- ;;</config>
- (defun c:tt (/ path d el lst lyrnode lyrlst lyrNodes layerChildNodes)
- (setq path (getvar "DWGPREFIX"))
- ;;新建 xml, myconfig 变量 为 XML DOM
- (XD::XML:GetDocument (strcat path "myconfig.xml") 'myconfig)
- (while (setq d (tblnext "layer" (null d)))
- (setq lst (cons (list (cdr (assoc 2 d))
- (cdr (assoc 6 d))
- (itoa (cdr (assoc 62 d)))
- )
- lst
- )
- )
- )
- (setq lst (reverse lst)) ;_图层属性列表
- ;;创建根节点 config 及 layer 节点部分
- (setq lyrNode
- (car (XD::XML:AddChildNodes myconfig '("config" "layer")))
- )
- (repeat (length lst)
- (setq lyrlst (cons "layer" lyrlst))
- ) ;_构造 layer 节点下的子节点
- ;;创建layer子节点
- (setq lyrNodes (XD::XML:AddChildNodes lyrNode lyrlst))
- ;;对layer子节点创建 ltype color 子节点
- (setq layerChildNodes
- (mapcar '(lambda (x)
- (XD::XML:AddChildNodes x '("ltype" "color"))
- )
- lyrNodes
- )
- )
- ;;对 layer 子节点赋属性,属性为图层名称
- (mapcar '(lambda (x y)
- (XD::XML:SetNodeProperties
- x
- (list (cons "ATTR" (list "name" (car y))))
- )
- )
- lyrNodes
- lst
- )
- (mapcar '(lambda (x y)
- (XD::XML:SetNodeProperties
- (car x)
- (list (list "TEXT" (cadr y)))
- );_保存线形
- (XD::XML:SetNodeProperties
- (cadr x)
- (list (list "TEXT" (last y)))
- );_保存颜色
- )
- layerChildNodes
- lst
- )
- (XD::XML:SaveAs (strcat path "myconfig.xml"));_保存XML
- (princ)
- )
|