乐筑天下

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

[编程交流] 填充所有闭合多段线

[复制链接]

2

主题

4

帖子

2

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:32:18 | 显示全部楼层 |阅读模式
大家好,
 
我被派到这里——LISP子窗体——来乞求您的编程怜悯。我被告知,解决我的问题最简单的方法是对所有闭合多段线进行阴影处理。这是我的原始帖子,请自己决定这是否是最简单的方法,如果是,我将非常感谢一个简单的LISP例程!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:18:37 | 显示全部楼层
这里有一个简单的示例作为开始,在打印之前使用它。通过添加变量设置,可以为填充图案添加更多控制。
 
  1. ; by big-al
  2. (defun AH:fillpl ( / obj ss)
  3. (setq ss (ssget "X" (list (cons 0 "*polyline"))))
  4. (setq num (sslength ss))
  5. (setq x num)
  6. (repeat num
  7. (setq obj (cdr (assoc -1 (entget (ssname ss (setq x (- x 1)))))))
  8. (setvar "hpname" "solid")
  9. (setvar "hpcolor" "1")
  10. (command "-Hatch" "s" obj "" "")
  11. )
  12. )
  13. (AH:fillpl)
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 19:49:12 | 显示全部楼层
另一个:-
 
[code](DEFUN C:测试(/A B C D)(IF(AND(SETQ A(SSGET’((0.*折线))(70.1))(SETQ D(VLA-GET-MODELSPACE(VLA-GET-ACTIVEDOCUMENT(VLAX-GET-ACAD-OBJECT))))(重复(SETQ I(SSLENGTH A))(SETQ B(VLAX-ENAME->VLA-OBJECT(SSNAME A(SETQ I(1-I k))))))))(SETQ C(VLA-ADDHATCH D achatchPatternType预定义的“SOLID”:VLAX-TRUE ACHATCHOBJECT))(VLAX-INVOKE C’APPENDINNERLOOP(列表B))(VLA-EVALUATE C)(VLA-PUT-COLOR C 5);
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:53 , Processed in 0.476697 second(s), 58 queries .

© 2020-2025 乐筑天下

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