QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 3547|回复: 7
收起左侧

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 # y( O: }5 x2 R& i
8 {/ p2 [& P4 s/ v, p
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。
5 g6 c4 _& G3 V. f0 O. @2 O结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(/ W; |7 i- }7 c: [, N! J) ~9 A, k' X6 X
defun ggtt()( R# O6 c7 }- p" C+ {/ V( \
(setvar "osmode" 256)* |8 |7 F2 L# N) O" V
(getpoint"请选择点")# ?+ ~& S! n% W& d5 u
)/ r/ W  C8 u& R: t. S! W8 p$ V

' `) a4 R! E$ a! o0 r(6 n: N5 E) T8 I1 \" j* k
defun c:c2(/ p1 p2 diameter radius)/ H" G+ h. ?$ \3 @" B& R
(setq diameter (getreal"\n 输入直径"))3 x, w1 W1 S5 I, H6 \
(setq radius (* diameter 0.5))
3 q2 e& k. V8 d! j$ R6 U- n(command "circle" "t" (ggtt) (ggtt) radius)
7 V/ I' }" e% A8 W4 J% G/ p- t0 @# o
)
. |- `0 c) B, X6 A这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型
4 j* A$ x* R% _' f' k) m;; For test only
, _( t* w2 b4 n. j(defun C:TTD ()! b" Y" v2 A( E" a+ ]
  (command "Circle" "TTR"
" q0 D. ?$ W3 I) u7 @4 p    "tan" pause
0 b/ O- y# d7 m4 k, }$ F) D% v    "tan" pause
" m, `* o1 r; j( ^    (/ (getdist ">> Diameter: ") 2)( R% K( l, m0 `0 ?" Y9 S) S
  )
, m9 A3 \& Q, s- })
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()* v% l8 {  H; L; k
(setq baspt (getpoint "请求输入基准点: "))
1 X3 W0 c; ]6 u8 J) e8 o(setq rad (getdist baspt "\n请求输入小圆半径: "))
1 `5 v, n5 L( p. R& i# V(setq num (getint "\n请求输入相切的小圆数量: "))
9 d$ W0 ]: I: m4 g2 r( q+ ?8 `( l(setq ang1 (/ (* pi 2) (* num 2)))5 h0 p1 d( D; ]# J6 B
(setq kk (/ rad (sin ang1)))
, q/ y" ~8 J% J7 Z) G' x* z( \(setq ang2 (- (/ pi 2) ang1))
0 d; U) Z. w9 E3 ^' V: F3 G(setq cenpt (polar baspt ang2 kk))' @4 G6 G' k4 N' w1 K; a0 S
(command "circle" baspt rad)                               
, I. G3 p3 g& y3 k; M(command "array" (entlast) "" "p" cenpt num 360 "Y")8 o; L0 e2 r+ P5 e
(princ)* q2 M: [# Q% s
)
, M" ~1 W! v4 _, Z( P( J# S9 q6 ^(prompt "\n << 5TEST2>>自动等圆相切绘制")# x9 x; j5 n5 V# _& g8 Y  X( I
(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 )

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