QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑
2 j1 |7 c$ E1 r- S8 E4 H+ J: Q8 I) S) H
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。; F& v# a6 ?) u) x; w7 h( |* P
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(" X, U7 X( u$ ^
defun ggtt()" \  v! j- C# H  v  U/ u: |6 q
(setvar "osmode" 256)
0 `1 X& A( X- E" ?( m(getpoint"请选择点")
  k1 H/ B. o9 X1 o)
& _9 V! V7 B5 R5 K; d2 b
& z- {6 W; N$ E5 X8 J! U% @(
8 c. f. e# ]/ e6 K' Y/ m# Gdefun c:c2(/ p1 p2 diameter radius)$ F& ^2 n- V$ j" ~3 R
(setq diameter (getreal"\n 输入直径")); d. q5 P/ c  A
(setq radius (* diameter 0.5)), T: j- u( A- E" V% N/ i4 @
(command "circle" "t" (ggtt) (ggtt) radius)
' F* _' P9 b+ K: z$ Y1 g( p. v
)
1 }' X# i7 ]5 f1 E3 M- I8 G: x这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型0 \- r0 p; Q+ _# M, G
;; For test only
0 w4 E; i# z' [7 E/ K4 t+ ](defun C:TTD ()
! V4 e7 z0 L, v- i9 Z  (command "Circle" "TTR"
  n( M5 D3 C2 G: ~& }6 |3 X/ J    "tan" pause
  o7 Q" W8 N( }0 z) ?6 ^    "tan" pause
  C# I0 `) f: B6 f% |    (/ (getdist ">> Diameter: ") 2): o) x& x" ?# {$ c( s! F2 J
  )
0 u/ e! z' ]$ v)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()3 M$ s6 Z' d) h& U
(setq baspt (getpoint "请求输入基准点: "))$ U6 E6 [$ [0 l* c# J
(setq rad (getdist baspt "\n请求输入小圆半径: "))
% \( p, R# P# P. ](setq num (getint "\n请求输入相切的小圆数量: "))! n* n8 E$ m4 C6 T1 [5 e
(setq ang1 (/ (* pi 2) (* num 2)))
$ i: E8 q7 ?, X! d; @0 l(setq kk (/ rad (sin ang1)))' K3 J( \- k* R+ G
(setq ang2 (- (/ pi 2) ang1))
! g3 _  x" T- z- q! S(setq cenpt (polar baspt ang2 kk))
) L7 C. @3 }. [(command "circle" baspt rad)                               
5 G% h: m; @3 t3 E3 d* v8 `(command "array" (entlast) "" "p" cenpt num 360 "Y")- D6 R& }* p+ |( _1 C/ {
(princ)
! |; T, V0 k" d6 |% v)
1 p5 i7 w+ V5 b1 Q5 m6 m(prompt "\n << 5TEST2>>自动等圆相切绘制")# T' E" @3 d! s
(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 )

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