QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 ! r. h3 f+ t9 `

$ F5 l1 j) L" \+ L1 t: o不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。7 Y2 M) r  t. h' w* x! [4 d
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(
* n5 B' d+ t3 l/ zdefun ggtt()
2 f+ l  ]! @" a$ b# U(setvar "osmode" 256)$ L4 g" j& o9 S+ y9 y* e' K
(getpoint"请选择点")2 u1 f: A9 z: {2 |% A
)
9 Y1 h( {3 f" p; e* L3 n
. n( b' f& u# q0 u+ b: ?; a# q7 k* |(  [8 \- h9 L  A' a
defun c:c2(/ p1 p2 diameter radius)2 w' I4 D1 S0 `( U; X- ^
(setq diameter (getreal"\n 输入直径"))6 I" W6 w$ X5 ^8 S3 o6 F
(setq radius (* diameter 0.5)): X' q' l$ W# z- X. m6 Q$ Q7 ?
(command "circle" "t" (ggtt) (ggtt) radius)
, Y% p& n  Y5 @4 d; D( f+ r; s- Z+ `7 C4 S2 F
)
  w' I) p8 }( q. P; D这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型3 x* Q, n  t( n5 ?
;; For test only / [, G7 l2 C' s% E$ i; P  p7 e. m
(defun C:TTD ()
5 g0 n3 Y2 m0 f9 w  (command "Circle" "TTR"
( Y% u2 }9 l4 t    "tan" pause
) r: K7 m# p: C8 ?/ u    "tan" pause
0 d( x& g! _+ d" L' |3 f9 z    (/ (getdist ">> Diameter: ") 2)
( ~2 [; ]' Z) T: M, u% A9 U  )1 _' Q* u2 m1 [5 M& F
)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()/ k) o1 E7 q2 d2 g0 E3 U
(setq baspt (getpoint "请求输入基准点: "))$ m5 s7 o( s! T5 L2 u* \8 |; p
(setq rad (getdist baspt "\n请求输入小圆半径: "))
/ e! i+ \- D- {(setq num (getint "\n请求输入相切的小圆数量: "))
4 [/ B6 B% W; L) p) Q  O, ]3 k6 ~(setq ang1 (/ (* pi 2) (* num 2)))
- b( r+ \; ^& R, o* t(setq kk (/ rad (sin ang1)))) [% [4 q! P* v7 O/ t% _
(setq ang2 (- (/ pi 2) ang1))( s  W6 K! j9 V& N2 W8 q
(setq cenpt (polar baspt ang2 kk))
; P( W3 k* M  Z: [% K$ L(command "circle" baspt rad)                               
1 k; D3 n) L5 I3 n7 k, a9 u# ^(command "array" (entlast) "" "p" cenpt num 360 "Y")( _& Y. k" [' q- M, r: _
(princ)5 P. F6 l6 D, Q
)$ V' [. T6 V1 ~8 o
(prompt "\n << 5TEST2>>自动等圆相切绘制")
; r7 O; t, {  _% g+ l9 T0 V6 f(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 )

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