乐筑天下

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

[编程交流] 连接图案填充

[复制链接]

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 08:24:16 | 显示全部楼层 |阅读模式
是否有人有lisp可以选择多个图案填充并在其位置创建一个图案填充?
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 08:39:29 | 显示全部楼层
Civil 3D中没有“图案填充合并”选项?
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 08:43:42 | 显示全部楼层
我找不到评论
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:57:41 | 显示全部楼层
 
备注,您知道AutoCAD中的“图案填充合并”选项吗?我在Architecture 2012工作,如果有这样的工具,我会非常感兴趣。谢谢
回复

使用道具 举报

8

主题

81

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2022-7-6 08:59:59 | 显示全部楼层
给你一个开始(伍德曼78或布拉茨,男孩)
这适用于非关联图案填充。。。没有弧。
修改它以处理所有图案填充应该不需要太多。
 
为了确保没有选择不同的图案,它将首先提示输入填充图案,然后提示选择要合并的所有图案填充。
 
  1. ;-----------------------------------------------
  2. ;; ø Remove_nth ø  (Lee Mac)          ;;
  3. ;; ~ Removes the nth item in a list.  ;;
  4. (defun Remove_nth (i lst / j)
  5. (setq j -1)
  6. (vl-remove-if
  7.    (function
  8.      (lambda (x)
  9.        (eq i (setq j (1+ j))))) lst))
  10. ;-----------------------------------------------
  11. ;; massoc (Jaysen Long)               ;;
  12. ;; Extracts info from list by key     ;;
  13. (defun massoc (key alist / x nlist)
  14. (foreach x alist
  15.   (if
  16.     (eq key (car x))
  17.     (setq nlist (cons x nlist))
  18.   )
  19. )
  20. (reverse nlist)
  21. );defun
  22. ;-----------------------------------------------
  23. (defun c:MH ( / hentinfo ss i n entinfo ptlist pickpntlst entlist MergedHatchList)
  24. (while (/= (cdr (assoc 0 hentinfo)) "HATCH")
  25. (setq hentinfo (car (entsel "\nSelect Hatch Pattern to use:")))
  26. (If hentinfo (setq hentinfo (entget hentinfo)) (princ "\nMissed. Try again.")))
  27. (while (not ss) (princ "Select hatch entities to merge:")(setq ss (ssget '((0 . "HATCH")))))
  28. (setq MergedHatchList
  29. (list (cons 0 "HATCH")                              
  30.      (cons 100 "AcDbEntity")
  31.      (assoc 8 hentinfo)
  32.      (cons 100 "AcDbHatch")
  33.      (assoc 10 hentinfo)
  34.      (assoc 210 hentinfo)
  35.      (assoc 2 hentinfo)
  36.      (assoc 70 hentinfo)
  37.      (assoc 71 hentinfo)
  38.      (cons 91 (sslength ss))
  39. ) i -1)
  40. (repeat (sslength ss)
  41. (setq n -1 newlist nil)
  42. (setq entinfo (entget (ssname ss (setq i (1+ i)))))
  43. (setq ptlist (cdr (massoc 10 entinfo)))
  44. (setq pickpntlst (append pickpntlst (list (last ptlist))))
  45. (repeat (cdr (assoc 93 entinfo))(setq newlist (append newlist (list (nth (setq n (1+ n)) ptlist)))))
  46. (setq entlist (append (append (mapcar '(lambda (x) (assoc x entinfo)) '(92 72 73 93)) newlist)(list (assoc 97 entinfo))))
  47. (setq MergedHatchList (append MergedHatchlist entlist))
  48. (entdel (ssname ss i))
  49. )
  50. (setq MergedHatchList
  51. (append MergedHatchList
  52.   (append
  53.     (mapcar '(lambda (x) (assoc x hentinfo)) '(75 76 52 41 77 78 53 43 44 45 46 79 47))
  54.     (cons (cons 98 (sslength ss)) pickpntlst))))
  55. (entmake MergedHatchList)
  56. )

MH\u MERGE\u图案填充。lsp
回复

使用道具 举报

8

主题

81

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2022-7-6 09:09:42 | 显示全部楼层
这是另一个可以玩的。。这适用于任何图案填充。。失去关联性。。
  1. (defun c:MH ( / hentinfo ss i ent# seedpt# entinfo entinfo2 ent# seedpt# seedpts MergedHatchList)
  2. (while (/= (cdr (assoc 0 hentinfo)) "HATCH")
  3. (setq hentinfo (car (entsel "\nSelect Hatch Pattern to use:")))
  4. (If hentinfo (setq hentinfo (entget hentinfo)) (princ "\nMissed. Try again.")))
  5. (while (not ss) (princ "\nSelect hatch entities to merge:")(setq ss (ssget '((0 . "HATCH")))))
  6. (setq MergedHatchList
  7. (list (cons 0 "HATCH")                              
  8.      (cons 100 "AcDbEntity")
  9.      (assoc 8 hentinfo)
  10.      (cons 100 "AcDbHatch")
  11.      (assoc 10 hentinfo)
  12.      (assoc 210 hentinfo)
  13.      (assoc 2 hentinfo)
  14.      (assoc 70 hentinfo)
  15.      (assoc 71 hentinfo)
  16.      (cons 91 (sslength ss))
  17. ) i -1 seedpt# 0 ent# 0)
  18. (repeat (sslength ss)
  19. (setq n -1
  20.       entinfo (entget (ssname ss (setq i (1+ i))))
  21.       entinfo2 (member (assoc 92 entinfo) entinfo)
  22.       entinfo2 (reverse (cdr (member (assoc 75 entinfo2)(reverse entinfo2))))
  23.       ent# (+ ent# (cdr (assoc 91 entinfo)))
  24.       seedpt# (+ seedpt# (cdr (assoc 98 entinfo)))
  25.       seedpts (append seedpts (cdr (member (assoc 98 entinfo) entinfo)))
  26.       MergedHatchList (append MergedHatchList entinfo2)
  27. )
  28. (entdel (ssname ss i))
  29. )
  30. (setq MergedHatchList (subst (cons 91 ent#)(assoc 91 MergedHatchList) MergedHatchList)
  31.      MergedHatchList
  32. (append MergedHatchList
  33.   (append
  34.     (reverse (cdr (member (assoc 98 hentinfo)(reverse (member (assoc 75 hentinfo) hentinfo)))))
  35.     (cons (cons 98 seedpt#) seedpts))))
  36. (entmake MergedHatchList)
  37. )
回复

使用道具 举报

8

主题

81

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2022-7-6 09:21:41 | 显示全部楼层
这将合并选定图案填充并保持关联性。
 
享受
MH\U合并图案填充。lsp
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 09:31:49 | 显示全部楼层
Lisp在以下情况下不起作用:填充图案是由选定对象创建的图案填充,要合并的图案填充图元是由拾取点创建的图案填充。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 15:41 , Processed in 0.811642 second(s), 79 queries .

© 2020-2025 乐筑天下

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