乐筑天下

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

[编程交流] 中使用的填充图案列表

[复制链接]

15

主题

30

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2022-7-6 08:00:58 | 显示全部楼层 |阅读模式
AutoCAD图形是否存储图形中使用的填充图案名称列表?
 
我探索了NamedObjDict,但什么也找不到。
 
我想将列表提取到文本(或xl)文档中以供进一步使用。
 
谢谢你的帮助。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 08:13:39 | 显示全部楼层
您可以使用下面链接中包含的一点C代码来获取该信息。看来你不是第一个问这个问题的人。
 
http://through-the-interface.typepad.com/through_the_interface/2012/03/getting-the-list-of-hatch-patterns-available-in-the-current-autocad-drawing-using-net.html
回复

使用道具 举报

1

主题

80

帖子

73

银币

初来乍到

Rank: 1

铜币
16
发表于 2022-7-6 08:29:47 | 显示全部楼层
转储到ASCII DXF并查找图案填充。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 08:31:33 | 显示全部楼层
可以创建图形中所有图案填充图元的列表,并研究其DXF代码2:
  1. ;;; Extract Hatch Paterns in Use (21-IV-2012)
  2. (defun c:EHPU( / *listPattern* index listHatch  )
  3. (setq index -1
  4.       *listPattern* '())
  5. (if (setq listHatch (ssget "_X" '((0 . "HATCH"))))
  6. (repeat (sslength listHatch)
  7.   (prompt (strcat "\n" (car (setq index (1+ index)
  8.                                   *listPattern* (cons (cdr (assoc 2 (entget (ssname listHatch index))))
  9.                                                       *listPattern*)))))
  10. )
  11. )
  12. (if *listPattern* (textscr) (prompt "\nNo hatch patterns to list."))
  13. (princ)
  14. )
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 08:48:22 | 显示全部楼层
轻微修改以防止“打印”重复名称
  1. (defun c:EHPU (/ *listPattern* nm listHatch)
  2. (if (setq *listPattern* nil
  3.     listHatch   (ssget "_X" '((0 . "HATCH")))
  4.      )
  5.    (repeat (setq i (sslength listHatch))
  6.      (if (not (member (setq nm
  7.         (cdr
  8.    (assoc 2 (entget (ssname listHatch (setq i (1- i)))))
  9.         )
  10.         )
  11.         *listPattern*
  12.        )
  13.   )
  14. (progn
  15.   (print nm)
  16.   (setq *listPattern* (cons nm *listPattern*))
  17. )
  18.      )
  19.    )
  20.    (prompt "\nNo hatch patterns to list.")
  21. )
  22. (princ)
  23. )

 
写入文件
  1. (defun c:WTFH (/ file *listPattern* listHatch)
  2. (cond ((and
  3.    (eq (getvar 'DwgTitled) 1)
  4.    (setq *listPattern* nil
  5.   listHatch     (ssget "_X" '((0 . "HATCH")))
  6.    )
  7.    (setq file (open (strcat (getvar 'DwgPrefix)
  8.        (cadr (fnsplitl (getvar 'DwgName)))
  9.        ".txt"
  10.       )
  11.       "W"
  12.        )
  13.    )
  14.    (repeat (setq i (sslength listHatch))
  15.      (if (not (member (setq nm
  16.         (cdr
  17.           (assoc 2 (entget (ssname listHatch (setq i (1- i)))))
  18.         )
  19.         )
  20.         *listPattern*
  21.        )
  22.   )
  23.        (progn
  24.   (write-line nm file)
  25.   (print nm)
  26.   (setq *listPattern* (cons nm *listPattern*))
  27.        )
  28.      )
  29.    )
  30.    (close file)
  31. )
  32. )
  33. )
  34. (princ)
  35. )
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 08:59:37 | 显示全部楼层
可以在AutoCAD中执行类似操作-使用QSELECT命令选择所有图案填充图元并调用列表以显示其特征。
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 09:08:12 | 显示全部楼层
也可以尝试“数据提取”
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 19:59 , Processed in 0.405252 second(s), 77 queries .

© 2020-2025 乐筑天下

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