找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1307|回复: 5

[每日一码] 计算两曲线的重叠部分

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-12-16 18:53:49 | 显示全部楼层 |阅读模式

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

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

×


求曲线重叠段函数见开源函数库:http://bbs.xdcad.net/thread-713844-1-1.html


曲线重叠段-2.gif

  1. (defun c:tt ()
  2.   (if (and (setq e1 (car (xdrx_entsel
  3.                            "\n拾取曲线1<退出>:"
  4.                            '((0 . "LINE,*POLYLINE,ARC,CIRCLE,ELLIPSE"))
  5.                          )
  6.                     )
  7.            )
  8.            (setq e2 (car (xdrx_entsel
  9.                            "\n拾取曲线2<退出>:"
  10.                            '((0 . "LINE,*POLYLINE,ARC,CIRCLE,ELLIPSE"))
  11.                          )
  12.                     )
  13.            )
  14.            (setq info (xd::curve:overlaps e1 e2))
  15.       )
  16.     (progn (setq d1 (nth 0 info))
  17.            (mapcar '(lambda (x)
  18.                       (setq pa1          (cadr x)
  19.                             pa2          (caddr x)
  20.                             pamid (/ (+ pa1 pa2) 2.0)
  21.                       )
  22.                       (setq p (xdrx_curve_getpointatparam e1 pamid))
  23.                       (xdrx_grdraw 2 0 p 3 3)
  24.                     )
  25.                    d1
  26.            )
  27.            (xdrx_prompt
  28.              "\n两曲线有 "
  29.              (length (car info))
  30.              " 个重叠段,重叠长度分别是 "
  31.              (xdrx_string_join
  32.                (mapcar '(lambda (x) (rtos (car x) 2 2)) (car info))
  33.                ","
  34.              )
  35.              "."
  36.            )
  37.     )
  38.   )
  39.   (princ)
  40. )


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

已领礼包: 3904个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 1304个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 104个

财富等级: 日进斗金

发表于 2018-1-14 14:40:36 | 显示全部楼层
老师:能批量查找并标示多个曲线重叠部位和长度吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2018-1-14 14:57:09 | 显示全部楼层

基本的两个的重叠能算出了,批量也就不是什么难事了,只是找出两两比较的曲线就行了。
你可以到编程申请,详细说下怎么个批量法和怎么出结果,配上清晰的截图和DWG文件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8613个

财富等级: 富甲天下

发表于 2019-12-1 21:52:41 | 显示全部楼层
试了,没有效果。用两个贴在一块的矩形(一大一小),在(xd::curve:overlaps e1 e2)这一步总是返回(nil nil)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 04:56 , Processed in 0.468931 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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