乐筑天下

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

[编程交流] 在顶点处打断多段线

[复制链接]
pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 05:58:25 | 显示全部楼层
命令变量:
 
  1. (defun c:sample        (/ pd ent)
  2. (setq pd (getvar 'PEDITACCEPT))
  3. (setvar 'PEDITACCEPT 1)
  4. (while (setq ent (ssget '((0 . "LWPOLYLINE"))))
  5.   (repeat (setq i (sslength ent))
  6.     (setq en (ssname ent (setq i (1- i))))
  7.     (repeat (- (cdr (assoc 90 (entget en))) 2)
  8.               (command "_pedit" en "_E" "_N" "_B" "_G" "_X" "")
  9.         (setq en (entlast))
  10.       )
  11.    )
  12.    )
  13. (setvar 'PEDITACCEPT pd)
  14. )
回复

使用道具 举报

6

主题

122

帖子

118

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 06:02:08 | 显示全部楼层
我没有Alan发布此代码的链接。要么在这里,要么在沼泽地。。。
 
  1. (defun c:BPV (/ _chop ss i e)
  2. ;; Break lwPolyline at each Vertex
  3. ;; Alan J. Thompson, 09.14.11
  4. (vl-load-com)
  5. (defun _chop (lst e)
  6.    (if (vlax-curve-isClosed e)
  7.      (cdr lst)
  8.      (reverse (cdr (reverse (cdr lst))))
  9.    )
  10. )
  11. (if (setq ss (ssget "_:L" '((0 . "LWPOLYLINE") (-4 . ">") (90 . 2))))
  12.    (repeat (setq i (sslength ss))
  13.      (foreach point (_chop (apply 'append
  14.                                   (mapcar '(lambda (x)
  15.                                              (if (eq (car x) 10)
  16.                                                (list (trans (cdr x) 0 1))
  17.                                              )
  18.                                            )
  19.                                           (entget (setq e (ssname ss (setq i (1- i)))))
  20.                                   )
  21.                            )
  22.                            e
  23.                     )
  24.        (vl-cmdf "_.break" e "_F" "_non" point "_non" point)
  25.        (setq e (entlast))
  26.      )
  27.    )
  28. )
  29. (princ)
  30. )
回复

使用道具 举报

15

主题

76

帖子

62

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 06:07:19 | 显示全部楼层
大卫,
我得到了与pBe相同的输出。。一次只有一个物体破裂。
 
Stefan BMR,我认为这是我想要的最完美的Lisp程序。非常感谢。干杯
回复

使用道具 举报

15

主题

76

帖子

62

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 06:10:57 | 显示全部楼层
艾伦J.T.的作品很好。但是,多段线在同一对象多段线的顶点上重复传递,在执行BPV后,多段线的某些部分被删除或删除。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:30 , Processed in 1.891928 second(s), 59 queries .

© 2020-2025 乐筑天下

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