乐筑天下

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

[编程交流] 连接的多段线角点

[复制链接]

24

主题

141

帖子

115

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-5 18:44:39 | 显示全部楼层
非常感谢!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:46:35 | 显示全部楼层
不错的解决方案Stefan
 
还有一种方法:
  1. (defun c:test ( / a d e f i l n v x )
  2.    (if (setq e (ssget "_+.:E:S" '((0 . "LWPOLYLINE") (-4 . "&=") (70 . 1))))
  3.        (progn
  4.            (setq l (entget (ssname e 0))
  5.                  l (cons (assoc 10 (reverse l)) l)
  6.                  f (lambda ( x ) (reverse (cdr x)))
  7.                  d 1e308 n 0
  8.            )
  9.            (while (setq a (assoc 10 l))
  10.                (and v (< (setq x (distance (cdr a) (car v))) d) (setq d x i n))
  11.                (or (and v (equal (car v) (cdr a) 1e-3))
  12.                    (setq v (cons (cdr a) v))
  13.                )
  14.                (setq l (cdr (member a l))
  15.                      n (1+ n)
  16.                )
  17.            )
  18.            (setq v (f v))
  19.            (repeat i (setq v (reverse (cons (car v) (f v)))))
  20.            (repeat (- (/ (length v) 2) 2)
  21.                (entmake (list '(0 . "LINE") (cons 10 (car (setq v (f (f v))))) (cons 11 (last v))))
  22.            )
  23.        )
  24.    )
  25.    (princ)
  26. )
回复

使用道具 举报

24

主题

141

帖子

115

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-5 18:51:23 | 显示全部楼层
谢谢李先生!
它工作得很好。
 
谢谢Martin
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-5 18:57:34 | 显示全部楼层
谢谢李
 
和往常一样,你的解决方案很好,很简洁。
也许马丁对这两个Lisp程序都很满意,他可能画得很清楚,但我们都没有涵盖所有的例外。
尝试此多段线:
  1. (entmakex
  2. '(
  3.    (0 . "LWPOLYLINE")
  4.    (100 . "AcDbEntity")
  5.    (100 . "AcDbPolyline")
  6.    (62 . 3)
  7.    (90 . 12) (70 . 1)
  8.    (10 5.0 5.0) (10 5.0 1.0)
  9.    (10 2.0 1.0) (10 2.0 2.0)
  10.    (10 2.0 2.0) (10 4.0 2.0)
  11.    (10 4.0 4.0) (10 1.0 4.0)
  12.    (10 1.0 0.0) (10 0.0 0.0)
  13.    (10 0.0 5.0) (10 0.0 5.0)
  14. )
  15. )
回复

使用道具 举报

24

主题

141

帖子

115

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-5 19:00:38 | 显示全部楼层
你好,斯特凡
 
哦,是的
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:04:35 | 显示全部楼层
 
非常感谢。
 
 
良好捕捉-固定:
[code](defunc:test(/a d e f i l n v x)(ifsetqe(ssget[color]“_+:e:S”((0.“LWPOLYLINE”)(-4.&=“)(70.1))(Ql(entgetssnamee 0)l(consassoc10(reversel)f(lambda(x)(reverse([color=BLUE cdrx)))d 1e308 n 0)(([color=BLUE setqa([color(condnotv)(setqv(conscdra)v))((equalcarv)(cdra)1e-3))(
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-1 13:29 , Processed in 1.110645 second(s), 63 queries .

© 2020-2025 乐筑天下

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