明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1962|回复: 9

[已解答] 如何获得元素的矩形范围

[复制链接]
发表于 2015-3-13 15:50 | 显示全部楼层 |阅读模式
2明经币
本帖最后由 tryhi 于 2015-3-13 15:52 编辑




红色的图形是元素,虚线框是为了便于理解画出来,如何取得它的矩形范围,就是说如何取得左下角跟右上角的坐标

附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

转发自晓东论坛

评分

参与人数 1金钱 +20 收起 理由
mingjing9971 + 20 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-3-13 15:50 | 显示全部楼层
  1. ;实体包围盒
  2. (defun Getbox (obj / bp up)
  3.   (vla-getboundingbox obj 'bp 'up)
  4.   (setq bp (safearray-value bp)
  5. up (safearray-value up)
  6.   )
  7.   (list bp
  8. (list (car up) (cadr bp) 0.)
  9. up
  10. (list (car bp) (cadr up) 0.)
  11.   )
  12. )
  13. ;;通过直线的平面
  14. (defun GetPlan (p1 p2 / an)
  15.   (setq an (angle p1 p2))
  16.   (cond
  17.     ((equal an 0. 1e-8)
  18.      (list p1 '(0. 1. 0.))
  19.     )
  20.     ((equal an (/ pi 2) 1e-8)
  21.      (list p1 '(-1. 0. 0.))
  22.     )
  23.     ((equal an pi 1e-8)
  24.      (list p1 '(0. -1. 0.))
  25.     )
  26.     (t (list p1 '(1. 0. 0.)))
  27.   )
  28. )
  29. ;;
  30. (defun getclosestpt (curve lst)
  31.   (vlax-curve-getclosestpointtoprojection
  32.     curve
  33.     (car lst)
  34.     (cadr lst)
  35.     t
  36.   )
  37. )
  38. ;;点集包围盒
  39. (defun pnts:box (pts / xpt ypt xmin xmax ymin ymax)
  40.   (setq xpt  (mapcar 'car pts)
  41. ypt  (mapcar 'cadr pts)
  42. xmin (apply 'min xpt)
  43. xmax (apply 'max xpt)
  44. ymin (apply 'min ypt)
  45. ymax (apply 'max ypt)
  46.   )
  47.   (list (list xmin ymin 0.)
  48. (list xmax ymin 0.)
  49. (list xmax ymax 0.)
  50. (list xmin ymax 0.)
  51.   )
  52. )
  53. (defun c:tt (/ e obj box pts)
  54.   (setq e (car (entsel "\nPick Spline: ")))
  55.   (setq obj (vlax-ename->vla-object e))
  56.   (setq box (Getbox obj))
  57.   (setq pts (mapcar '(lambda (p1 p2)
  58.          (getclosestpt obj (getplan p1 p2))
  59.        )
  60.       box
  61.       (cdr (reverse (cons (car box) (reverse box))))
  62.      )
  63.   )
  64.   (entmakex
  65.     (append '((0 . "LWPOLYLINE")
  66.        (100 . "AcDbEntity")
  67.        (100 . "AcDbPolyline")
  68.        (90 . 4)
  69.        (70 . 1)
  70.       )
  71.      (mapcar
  72.        '(lambda (x) (cons 10 (list (car x) (cadr x))))
  73.        (pnts:box pts)
  74.      )
  75.     )
  76.   )
  77. )
转发自晓东论坛

评分

参与人数 1明经币 +1 收起 理由
tryhi + 1

查看全部评分

回复

使用道具 举报

发表于 2015-3-13 16:25 | 显示全部楼层

点评

我要求没有那么高,不需要最小包围盒  发表于 2015-3-13 18:10

评分

参与人数 1明经币 +1 金钱 +5 收起 理由
tryhi + 1 + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-3-15 13:58 | 显示全部楼层
可以用这个插件实现最小包围,你试试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +1 收起 理由
tryhi + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2017-8-13 11:03 | 显示全部楼层

谢谢分享!!!
回复

使用道具 举报

发表于 2020-3-1 19:54 | 显示全部楼层
学习了学习了
回复

使用道具 举报

发表于 2020-3-2 19:44 | 显示全部楼层
学习一下。
回复

使用道具 举报

发表于 2020-3-3 07:35 | 显示全部楼层

谢谢分享!!!
回复

使用道具 举报

发表于 2022-1-29 19:04 | 显示全部楼层
收入囊中,有用啊
回复

使用道具 举报

发表于 2022-5-12 19:43 | 显示全部楼层
谢谢!收入备用
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 23:14 , Processed in 2.716081 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表