QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 3550|回复: 7
收起左侧

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 . Z# d2 r1 w* A

' R+ g) K# N1 m" @( s$ v不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。
, e! f9 ^8 q- C( x5 ~  L结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(1 o- E+ J* V! U& B
defun ggtt()
- ^2 e4 M7 n1 ](setvar "osmode" 256); `! x* ]/ a' s' H) @7 N
(getpoint"请选择点")2 ?0 b2 q, p  r
)
* C" Y# B# Q, ^4 N, n5 M# J0 c3 m5 T8 }+ s6 ^0 O3 _
(/ Y& }, @2 r" }; U) P; a) J( ?
defun c:c2(/ p1 p2 diameter radius)
4 g9 J2 @+ M8 }* \(setq diameter (getreal"\n 输入直径"))
) Z% A4 ]; u! W9 x8 _(setq radius (* diameter 0.5))
  j6 C4 q* X# g1 e  W( Z3 Z5 E! ](command "circle" "t" (ggtt) (ggtt) radius)( z4 ?( W6 X4 W3 f5 J

5 V8 A. d. o9 P- [5 S) v( A$ ^). ~: s5 X" W7 r. {9 C, ~" o& I
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型
' [( j" _% U" h2 d( Y) x;; For test only ' @" E" p6 K* F- ]
(defun C:TTD ()
1 v) ?& ]1 a4 X! f  (command "Circle" "TTR"
2 W/ P: N, d% _) z, M$ p    "tan" pause$ E$ Z. m8 `, W4 P: E
    "tan" pause  b. g/ }: c* H2 k
    (/ (getdist ">> Diameter: ") 2)( z9 D" N2 B& B% @1 r) Q
  )
% Y: U7 c6 @" v5 x) p/ F)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
" h: c$ |8 ]. j( X# v/ ^% N. ?6 @(setq baspt (getpoint "请求输入基准点: "))$ ^) d* {- [( U! n. K) p5 a
(setq rad (getdist baspt "\n请求输入小圆半径: "))
% P4 }% X; I/ E% ^$ G(setq num (getint "\n请求输入相切的小圆数量: ")): U( ^9 _* M) r
(setq ang1 (/ (* pi 2) (* num 2)))# D. h  V) \$ n; k' R! C
(setq kk (/ rad (sin ang1)))9 H: _4 L& ~2 T$ Z) v
(setq ang2 (- (/ pi 2) ang1))5 k. @1 ]" H. z+ n) L
(setq cenpt (polar baspt ang2 kk))7 D0 P, A/ D* y$ r* r9 c" `$ \6 Q
(command "circle" baspt rad)                               
, h0 o4 Z  T/ K# a- h% c(command "array" (entlast) "" "p" cenpt num 360 "Y")
5 S! J. e' G  f(princ)
; v' y- h$ E- f/ b( @* \( ]). d  ?/ L. y& n9 x
(prompt "\n << 5TEST2>>自动等圆相切绘制")* C  w! d& O) v: l7 Q4 |3 T$ s1 W
(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 )

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