找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: st788796

[研讨] 关于多边形凸角凹角的判断

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-10-4 23:49:29 | 显示全部楼层

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-10-4 23:51:50 | 显示全部楼层

大师只是在找凸角吗? 怎么没看到凹角的标记?另外演示图片太小了,找个局部放大下,能说明问题就OK了。

点评

他演示的图就是凹角,你理解那是一个模孔就可以了!找出凹角的点表就可以后继操作了!目的就是做逃角.  发表于 2013-10-5 13:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-10-5 17:43:18 | 显示全部楼层
授人于鱼不如授人于渔
用到的函数完全可以用 Lisp 自己实现,不过要麻烦很多了!
  1. (defun c:tt (/ e pts area ia ib ic ba bb bc p a b c)
  2.   (if
  3.     (and (setq
  4.            e (car (xdrx_entsel "\nPick Pline: " '((0 . "lwpolyline"))))
  5.          )
  6.          (xdrx_curve_isclosed e)
  7.     )
  8.      (progn
  9.        (xdrx_polyline_compress e)
  10.        (setq pts  (xdrx_entity_getstretchpoint e)
  11.              area (apply 'xdrx_points_area pts)
  12.        )
  13.        (if (minusp area) ;_顺时针为负
  14.          (progn
  15.            (xdrx_curve_reverse e)
  16.            (setq pts (reverse pts))
  17.          )
  18.        )
  19.        (setq pts (append pts (list (car pts) (cadr pts))))
  20.        (while (caddr pts) ;_three
  21.          (mapcar 'set '(a b c) pts)
  22.          (mapcar '(lambda (x y z)
  23.                     (set x (vlax-curve-getparamatpoint e z))
  24.                     (set y (xdrx_polyline_getbulgeat e (fix (eval x))))
  25.                   )
  26.                  '(ia ib ic)
  27.                  '(ba bb bc)
  28.                  (list a b c)
  29.          )
  30.          (cond
  31.            ((and (= ba bb 0.) ;_全直线
  32.                  (> (xdrx_points_area a b c) 0.)
  33.             )
  34.             (xdrx_point_make b)
  35.            )
  36.            ((and (or (zerop ba) (zerop bb))
  37.                  (progn        (setq p
  38.                                (vlax-curve-getpointatparam
  39.                                  e
  40.                                  (if (zerop ba)
  41.                                    (/ (+ ib ic) 2.)
  42.                                    (/ (+ ia ib) 2.)
  43.                                  )
  44.                                )
  45.                         )
  46.                         (and (if (zerop ba)
  47.                                (minusp (xdrx_point_dist2line p b c))
  48.                                (minusp (xdrx_point_dist2line p a b))
  49.                              );_ 左侧,圆弧内凹
  50.                              (> (xdrx_points_area a b c) 0.);_且面积为正
  51.                         )
  52.                  )
  53.             )
  54.             (xdrx_point_make b)
  55.            )
  56.            (t)
  57.          )
  58.          (setq pts (cdr pts))
  59.        )
  60.      )
  61.   )
  62.   (princ)
  63. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 315个

财富等级: 日进斗金

发表于 2013-10-11 10:33:02 | 显示全部楼层
在顶点画圆,再用BOUNDARY生成多段线判断面积,方法有点笨!:lol
7.gif

点评

找到这些凹角后,怎么做逃角? 什么是逃角? 另外你的程序,生成BOUNDARY后,怎么判断的。  详情 回复 发表于 2013-10-11 10:53

评分

参与人数 1D豆 +6 收起 理由
XDSoft + 6 及时回复奖!

查看全部评分

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-10-11 10:53:23 | 显示全部楼层
小陶 发表于 2013-10-11 10:33
在顶点画圆,再用BOUNDARY生成多段线判断面积,方法有点笨!

找到这些凹角后,怎么做逃角? 什么是逃角? 另外你的程序,生成BOUNDARY后,怎么判断的。

点评

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

使用道具 举报

已领礼包: 315个

财富等级: 日进斗金

发表于 2013-10-11 11:10:47 | 显示全部楼层
Lisphk 发表于 2013-10-11 10:53
找到这些凹角后,怎么做逃角? 什么是逃角? 另外你的程序,生成BOUNDARY后,怎么判断的。

做五金模的都知道!隔行如隔山!

点评

怎么把专业的东西转换到Autocad那些事比专业还难  详情 回复 发表于 2013-10-11 16:08
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-10-11 16:08:49 来自手机 | 显示全部楼层
小陶 发表于 2013-10-11 11:10
做五金模的都知道!隔行如隔山!

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 11:27 , Processed in 0.407757 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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