QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑
0 p$ A3 F, g/ g# @) x; e# {$ b' v
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。
! Q4 l4 t  x( K结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(
3 T3 j% n0 @% F! Q3 n, l, p% J/ j' Pdefun ggtt()6 W7 ~/ H5 G9 b% b9 f% z) [5 k8 }
(setvar "osmode" 256)) ]2 _# e- E% t- O! N2 ~5 i
(getpoint"请选择点")! M" ?0 P7 J1 X( _. @
)' p. F$ m6 z9 {
! \! y9 V+ \3 j& D' ]
(
- {! b  ]: m( u& n3 P1 Jdefun c:c2(/ p1 p2 diameter radius)
2 ]- E$ }8 q( W" k& t9 i( J(setq diameter (getreal"\n 输入直径"))* g/ h3 a9 C) i: }9 f
(setq radius (* diameter 0.5))" y1 b- p  Y1 G/ ?0 k3 I
(command "circle" "t" (ggtt) (ggtt) radius)4 i2 a# O4 @6 w$ F" t3 m
4 C* V+ |% s& Y% {
)! l9 w# ]8 v" \
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型  S* y: N4 L) _( P9 K
;; For test only
3 x7 b9 _% H. A(defun C:TTD ()
" E2 ]! N% j3 o# y  (command "Circle" "TTR"
" `: `* c3 S4 U: }    "tan" pause: k- _9 H$ u2 b8 j) N+ j% ~3 @8 j
    "tan" pause/ c) k+ @3 n# k' x' H5 _
    (/ (getdist ">> Diameter: ") 2)
( S+ |9 h& C4 s1 [  )
0 J) L0 m7 y, s5 r7 B)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
5 F& X; K0 z0 ~6 T4 j9 z(setq baspt (getpoint "请求输入基准点: "))
, x- T+ i1 @4 i(setq rad (getdist baspt "\n请求输入小圆半径: "))
  J* B1 X4 N* V(setq num (getint "\n请求输入相切的小圆数量: "))1 c& }* `. q, N4 c. |( l
(setq ang1 (/ (* pi 2) (* num 2)))% S8 f- |! q; b' _
(setq kk (/ rad (sin ang1)))$ ~$ ^5 G7 s! Y& E7 h
(setq ang2 (- (/ pi 2) ang1))/ i9 L2 {5 ^$ }( N' c
(setq cenpt (polar baspt ang2 kk))
, C" h; x# @% v: A(command "circle" baspt rad)                               
) l5 t: h. r" u, B7 H(command "array" (entlast) "" "p" cenpt num 360 "Y")9 r. A( R6 g7 u. }# u2 I
(princ)( a  a* d. p5 y$ T) F
)
* H4 s: f: A: `# k9 w, ?(prompt "\n << 5TEST2>>自动等圆相切绘制")  h" j% Y8 p1 a( 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 )

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