找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2183|回复: 28

[求助] 最大内接圆

[复制链接]

已领礼包: 182个

财富等级: 日进斗金

发表于 2013-8-8 11:18:23 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-8-8 11:45:27 | 显示全部楼层
原帖地址在哪? 没太看明白你的图。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 195个

财富等级: 日进斗金

发表于 2013-8-8 11:51:35 | 显示全部楼层
自己用手绘好了
选择一个多段线
1.PNG
选择命令->偏移->通过->看到图形变成三角形时,确定
2.PNG
利用修剪、圆、直线命令绘制三角形内接圆圆心,同时也是多段线内接圆圆心
3.PNG
捕捉设置勾选垂足、切线,利用圆心、半径命令绘制多段线最大内接圆,OK!
4.PNG

点评

内接圆直接绘三切园不是更快???  详情 回复 发表于 2013-8-8 16:55

评分

参与人数 1D豆 +5 收起 理由
Lisphk + 5 学习了

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-8 12:31:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-8 12:40:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-8 12:42:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2013-8-8 16:55:46 | 显示全部楼层
zdqwy19 发表于 2013-8-8 11:51
自己用手绘好了
选择一个多段线

内接圆直接绘三切园不是更快???

点评

三切圆和最大内接圆是有区别的  详情 回复 发表于 2013-8-8 18:58
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-8 17:18:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-8-8 17:59:44 | 显示全部楼层
用偏移的方法总会出现这样的问题,因为有时总会遇上不能偏移的图形。
你能接受错误时不画圆,可以将现有程式作一子程式,
检测到出错或最后实体不是圆则退回跳过
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-8 18:10:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-8-8 18:18:04 | 显示全部楼层
本帖最后由 牢固 于 2013-8-8 18:20 编辑

利用VlaOffSet特性,计算最大圆
  1. (vl-load-com)
  2. (defun maxcircle (obj / ll ur ul lr a b c d clockwise loop lst cp)
  3.   (vla-GetBoundingBox obj 'll 'ur)
  4.   (setq  ll (vlax-safearray->list ll) ;_ 左下
  5.   ur (vlax-safearray->list ur) ;_ 右上
  6.   ul (list (car ll) (cadr ur) (caddr ll)) ;_ 左上
  7.   lr (list (car ur) (cadr ll) (caddr ll)) ;_ 右下
  8.   )
  9.   (mapcar 'set
  10.     '(a b c d)
  11.     (mapcar '(lambda (x)
  12.          (vlax-curve-getParamAtPoint
  13.            obj
  14.            (vlax-curve-getclosestpointto obj x)
  15.          )
  16.        )
  17.       (list ll ul ur lr)
  18.     )
  19.   )
  20.   (setq  clockwise (or (< a b c d)
  21.           (< b c d a)
  22.           (< c d a b)
  23.           (< d a b c)
  24.       )
  25.   )
  26.   (setq  d (min (- (car ur) (car ll))
  27.          (- (cadr ur) (cadr ll))
  28.     )
  29.   )
  30.   (if (not clockwise)
  31.     (setq d (- d))
  32.   )
  33.   (setq d (* d 0.1))
  34.   (setq  loop t
  35.   objbak obj
  36.   )
  37.   (setq obj (vla-copy obj))
  38.   (while loop
  39.     (setq lst (VL-CATCH-ALL-APPLY 'vla-offset (list obj d)))
  40.     (if  (not
  41.     (VL-CATCH-ALL-ERROR-P lst)
  42.   )
  43.       (progn
  44.   (vla-delete obj)
  45.   (setq lst (vlax-safearray->list (vlax-variant-value lst)))
  46.   (setq
  47.     lst (vl-sort
  48.     lst
  49.     '(lambda (a b)
  50.        (> (vlax-curve-getarea a) (vlax-curve-getarea b))
  51.      )
  52.         )
  53.   )
  54.   (setq obj (car lst)
  55.         lst (cdr lst)
  56.   )
  57.   (mapcar 'vla-delete lst)
  58.   (vla-GetBoundingBox obj 'll 'ur)
  59.   (setq ll (vlax-safearray->list ll) ;_ 左下
  60.         ur (vlax-safearray->list ur) ;_ 右上
  61.   )
  62.   (if (equal (vlax-curve-getarea obj) 1e-6)
  63.     (progn
  64.       (setq loop nil
  65.       cp   (mapcar '* '(0.5 0.5 0.5) (mapcar '+ ll ur))
  66.       )
  67.       (vla-delete obj)
  68.     )
  69.     (progn
  70.       (setq d (min (- (car ur) (car ll))
  71.        (- (cadr ur) (cadr ll))
  72.         )
  73.       )
  74.       (if  (not clockwise)
  75.         (setq d (- d))
  76.       )
  77.       (setq d (* d 0.1))

  78.     )
  79.   )
  80.       )
  81.       (progn
  82.   (vla-GetBoundingBox obj 'll 'ur)
  83.   (setq ll (vlax-safearray->list ll) ;_ 左下
  84.         ur (vlax-safearray->list ur) ;_ 右上
  85.   )
  86.   (setq loop nil
  87.         cp   (mapcar '* '(0.5 0.5 0.5) (mapcar '+ ll ur))
  88.   )
  89.   (vla-delete obj)
  90.       )
  91.     )
  92.   )
  93.   (vla-addcircle
  94.     (vla-get-ModelSpace
  95.       (vla-get-ActiveDocument (vlax-get-acad-object))
  96.     )
  97.     (vlax-3d-point cp)
  98.     (distance cp (vlax-curve-getclosestpointto objbak cp))
  99.   )
  100. )
  101. ;;使用测试
  102. (defun c:tt ()
  103.   (setq ss (ssget '((0 . "*polyline"))))
  104.   (repeat (setq n (sslength ss))
  105.     (setq e (ssname ss (setq n (1- n))))
  106.     (maxcircle (vlax-ename->vla-object e))
  107.   )
  108.   (princ)
  109. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 195个

财富等级: 日进斗金

发表于 2013-8-8 18:58:04 | 显示全部楼层
ysq101 发表于 2013-8-8 16:55
内接圆直接绘三切园不是更快???

三切圆和最大内接圆是有区别的

点评

有哪些区别.....举个例子~~~或给个图  详情 回复 发表于 2013-8-8 21:34
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-8 19:02:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 182个

财富等级: 日进斗金

 楼主| 发表于 2013-8-8 19:04:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-8-8 19:05:43 | 显示全部楼层
kcad2010 发表于 2013-8-8 19:02
牢固 大师 用的lisp试一下我发的dwg,中有一个画不出来,但是也会出现错误自动退出,,能让他不画圆但程式要自 ...

你提供的图我测试没有问题!
QQ截图20130808190623.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-25 08:34 , Processed in 0.418289 second(s), 70 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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