乐筑天下

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

[编程交流] 如何创建边界框

[复制链接]

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 20:40:33 | 显示全部楼层
李,恐怕2007版的PEDIT命令不支持样条线作为输入。
我认为编程上的替代方法是用适当的defame解析样条线实体,并用多段线跟踪它。不知道如何确定诽谤的大小。
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:43:06 | 显示全部楼层
耶!李当然可以工作。但结果差距很小。我附上一张图给你看。
 
谢谢
样条曲线。拉链
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-5 20:45:44 | 显示全部楼层
  1. (defun tracecurve ( obj di / cycle st )
  2.    (defun cycle ( st stp seg l )
  3.      (cond
  4.        ( (< (+ st seg) stp )
  5.          (cycle (+ seg st) stp seg
  6.            (cons (vlax-curve-getPointAtParam obj st) l)
  7.          )
  8.        )
  9.        ( t
  10.          (and (< st stp)
  11.            (setq l
  12.              (cons (vlax-curve-getPointAtParam obj st) l)
  13.            )
  14.          )
  15.          (reverse
  16.            (cons (vlax-curve-getPointAtParam obj stp) l)
  17.          )
  18.        )
  19.      )
  20.    )
  21.    (if
  22.      (and (not (minusp di))(not (zerop di))
  23.        (vl-position
  24.          (vla-get-objectname
  25.            (cond
  26.              ( (eq 'ENAME (type obj))(vlax-ename->vla-object obj ))
  27.              ( obj )
  28.            )
  29.          ) '("AcDbCircle" "AcDbArc" "AcDbEllipse" "AcDbSpline")
  30.        )
  31.      )
  32.      (cycle
  33.        (setq st (vlax-curve-getStartParam obj))
  34.        (vlax-curve-getEndParam obj)
  35.        (- (vlax-curve-getParamAtDist obj 0.125) st)
  36.        nil
  37.      )
  38.    )
  39. )

 
修改李的建议,虽然我不知道为什么他的方式不适合你。
  1. 5
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 20:48:22 | 显示全部楼层
@kwwong6和Dan少尉的腿:你们是说Lee的代码在你们的AutoCAD 2007上运行吗?!?
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:52:43 | 显示全部楼层
 
可以,在AutoCAD 2007上运行没有问题。只是有一个小差距,因为我上传后12附图。
 
非常感谢丹中尉的腿。你的代码真的有效!!!!!但是如果选择多条样条线,你能修改你的代码吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 20:56:22 | 显示全部楼层
 
MSasu,
 
我在上一篇文章中提到了第4篇文章,这个解决方案不涉及PEDIT的使用
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 21:02:46 | 显示全部楼层
 
Kwong,
 
使用此方法永远无法获得精确的边界框,因为此方法近似于具有离散点数的连续曲线;要获得真正的精度,需要无穷多的点。当然,您可以通过增加近似中的点数来提高精度,但会严重损失性能。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 21:02:57 | 显示全部楼层
那是我的错误。很抱歉给您带来不便!
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:07:27 | 显示全部楼层
谢谢李提供的信息。但是丹中尉的腿做的代码对我来说真的很好用。有谁能把这个代码做成多选样条?
 
提前谢谢。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:14 , Processed in 0.398397 second(s), 68 queries .

© 2020-2025 乐筑天下

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