QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3659|回复: 7
收起左侧

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 ) U; P1 Y" B( N  ?; F: b7 z

( `* }) u* t: f2 j9 g4 c/ M* y不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。
, I3 L  h+ \$ e- g% m! h结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(1 y' V0 P) E2 _, _
defun ggtt()
* t, S. j$ n8 _1 @(setvar "osmode" 256)
6 ~5 y* y1 Z, a* [(getpoint"请选择点")
$ G/ Y% N% J3 }& R): l2 |/ i" G, E; k2 ~" }* u8 C

9 r% n! u$ }# L; F  O(
! }$ J* G7 i- o/ D% y; Jdefun c:c2(/ p1 p2 diameter radius)% c# D9 y- j! p# c4 ^  k
(setq diameter (getreal"\n 输入直径")); P' O4 O( F; {  E1 d% f7 d
(setq radius (* diameter 0.5))
+ ^6 D" E6 p+ O3 N(command "circle" "t" (ggtt) (ggtt) radius)- v+ c3 l7 |# }. \1 v

( [2 E. s" P* H) B)
& g7 d( a. x9 l. f, l& u( n% B这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型! ~* A) g6 }4 K" G/ _
;; For test only
, P# g7 B: Y6 S; H2 W( H(defun C:TTD ()
. v- C2 P: e# T. o1 U  (command "Circle" "TTR"1 ?7 G% O0 `: }0 E4 A2 v
    "tan" pause" Z$ \& m4 D3 P" Q% M. o0 g
    "tan" pause
1 x# t8 q0 m* t5 _; A2 J' A; p    (/ (getdist ">> Diameter: ") 2)3 G% M- J2 c8 W! E4 C
  )
  l6 j2 ^  n5 [)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
. I' [: L! A( {( l4 ?4 ^(setq baspt (getpoint "请求输入基准点: "))
" W6 \; O* f6 J; Q6 E. M(setq rad (getdist baspt "\n请求输入小圆半径: ")), M1 ?* ~) f7 c4 M1 j/ p  I1 [
(setq num (getint "\n请求输入相切的小圆数量: "))
8 g( C/ T6 ?9 G& o6 N8 S' T3 i(setq ang1 (/ (* pi 2) (* num 2)))1 @  L/ A. {& B7 O) K$ I
(setq kk (/ rad (sin ang1))); I: Y7 n* x) L, ]4 A
(setq ang2 (- (/ pi 2) ang1))8 B4 K* n* m2 e% p, O
(setq cenpt (polar baspt ang2 kk))* o8 x" v' M2 Y, e
(command "circle" baspt rad)                                0 A" G. p4 X  e! [+ H) `1 ~# ]% W; V
(command "array" (entlast) "" "p" cenpt num 360 "Y")
- p- Y# L# P1 h0 a(princ)
2 h# R& ~6 r% r& {" ~% ]0 l0 f)3 S9 f9 v4 {- y8 L
(prompt "\n << 5TEST2>>自动等圆相切绘制")5 V4 H. v1 J9 Z* O& r0 Y
(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 )

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