找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 896|回复: 6

[LISP程序]:求距离

[复制链接]
发表于 2003-6-8 09:52:47 | 显示全部楼层 |阅读模式

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

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

×
怎样判断两条曲线是否平行?怎样求它们之间的距离?3X!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-6-8 13:23:48 | 显示全部楼层

Re: [LISP程序]:求距离

最初由 redapple 发布
[B]怎样判断两条曲线是否平行?怎样求它们之间的距离?3X! [/B]
  1. [font=courier]
  2. ;判断两线平行,并获得两平行线离
  3. ;用法:命令行输入pdpx
  4. ;制作:Qing
  5. ;qing_pdpx.lsp
  6. (defun c:pdpx ()
  7.   (setq qing_sel (entsel "\n选择第一条线段:"))
  8.         (cond
  9.           ((null qing_sel) (princ "\n$函数被取消$") (exit))
  10.              )
  11.         (setq qing_ent (entget(car qing_sel))
  12.               qing_pd (cdr(assoc 0 qing_ent))
  13.         )
  14.   (cond
  15.     ((/= qing_pd "LINE") (PRINC "\n$选择的对象非线$") (exit))   
  16.     )
  17.   (setq  qing_sell (entsel "\n选择第二条线段:"))
  18.                  (cond
  19.           ((null qing_sell) (princ "\n$函数被取消$") (exit))
  20.              )
  21.          (setq qing_entt (entget(car qing_sell))
  22.                qing_pdd (cdr(assoc 0 qing_entt))
  23.         )  
  24.   (cond   
  25.     ((/= qing_pdd "LINE") (PRINC "\n$选择的对象非线$") (exit))   
  26.     )
  27.   (setq qing_getp1 (cdr(assoc 10 qing_ent))
  28.         qing_getp2 (cdr(assoc 11 qing_ent))
  29.         qing_getp3 (cdr(assoc 10 qing_entt))
  30.         qing_getp4 (cdr(assoc 11 qing_entt))
  31.         )
  32.   (setq qing_ints (inters qing_getp1 qing_getp2 qing_getp3 qing_getp4 nil))
  33.   (cond
  34.     ((/= qing_ints nil) (princ "\n$两线不平行$") (exit))
  35.     )
  36.   (setq qing_ang (angle qing_getp1 qing_getp2)
  37.         qing_pol (polar qing_getp1 (+ qing_ang (/ pi 2)) 888)
  38.         qing_intss (inters qing_getp1 qing_pol qing_getp3 qing_getp4 nil)
  39.         )
  40.   (setq qing_dis (distance qing_getp1 qing_intss))
  41. (princ "\n两线平行,")
  42. (princ "两线间的距离为:")
  43. (princ qing_dis)
  44. (princ)
  45. )
  46. [/font]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-8 18:57:19 | 显示全部楼层
怎样判断两弧平行,并求距离呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-8 19:52:55 | 显示全部楼层
最初由 redapple 发布
[B]怎样判断两弧平行,并求距离呢 [/B]
  1. [font=courier]
  2. ;判断两圆弧(圆)平行,并获得两平行圆弧(圆)的距离
  3. ;用法:命令行输入pdpx
  4. ;制作:Qing
  5. ;qing_pdpx.lsp
  6. (defun c:pdpx ()
  7.   (setq qing_sel (entsel "\n&选择第一条圆弧$:"))
  8.         (cond
  9.           ((null qing_sel) (princ "\n$函数被取消$") (exit))
  10.              )
  11.         (setq qing_ent (entget(car qing_sel))
  12.               qing_pd (cdr(assoc 0 qing_ent))
  13.         )
  14.   (cond
  15.     ((/= qing_pd "ARC") (PRINC "\n$选择的对象非圆弧$") (exit))   
  16.     )
  17.   (setq  qing_sell (entsel "\n选择第二条圆弧&:"))
  18.                  (cond
  19.           ((null qing_sell) (princ "\n$函数被取消$") (exit))
  20.              )
  21.          (setq qing_entt (entget(car qing_sell))
  22.                qing_pdd (cdr(assoc 0 qing_entt))
  23.         )  
  24. (cond   
  25.     ((/= qing_pdd "ARC") (PRINC "\n$选择的对象非线$") (exit))   
  26.     )
  27.   (setq qing_getc (cdr(assoc 10 qing_ent))
  28.         qing_getcc (cdr(assoc 10 qing_entt))
  29.         qing_pdc (car qing_getc)
  30.         qing_pdc1 (cadr qing_getc)
  31.         qing_pdcc (car qing_getcc)
  32.         qing_pdcc1 (cadr qing_getcc)
  33.         )
  34.   (cond
  35.     ((/= qing_pdc qing_pdcc) (PRINC "\n$两条弧线不平行$") (exit))
  36.     ((/= qing_pdc1 qing_pdcc1) (PRINC "\n$两条弧线不平行$") (exit))
  37.     )
  38.   (setq qing_getrad (cdr(assoc 40 qing_ent))
  39.         qing_getradd (cdr(assoc 40 qing_entt))
  40.         qing_getn (abs (- qing_getrad qing_getradd))
  41.         )
  42.   (princ "\n两弧线(圆)平行,")
  43.   (princ "两弧(圆)线间的距离为:")
  44.   (princ qing_getn)
  45.   (princ)
  46.   )
  47. [/font]
  48.   
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-8 20:39:41 | 显示全部楼层
真聪明,我的几何知识太差了,需要恶补了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-8 23:35:07 | 显示全部楼层
曲线平行是否和 offset类似?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-9 15:56:05 | 显示全部楼层
我想是差不多,这里主要考虑的是弧形的外围护结构。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 14:28 , Processed in 0.229055 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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