找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 646|回复: 2

[LISP程序]:分享/一次FILLET多条非平行线

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2003-8-9 14:26:44 | 显示全部楼层 |阅读模式

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

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

×
该程序有一BUG,即无法控制FILLET的方向.请高手指教!
  1. [font=courier]
  2. (defun c:ff (/ A B C D E F G H I J k)
  3.   (command "undo" "be")
  4.   (setq k (getvar "osmode"))
  5.   (setvar "osmode" 0)
  6.   (INITGET 7)
  7.   (setq        A
  8.          (getpoint
  9.            "\nPLEASE SELECT THE FIRST POINT OF THE FIRST SELECTION BY FENCE:"
  10.          )
  11.   )
  12.   (INITGET 7)
  13.   (setq        B
  14.          (getpoint
  15.            A
  16.            "\nPLEASE SELECT THE SECOND POINT OF THE FIRST SELECTION BY FENCE:"
  17.          )
  18.   )
  19.   (INITGET 7)
  20.   (setq        C
  21.          (getpoint
  22.            "\nPLEASE SELECT THE FIRST POINT OF THE SECOND SELECTION BY FENCE:"
  23.          )
  24.   )
  25.   (INITGET 7)
  26.   (setq        D
  27.          (getpoint
  28.            C
  29.            "\nPLEASE SELECT THE SECOND POINT OF THE SECOND SELECTION BY FENCE:"
  30.          )
  31.   )
  32.   (setq rad (getreal "\nPLEASE INPUT THE RADIUS OF FILLET:"))
  33.   (if (numberp rad)
  34.     (command "fillet" "r" rad "")
  35.   )
  36.   (SETQ E (SSGET "F" (LIST A B)))
  37.   (SETQ F (SSGET "F" (LIST C D)))
  38.   (SETQ I (MIN (SSLENGTH E) (SSLENGTH F)))
  39.   (SETQ J 0)
  40.   (WHILE (<= J I)
  41.     (SETQ G (SSNAME E J)
  42.           H (SSNAME F J)
  43.     )
  44.     (COMMAND "FILLET" G H)
  45.     (SETQ J (1+ J))
  46.   )
  47.   (setvar "osmode" k)
  48.   (command "undo" "e")
  49.   (PRINC)
  50. )
  51. [/font]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-8-9 14:33:03 | 显示全部楼层

Re: [LISP程序]:分享/一次FILLET多条非平行线

最初由 taner 发布
[B]该程序有一BUG,即无法控制FILLET的方向.请高手指教!
[code]
(defun c:ff (/ A B C D E F G H I J k)
  (command "undo" "be")
  (setq k (getvar "osmode"))
  (setvar "osmode" 0)
  (INITGET... [/B]


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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2003-8-9 15:06:50 | 显示全部楼层
如附件,我本想将屏上方线段的上端与屏幕下方的线段相连,但事与愿违.
即两组线段延伸相交后,短的部分将被截除.
但是,往往我们想保留短的部分.

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 15:58 , Processed in 0.347851 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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