马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
该程序有一BUG,即无法控制FILLET的方向.请高手指教!
 - [font=courier]
- (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 7)
- (setq A
- (getpoint
- "\nPLEASE SELECT THE FIRST POINT OF THE FIRST SELECTION BY FENCE:"
- )
- )
- (INITGET 7)
- (setq B
- (getpoint
- A
- "\nPLEASE SELECT THE SECOND POINT OF THE FIRST SELECTION BY FENCE:"
- )
- )
- (INITGET 7)
- (setq C
- (getpoint
- "\nPLEASE SELECT THE FIRST POINT OF THE SECOND SELECTION BY FENCE:"
- )
- )
- (INITGET 7)
- (setq D
- (getpoint
- C
- "\nPLEASE SELECT THE SECOND POINT OF THE SECOND SELECTION BY FENCE:"
- )
- )
- (setq rad (getreal "\nPLEASE INPUT THE RADIUS OF FILLET:"))
- (if (numberp rad)
- (command "fillet" "r" rad "")
- )
- (SETQ E (SSGET "F" (LIST A B)))
- (SETQ F (SSGET "F" (LIST C D)))
- (SETQ I (MIN (SSLENGTH E) (SSLENGTH F)))
- (SETQ J 0)
- (WHILE (<= J I)
- (SETQ G (SSNAME E J)
- H (SSNAME F J)
- )
- (COMMAND "FILLET" G H)
- (SETQ J (1+ J))
- )
- (setvar "osmode" k)
- (command "undo" "e")
- (PRINC)
- )
- [/font]
|