QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3661|回复: 7
收起左侧

[已解决] 请教用autolisp实现相切相切直径画圆

[复制链接]
发表于 2010-10-16 07:42:49 | 显示全部楼层 |阅读模式 来自: 中国山东青岛

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑
  k' _/ }! E5 `0 X: Y# d+ X$ F$ n, H% B
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。& f( H; v8 K, v! ]& [, Q( y$ w; Q
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(! I/ }* F! |% K) b- j: z- Y
defun ggtt()
2 Y- U& o6 }& S# E$ u- w+ A(setvar "osmode" 256)+ Q. J9 [0 J8 z# y+ _
(getpoint"请选择点")7 \/ }/ G, K! d; F- Y( o
)* [- H5 X* U# a3 S% ~9 K# c
; u* G- d1 @" V" ?# u
(' I+ C+ n+ a; I
defun c:c2(/ p1 p2 diameter radius)$ Z1 l, d. L3 p' I; m7 {
(setq diameter (getreal"\n 输入直径"))8 j& `- v, M5 ~: d, g* c8 Q0 \
(setq radius (* diameter 0.5))/ f4 b$ {- {, w- B7 q% R: m7 d
(command "circle" "t" (ggtt) (ggtt) radius)# q. }, j+ ?/ Y$ U  \! l2 p
9 a) E5 M4 f2 B% Z8 }. C  A
)( \6 V& C0 R# i9 y& a" w0 N
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型
9 L1 C+ x/ f  _& u;; For test only
( T% L# N% j) R% q$ i(defun C:TTD ()
& q! `5 y: x1 _/ E  (command "Circle" "TTR"3 y# L, ^5 s* R& L
    "tan" pause/ R& ]  q0 n8 ^2 }3 @2 T! o
    "tan" pause
  H; R( I% c- d/ G# ]0 P    (/ (getdist ">> Diameter: ") 2)
" M" I3 T1 L3 V5 s( f  )
4 e) M5 a4 }6 u( ^: U)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
7 {; q4 S" y$ q* ~* Z% H* S(setq baspt (getpoint "请求输入基准点: "))7 y# a2 f& G0 {" f6 q
(setq rad (getdist baspt "\n请求输入小圆半径: "))
5 z6 r0 z/ g" D- K$ |(setq num (getint "\n请求输入相切的小圆数量: "))5 q5 U7 B6 x" x( L  `- _0 h% a6 t" M
(setq ang1 (/ (* pi 2) (* num 2)))& G( `) X: I& B4 c
(setq kk (/ rad (sin ang1)))8 p8 F: p- y2 u! {- U+ t4 }
(setq ang2 (- (/ pi 2) ang1))6 l% C9 s5 b2 ^  ^9 W8 f) C" {
(setq cenpt (polar baspt ang2 kk))1 c# W* [/ Q4 @7 `# F: c! u9 i5 _, H
(command "circle" baspt rad)                               
: [, |) g  E; c2 w: d, }(command "array" (entlast) "" "p" cenpt num 360 "Y")7 K) S; r, `( K( u1 @
(princ)* X" h" ?; I( Y/ P4 q
)5 ]& `) a* g' B0 c. v* O" y, E3 J
(prompt "\n << 5TEST2>>自动等圆相切绘制")
5 Z. R6 s5 D5 k- @; a. k(princ)
发表于 2011-6-29 16:20:37 | 显示全部楼层 来自: 中国上海
不管,只要好用就行,试过了,挺好的。已经保存LISP.感谢楼主和LISP提供者
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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