乐筑天下

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

[编程交流] 像文本掩码一样,可以LISP它吗

[复制链接]

15

主题

52

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 07:00:01 | 显示全部楼层 |阅读模式

                               
登录/注册后可看大图

 
大家好,有人能帮我做这个吗?
假设我从圆圈#1中显示的内容开始。我希望这个自定义lisp例程的结果在运行后看起来像圆形#2,但不剪切其中的任何线,而只是掩盖它并将圆形放入另一层。
 
谢谢
回复

使用道具 举报

17

主题

193

帖子

179

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-6 07:11:45 | 显示全部楼层
也许李·麦克的循环抹杀能有所帮助
回复

使用道具 举报

15

主题

52

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 07:18:21 | 显示全部楼层
谢谢点头,我很想试试。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:28:35 | 显示全部楼层
谢谢你的推荐点头
我的网站上也有该计划,因为您可能需要会员资格才能查看Swamp的该区域。
回复

使用道具 举报

17

主题

193

帖子

179

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-6 07:37:29 | 显示全部楼层
不客气,艾哈迈德
 
没问题,李
回复

使用道具 举报

15

主题

52

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 07:44:23 | 显示全部楼层
我已经试过了从TheSwamp找到的圆形擦拭器,现在我正在使用它,而不是李网站上的那个。。
李,我运行了这个例程,它对我来说非常有用,但是经过一些修改,如果圆形擦除不仅可以在一个选定的圆形中工作,而且可以在层内的所有圆形中工作,那么效果会更好。。怎么可能?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:53:22 | 显示全部楼层
 
试试这段代码,让我知道你的情况。
 
  1. (defun c:Test (/ *error* ss i sn st le di lst e)
  2. ;;;   Tharwat 31. jan. 2013    ;;;
  3. ;;;     Wipeout circles        ;;;
  4. (vl-load-com)
  5. (defun *error* (x)
  6.    (if cm
  7.      (setvar 'cmdecho cm)
  8.    )
  9.    (princ "\n *Cancel*")
  10. )
  11. (or Doc (setq Doc (vla-get-ActiveDocument (vlax-get-acad-object))))
  12. (if (progn (print "Select Circles to Wipeout ...")
  13.        (setq ss (ssget "_:L" '((0 . "CIRCLE")))))
  14.    (progn (setq cm (getvar 'cmdecho))
  15.           (setvar 'cmdecho 0)
  16.           (vla-StartUndoMark Doc)
  17.           (repeat (setq i (sslength ss))
  18.             (setq sn  (ssname ss (setq i (1- i)))
  19.                   st  (vlax-curve-getstartpoint sn)
  20.                   le  (/ (* pi (* (cdr (assoc 40 (entget sn))) 2.)) 50.)
  21.                   di  le
  22.                   lst nil
  23.             )
  24.             (repeat 50 (setq lst (cons (vlax-curve-getpointatdist sn di) lst)) (setq di (+ di le)))
  25.             (setq e (entmakex (append (list '(0 . "LWPOLYLINE")
  26.                                             '(100 . "AcDbEntity")
  27.                                             '(100 . "AcDbPolyline")
  28.                                             (cons 90 (length lst))
  29.                                             '(70 . 1)
  30.                                       )
  31.                                       (mapcar '(lambda (p) (cons 10 (list (car p) (cadr p)))) lst)
  32.                               )
  33.                     )
  34.             )
  35.             (command "_.wipeout" "_p" e "y")
  36.             (entdel sn)
  37.           )
  38.           (setvar 'cmdecho cm)
  39.           (vla-EndUndomark Doc)
  40.    )
  41. )
  42. (princ "\n Written by Tharwat Al Shoufi")
  43. (princ)
  44. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:04:13 | 显示全部楼层
现在,我已经更新了我的圆形区域覆盖程序,以包括一个新命令c2wipe,允许用户将现有圆转换为圆形区域覆盖,同时保留现有圆的所有原始特性(例如图层、线型、线宽等)。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 11:00 , Processed in 0.363256 second(s), 72 queries .

© 2020-2025 乐筑天下

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