QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 ! o& v# ^8 \+ s  A
  R7 |3 g$ N# o  Q$ I5 S5 x
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。* U& M, {% q8 F3 b% K  T) k
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(
% O$ i; w& r( q( }3 B8 f+ c6 p0 rdefun ggtt()
  p% w! K; i, B+ r/ W& ^4 H  t(setvar "osmode" 256)
, e. ^5 k7 Y) i2 W: U" ^2 P- Y, k(getpoint"请选择点")
* A7 l" e( W  |: H9 e)
+ d0 C# i8 H4 v5 s
( M2 ?' Z( j4 A+ [8 B(: D- @' E' M; b' I) f. _7 a8 Y
defun c:c2(/ p1 p2 diameter radius)
, N) f0 S& J/ G; O5 \" U, F& W(setq diameter (getreal"\n 输入直径")), q, a- I3 i0 Q) k, @* ~) C+ A
(setq radius (* diameter 0.5))& v( a3 i, G/ A# @& E4 M
(command "circle" "t" (ggtt) (ggtt) radius)
' ^3 T/ c  m! K& F
: ~/ o$ k" y- S! R/ K3 S( b)
2 i7 j0 z. Y* [" E这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型/ Z5 i3 O" i3 T  v( H9 d' Z3 S: m6 m
;; For test only 2 e% E( ^$ L0 w1 e' P1 b" U0 H5 X0 j
(defun C:TTD ()' M' e$ X( s+ |1 U3 K) y$ n' c8 B
  (command "Circle" "TTR"
0 n( [) U5 p6 ?. H9 {& m    "tan" pause
9 F) F* C/ Y. x% }8 H5 j' R    "tan" pause
: p8 L5 `6 C" H7 W- T! O( f    (/ (getdist ">> Diameter: ") 2)9 Y: q3 K- b5 q- }7 {
  )0 c) y& x/ K2 ]% ^* c4 W
)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
2 B5 k' J$ i3 O(setq baspt (getpoint "请求输入基准点: "))
8 Z+ p5 a: R0 e(setq rad (getdist baspt "\n请求输入小圆半径: "))* f% z$ `0 ~$ f  X
(setq num (getint "\n请求输入相切的小圆数量: "))4 M$ [2 J" s' A% U6 g
(setq ang1 (/ (* pi 2) (* num 2)))
3 @4 J! n# a6 i, M(setq kk (/ rad (sin ang1)))/ Q  S- k+ S' }& E2 [$ ^$ ~% c
(setq ang2 (- (/ pi 2) ang1))
! o6 x9 ?8 X- X' \7 ?(setq cenpt (polar baspt ang2 kk))+ G8 N9 R7 k) d# T8 @5 y' x3 f
(command "circle" baspt rad)                               
3 g4 v% k$ [2 t( C( x(command "array" (entlast) "" "p" cenpt num 360 "Y")
/ N3 S: S# t8 b8 e# u(princ)
- x' C+ N) X% Q  J  \/ e. r)7 f5 }6 e) u5 t
(prompt "\n << 5TEST2>>自动等圆相切绘制")
9 \: X) j7 V% z$ \4 a(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 )

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