明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 994|回复: 6

[源码] Entmake 符号表的必要条件

  [复制链接]
发表于 2021-1-11 11:20 | 显示全部楼层 |阅读模式
  1. ;;Entmake 符号表的必要条件
  2. (defun C:w4 (/ DATA FLN FLO I L1 LST NEWNAME OLDNAME YAO)
  3.   (cond        ((and (setq FLN (getfiled "輸出的LISP文件:" "" "LSP" 1))
  4.               (setq FLO (open FLN "w"))
  5.          )
  6.          (setq lst '("Layer" "Ltype" "View" "Style" "Appid" "Ucs" "Dimstyle" "Vport"))
  7.          (setq L1 '("AcDbLayerTableRecord"                "AcDbLinetypeTableRecord"
  8.                      "AcDbViewTableRecord"                "AcDbTextStyleTableRecord"
  9.                      "AcDbRegAppTableRecord"                "AcDbUCSTableRecord"
  10.                      "AcDbDimStyleTableRecord"                "AcDbViewportTableRecord"
  11.                     )
  12.          )
  13.          (foreach n lst
  14.            (setq yao nil)
  15.            (setq data (TBLNEXT n T))
  16.            (setq yao (cons (car data) yao))
  17.            (setq data (cdr data))
  18.            (setq yao (cons '(100 . "AcDbSymbolTableRecord") yao))
  19.            (setq yao (cons (cons 100 (car L1)) yao))
  20.            (setq L1 (cdr L1))          
  21.            (foreach X data (setq yao (cons x yao)))
  22.            (setq yao (REVERSE yao))
  23.            (setq i 0)
  24.            (setq lst nil)
  25.            (setq oldName (cdr (assoc 2 yao)))
  26.            (foreach X yao
  27.              (setq i (1+ i))
  28.              (setq NewName (strcat oldname (VL-PRINC-TO-STRING i)))
  29.              (setq data (subst (cons 2 NewName) (assoc 2 yao) yao))
  30.              (cond ((not (entmakeX (vl-remove X data))) (setq lst (cons X lst))))
  31.            )
  32.            (setq lst (reverse lst))             
  33.            (write-line (strcat "(EntMakeX '" (vl-prin1-to-string lst) ")") FLO)
  34.          )
  35.          (close FLO)
  36.         )
  37.   )
  38.   (princ)
  39. )


结果:
;;符号表的必要条件
  (EntMakeX '((0 . "LAYER")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbLayerTableRecord")
              (2 . "MyLAYER")
              (70 . 0)
             )
  )
  (EntMakeX '((0 . "LTYPE")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbLinetypeTableRecord")
              (2 . "MyLTYPE")
              (70 . 0)
             )
  )
  (EntMakeX '((0 . "VIEW")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbViewTableRecord")
              (2 . "MyVIEW")
              (70 . 0)
             )
  )
  (EntMakeX '((0 . "STYLE")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbTextStyleTableRecord")
              (2 . "MySTYLE")
              (70 . 0)
             )
  )
  (EntMakeX '((0 . "APPID")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbRegAppTableRecord")
              (2 . "MyAPPID")
              (70 . 0)
             )
  )
  (EntMakeX '((0 . "UCS")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbUCSTableRecord")
              (2 . "MyUCS")
              (70 . 0)
              (11 0.904145 0.427225 0.0)
              (12 -0.427225 0.904145 0.0)
             )
  )
  (EntMakeX '((0 . "DIMSTYLE")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbDimStyleTableRecord")
              (2 . "My")
              (70 . 0)
             )
  )
  (EntMakeX '((0 . "VPORT")
              (100 . "AcDbSymbolTableRecord")
              (100 . "AcDbViewportTableRecord")
              (2 . "My")
              (70 . 0)
             )
  )

评分

参与人数 3明经币 +3 收起 理由
断箭 + 1 很给力!
USER2128 + 1 很给力!
gaics + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2021-1-11 19:43 | 显示全部楼层
谢谢! 自贡黄明儒 分享程序!!!!
发表于 2021-1-11 21:07 | 显示全部楼层

谢谢! 自贡黄明儒 分享程序!!!!
发表于 2021-1-12 10:08 | 显示全部楼层
谢谢!  分享程序!!!!
发表于 2021-1-12 10:18 | 显示全部楼层
感谢分享,给大家指正了方向。
发表于 2021-1-13 13:41 | 显示全部楼层
学习下黄大师的代码
发表于 2021-6-4 09:02 | 显示全部楼层
这个太好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-25 20:25 , Processed in 0.401230 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表