找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2084|回复: 4

[每日一码] ;;164.48 [功能] 多线上的弧段的圆心列表

[复制链接]

已领礼包: 604个

财富等级: 财运亨通

发表于 2014-4-5 21:35:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
;;164.48 [功能] 多线上的弧段的圆心列表
;;(HH:GetCenter3 (car(setq en(entsel))))
(defun HH:GetCenter3 (curve / CENLIST EP FLAG MDERIV MP PARAM SP)
  ;;(setq curve (car (entsel)))
  (setq param (fix (vlax-curve-getEndParam curve)))
  (setq sp (vlax-curve-getPointAtParam curve param))
  (repeat param
    (setq param (1- param))
    (setq Ep (vlax-curve-getPointAtParam curve param))
    (setq Mp (vlax-curve-getPointAtParam curve (+ param 0.5))) ;中点
    (setq Mderiv (vlax-curve-getsecondderiv curve (+ param 0.5))) ;中点法线
    (setq Flag (car (trans (mapcar '- Mp Ep) 0 (mapcar '- Ep sp))))
    (cond ((equal Flag 0) nil)
          ((minusp Flag)
           (setq CenList (cons (mapcar '- Mp Mderiv) CenList))
          )
          (T
           (setq CenList (cons (mapcar '+ Mp Mderiv) CenList))
          )
    )
    (setq sp Ep)
  )
  CenList
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-4-5 22:35:49 | 显示全部楼层
另外一个方法,复杂情况下 Osnap 不知道表现如何
  1. (defun Polyline:ArcSegCenter (e / i nl ptl)
  2.   (setq i -1)
  3.   (repeat (1+ (fix (vlax-curve-getendparam e)))
  4.     (setq nl (cons (setq i (1+ i)) nl))
  5.   )
  6.   (mapcar
  7.     '(lambda (pam / p)
  8.        (if (setq p (osnap (vlax-curve-getpointatparam e pam) "_Cen"))
  9.          (setq ptl (cons p ptl))
  10.        )
  11.      )
  12.     (mapcar '(lambda (x)
  13.                (* 0.5 (apply '+ x))
  14.              )
  15.             (apply 'mapcar (cons 'list (list nl (cdr nl))))
  16.     )
  17.   )
  18.   ptl
  19. )

点评

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

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2014-4-5 22:48:00 来自手机 | 显示全部楼层
st788796 发表于 2014-4-5 22:35
另外一个方法,复杂情况下 Osnap 不知道表现如何

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

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2014-4-6 14:09:32 | 显示全部楼层
楼主《关于多线段》的贴子让我学到好多东西。。。
谢谢分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1094个

财富等级: 财源广进

发表于 2021-6-20 06:22:55 | 显示全部楼层
感谢大神分享;;164.48 [功能] 多线上的弧段的圆心列表!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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