QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 3602|回复: 7
收起左侧

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑
1 e" |0 ?& j' P8 P9 f
$ T/ ^* s3 `( |% L. l不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。
3 ~+ T4 g8 a8 V. o1 m; s# Z/ o) {2 Z& \" m结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(" h( y  z6 f( Y
defun ggtt()
& l, ]# X) e- g$ v(setvar "osmode" 256)& L# ~" W8 s& c# g) ^" L
(getpoint"请选择点")
5 c7 e4 j- f5 J6 K)8 [7 s" T$ J: R) V3 L: g3 T

" c/ Y$ N% Q5 t* ]8 o6 c(
, f* a- g0 j' o! W: odefun c:c2(/ p1 p2 diameter radius)+ G! b) ^, F- y% ]. G; R3 r+ h
(setq diameter (getreal"\n 输入直径"))
1 @; N- `1 Z% v/ Y) A, `4 [(setq radius (* diameter 0.5))
; e" e( k- t3 q3 m) A# `# z# ~(command "circle" "t" (ggtt) (ggtt) radius)
- f6 d+ K: h$ k8 h6 g5 K  W1 ~: z2 N7 D1 T7 N+ q! Q+ y
)* W, n1 q2 U- D/ l) b8 M
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型  g9 N& [2 c# G/ T1 V# `# L
;; For test only ! n$ j, o# m( a, x  e* e+ {; J( r
(defun C:TTD ()
6 |# F" \/ o; M& i. y2 s  (command "Circle" "TTR"
  I) H7 X, p2 X0 P    "tan" pause
( q3 {0 [* i1 ?: w3 R    "tan" pause7 J  W) @& j. W. ^
    (/ (getdist ">> Diameter: ") 2)3 ?/ u. C; M+ c/ w0 g' u. b" B, K
  )
1 z8 B3 L' x# o, R: {! F)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()& t) F" V5 ]- o: l
(setq baspt (getpoint "请求输入基准点: "))
* y+ K3 n1 _' }5 o(setq rad (getdist baspt "\n请求输入小圆半径: "))( c' a, z% t* {2 y$ g5 s
(setq num (getint "\n请求输入相切的小圆数量: "))) w* \( G. \; k/ q
(setq ang1 (/ (* pi 2) (* num 2))), H$ A1 m* j; w% G
(setq kk (/ rad (sin ang1)))
* }  A1 \5 S- v* d( _' `(setq ang2 (- (/ pi 2) ang1))
& M+ K' z4 m( N/ k(setq cenpt (polar baspt ang2 kk))
& J' Y: x3 n" l& U* }+ x(command "circle" baspt rad)                                $ \" d0 q% Q' u/ D6 e
(command "array" (entlast) "" "p" cenpt num 360 "Y")
  `- u8 ^+ y" t: O(princ)
/ u8 g/ E! y  d, X)/ L; @" a% m" x- O! u" [
(prompt "\n << 5TEST2>>自动等圆相切绘制"). `* `& p. O- v% W( W1 ?
(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 )

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