乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 36|回复: 0

[编程交流] 排序属性导出

[复制链接]

31

主题

107

帖子

76

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2022-7-6 12:18:30 | 显示全部楼层 |阅读模式
你好
 
我有一个miclos先生的lisp,(thanx),它将属性值提取到一个文件中。
 
我尝试在csv文件中添加另一列,但没有成功。
 
当我从具有相同块的文件中导出时,得到以下结果:
 
  1. [font=Arial][size=2]block name:,_Dorrlitt[/size][/font]
  2. [font=Arial][size=2]LITTERA[/size][/font]
  3. [font=Arial][size=2]D10H[/size][/font]

 
如果我在一个文件中有两个或30个D10H,我会得到:
  1. [font=Arial][size=2]block name:,_Dorrlitt[/size][/font]
  2. [font=Arial][size=2]LITTERA[/size][/font]
  3. [font=Arial][size=2]D10H[/size][/font]

每次30次,也就是说超过90次。再加上一个街区。。。文件开始变长了。
 
我想要的是lisp添加大量相同的属性。
也许是这样:
 
  1. [font=Arial][size=2]block name:,_Dorrlitt[/size][/font][font=Arial][size=2]LITTERA[/size][/font][font=Arial][size=2]D10H [/size][/font]
  2. [font=Arial][size=2][color=red]30 < amount[/color][/size][/font]

 
有什么帮助吗?
 
顺致敬意,
 
 
lisp文件如下所示:
  1.   ; Global ATTribute EXtractor
  2. ; by Miklos Fuccaro [email="mfuccaro@hotmail.com"]mfuccaro@hotmail.com[/email]
  3. ;-------------------------November 2004 -------
  4. ;;Edited March 2006 by C. Bassler to allow specification of block and tage names to extract
  5. (defun gattexdorr  ()
  6. (setq Blocklist '("_Dorrlitt"))
  7. ;; ** edit to include block names to select
  8. (setq TagList '("LITTERA"))
  9. ;; ** edit to include tag names to extract
  10. ;;create block names separated by columns, for selection filter
  11. (setq Blocknames (List2String BlockList))
  12. (setq ss (ssget "_X" (list '(0 . "INSERT") (cons 2 BlockNames))))
  13. (if (not ss)
  14.    (quit))
  15. (setq Root (getvar "DWGPREFIX"))
  16. (setq path (strcat "..\\AdminIT\\Attribut\\Export\\Littera\"))
  17. (setq file (open (strcat  Root path
  18.                           (substr (getvar "DWGNAME")
  19.                                   1
  20.                                   (- (strlen (getvar "DWGNAME")) 4))
  21.                          "Dorrlittera.csv" )
  22.                   "w")
  23.        i    -1)
  24. (write-line
  25.    (strcat Root
  26.            (getvar "DWGNAME")
  27.            " -found "
  28.            (itoa (sslength ss))
  29.            " block(s) with attributes")
  30.    file)
  31. (repeat (sslength ss)
  32.    (setq TagRow nil
  33.          ValRow nil)
  34.    (setq Edata (entget (setq e (ssname ss (setq i (1+ i))))))
  35.    (write-line "" file)
  36.    (write-line (strcat "block name:" "," (Dxf 2 Edata)) file)
  37.    (while (/= (Dxf 0 Edata) "SEQEND")
  38.      (if
  39.        (and
  40.          (= (Dxf 0 Edata) "ATTRIB")
  41.          (member (dxf 2 Edata) TagList)
  42.          ;;if tag is on list
  43.          ) ;and
  44.         (progn
  45.           (setq TagRow (cons (Dxf 2 Edata) TagRow))
  46.           (setq valRow (cons (Dxf 1 Edata) ValRow))
  47.           ) ;progn
  48.         )
  49.      (setq Edata (entget (setq e (entnext e))))
  50.      ) ;while
  51.    (write-line (List2String (reverse TagRow)) file)
  52.    (write-line (List2String (reverse ValRow)) file)
  53.    ) ;repeat
  54. (close file)
  55. (princ (strcat "\nExport av Dörrlittera klar från modell:\n" (getvar "DWGNAME") "\nGå till A->Attribut->Export->Littera och öppna filen Dörrlittera!!"))
  56. (princ)
  57. ) ;defun
  58. ;;-------------------------------
  59. (defun List2String  (Alist)
  60. (setq NumStr (length Alist))
  61. (foreach Item  AList
  62.    (if (= Item (car AList))
  63.      ;;first item
  64.            (setq LongString (car AList))
  65.            (setq LongString (strcat LongString "," Item))
  66.      )
  67.    )
  68. LongString
  69. ) ;defun
  70. ;;--------------------------------
  71. (defun Dxf  (code pairs)
  72. (cdr (assoc code pairs))
  73. )
  74. (defun c:AIX:EXPORTDORRLITT  ()
  75. (gattexdorr)
  76. (princ))
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 05:58 , Processed in 0.799408 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表