QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
9天前
查看: 3606|回复: 7
收起左侧

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 / o  @- O8 b' q7 T
) p; T) u2 Y) u1 b: Z
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。  k) a( i5 P+ Q' p' E" D
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(
: S7 E9 Y$ K* I+ j3 ?0 |defun ggtt()7 X+ p+ m5 i, o( b; h
(setvar "osmode" 256): T: v8 `# s+ I/ C4 k7 ~
(getpoint"请选择点")3 m) V, Y, S/ m/ V+ Y
)
; C+ g9 ?/ z$ w" y* g5 Q& g( x/ G# f
(: `! u8 N0 c4 t( o  K. y, @
defun c:c2(/ p1 p2 diameter radius)
/ V0 _3 [: M( g6 c. b8 D(setq diameter (getreal"\n 输入直径"))9 R0 c" ~1 y3 F5 ~# y
(setq radius (* diameter 0.5))
  W8 L" T( M, ?% n6 f- E- P- ]  O- U(command "circle" "t" (ggtt) (ggtt) radius)4 D" ]' |$ u; u) m; S6 `
2 g& P+ I6 |  u. d$ L+ _7 l! B9 q
)6 F( ^  u* K- f
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型$ X; x/ `6 H! h
;; For test only , ~3 Z; w5 D, P. z9 u( o0 s
(defun C:TTD ()2 y8 M+ |8 y" R' u8 d! C0 N
  (command "Circle" "TTR"
- W- o7 d) J; U2 L! h    "tan" pause# W2 @# F( t5 ?7 W4 M. _8 x
    "tan" pause" b- Y( L) a( v1 @7 y3 ^
    (/ (getdist ">> Diameter: ") 2)
' y/ t4 y/ O# m( @/ q  )
  o& d" }( h6 T, X)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
8 y% D# Y, q$ R(setq baspt (getpoint "请求输入基准点: "))0 D: y' i3 B# P- g1 b+ U0 }7 V+ O5 h7 o
(setq rad (getdist baspt "\n请求输入小圆半径: "))! D( R3 w8 \1 ?/ {, C  `( i  U
(setq num (getint "\n请求输入相切的小圆数量: "))
2 i  _  S7 G9 o; z4 Q(setq ang1 (/ (* pi 2) (* num 2)))
7 P' Q7 P  U% P7 e" q(setq kk (/ rad (sin ang1)))9 {5 U6 q5 ?8 R/ K: {) H1 R
(setq ang2 (- (/ pi 2) ang1))6 b& H/ w" B# r; j4 h
(setq cenpt (polar baspt ang2 kk))+ m1 U" N& `0 p, H1 K: G) u1 O
(command "circle" baspt rad)                                  s5 `2 N6 `5 K9 b5 x
(command "array" (entlast) "" "p" cenpt num 360 "Y")
( {9 B, Q0 @" Z4 Q! L/ c(princ)+ g1 J4 |5 ?7 e, {: l1 w! `2 y
)
9 M* O$ R- O5 E. r* Q(prompt "\n << 5TEST2>>自动等圆相切绘制"). U* m; l8 p0 d+ C
(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 )

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