乐筑天下

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

[编程交流] 图案填充创建例程

[复制链接]

56

主题

259

帖子

213

银币

后起之秀

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

铜币
270
发表于 2022-7-5 18:26:36 | 显示全部楼层 |阅读模式
嗨,又是我。
 
我想为马做一些宏。
 
我知道我可以使用命令功能。
 
但我的HATCH有着坚实的背景。
 
这是另一种方式吗。
 
当做
 
直率的
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:44:27 | 显示全部楼层
请参见此示例:Visual LISP中的实体图案填充
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

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

铜币
270
发表于 2022-7-5 19:09:35 | 显示全部楼层
谢谢李,总是那么乐于助人。
 
干杯
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:21:25 | 显示全部楼层
不客气-我希望这会有所帮助!
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-5 19:29:25 | 显示全部楼层
ElpanovEvgeniy的entmakex舱口
  1. (defun entmakex-hatch (L a n s)
  2. ;; By ElpanovEvgeniy
  3. ;; L - list point
  4. ;; A - angle hatch
  5. ;; N - name pattern
  6. ;; S - scale
  7. ;; returne - hatch ename
  8. (entmakex
  9. (apply
  10.   'append
  11.   (list
  12.    (list '(0 . "HATCH")
  13.          '(100 . "AcDbEntity")
  14.          '(410 . "Model")
  15.          '(100 . "AcDbHatch")
  16.          '(10 0.0 0.0 0.0)
  17.          '(210 0.0 0.0 1.0)
  18.          '(2 . "ANSI31")
  19.          (if (= n "SOLID")
  20.           '(70 . 1)
  21.           '(70 . 0)
  22.          ) ;_  if
  23.          '(71 . 0)
  24.          (cons 91 (length l))
  25.    ) ;_  list
  26.    (apply 'append
  27.           (mapcar '(lambda (a)
  28.                     (apply 'append
  29.                            (list (list '(92 . 7) '(72 . 0) '(73 . 1) (cons 93 (length a)))
  30.                                  (mapcar '(lambda (b) (cons 10 b)) a)
  31.                                  '((97 . 0))
  32.                            ) ;_  list
  33.                     ) ;_  apply
  34.                    ) ;_  lambda
  35.                   l
  36.           ) ;_  mapcar
  37.    ) ;_  apply
  38.    (list '(75 . 0)
  39.          '(76 . 1)
  40.          (cons 52 a)
  41.          (cons 41 s)
  42.          '(77 . 0)
  43.          '(78 . 1)
  44.          (cons 53 a)
  45.          '(43 . 0.)
  46.          '(44 . 0.)
  47.          '(45 . 1.)
  48.          '(46 . 1.)
  49.          '(79 . 0)
  50.          '(47 . 1.)
  51.          '(98 . 2)
  52.          '(10 0. 0. 0.0)
  53.          '(10 0. 0. 0.0)
  54.          '(451 . 0)
  55.          '(460 . 0.0)
  56.          '(461 . 0.0)
  57.          '(452 . 1)
  58.          '(462 . 1.0)
  59.          '(453 . 2)
  60.          '(463 . 0.0)
  61.          '(463 . 1.0)
  62.          '(470 . "LINEAR")
  63.    ) ;_  list
  64.   ) ;_  list
  65. ) ;_  apply
  66. ) ;_  entmakex
  67. ) ;_  defun

如何使用
  1. (entmakex-hatch '(((538.794 584.563) (895.629 584.563) (895.629 997.377) (538.794 997.377))
  2.                  ((386.809 345.13) (670.955 345.13) (670.955 855.369) (386.809 855.369))
  3.                 )
  4.                (/ pi 2)
  5.                "ANSI31"
  6.                2.
  7. ) ;_  entmakex-hatch
  8. (entmakex-hatch
  9. (list
  10. (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget (car (entsel)))))
  11. ) ;_  list
  12. (/ pi 2)
  13. "ANSI31"
  14. 2.
  15. )


  1. (defun entmakex-solidhatch ( L )
  2. ;; L - list of list point. like ((pt11 pt12 pt13)(pt21 pt22 pt23))
  3. ;; Use
  4. ;;;(entmakex-solidhatch
  5. ;;;    (list
  6. ;;;      (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget (car (entsel "\nSelect Polyline:")))))
  7. ;;;      );_  list
  8. ;;;    )
  9. (entmakex
  10. (apply
  11.   'append
  12.   (list
  13.    (list '(0 . "HATCH")
  14.          '(100 . "AcDbEntity")
  15.          '(410 . "Model")
  16.          '(100 . "AcDbHatch")
  17.          '(10 0.0 0.0 0.0)
  18.          '(210 0.0 0.0 1.0)
  19.          (cons 2 "SOLID")
  20.          '(70 . 1)
  21.          '(71 . 0)
  22.          (cons 91 (length L))
  23.    ) ;_  list
  24.    (apply 'append
  25.           (mapcar '(lambda (a)
  26.                     (apply 'append
  27.                            (list (list '(92 . 7) '(72 . 0) '(73 . 1) (cons 93 (length a)))
  28.                                  (mapcar '(lambda (b) (cons 10 b)) a)
  29.                                  '((97 . 0))
  30.                            ) ;_  list
  31.                     ) ;_  apply
  32.                    ) ;_  lambda
  33.                   L
  34.           ) ;_  mapcar
  35.    ) ;_  apply
  36.    (list '(75 . 0)
  37.          '(76 . 1)
  38.          '(47 . 1.)
  39.          '(98 . 2)
  40.          '(10 0. 0. 0.0)
  41.          '(10 0. 0. 0.0)
  42.          '(450 . 0)
  43.          '(451 . 0)
  44.          '(460 . 0.0)
  45.          '(461 . 0.0)
  46.          '(452 . 0)
  47.          '(462 . 0.0)
  48.          '(453 . 2)
  49.          '(463 . 0.0)
  50.          '(63 . 256)
  51.          '(463 . 1.0)
  52.          '(63 . 256)
  53.          '(470 . "LINEAR")
  54.    ) ;_  list
  55.   ) ;_  list
  56. ) ;_  apply
  57. )
  58. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:31 , Processed in 0.845285 second(s), 62 queries .

© 2020-2025 乐筑天下

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