QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 + {3 z& z1 p3 m$ `) D0 d3 }. ^2 @

" n& J4 ]+ r. b. u3 f" t不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。2 }0 J! |5 r: \( j3 k) V
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(' X# }! |( j9 |
defun ggtt()
% p$ i3 z3 t/ n0 T! R! }1 S, D(setvar "osmode" 256)$ [0 v1 Q- W" j3 _3 M8 s$ \/ D
(getpoint"请选择点")
# I! e: X8 [) k)
! g. n& W" w; Z/ w
; s' y, X' ~# I2 b(
: W0 h/ b1 h. h+ L: zdefun c:c2(/ p1 p2 diameter radius)1 [+ L( ]9 v2 P6 u1 U
(setq diameter (getreal"\n 输入直径"))
  Q8 j& r" B' Q; g' z(setq radius (* diameter 0.5))
  u* J; z0 Z$ b! V7 O(command "circle" "t" (ggtt) (ggtt) radius)
* N: x3 f$ B) U& ~1 _3 p  J7 M4 B; @% d7 A4 K1 [
)5 d- @. X! E) l5 m( i& F+ i
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型/ c. H4 |4 q1 I0 _7 t
;; For test only / D+ F2 o. q, B5 @" H2 i
(defun C:TTD ()" N# `7 t) D5 x+ R3 k" {/ ?4 K
  (command "Circle" "TTR"- i1 Y- C  L! }$ P% i
    "tan" pause; h- f9 [& }) `  }
    "tan" pause
/ W2 v% \2 i& v  r3 u* J    (/ (getdist ">> Diameter: ") 2)
) l" T% W% n- A% V, i# ~  )9 w, a" `" \( t2 x2 Y! L9 o7 E
)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()+ V8 O) s8 k% a" `* g/ M3 S
(setq baspt (getpoint "请求输入基准点: "))5 v9 W8 _6 Q% A! v
(setq rad (getdist baspt "\n请求输入小圆半径: "))- c1 [3 l3 h% }* S$ q5 _
(setq num (getint "\n请求输入相切的小圆数量: "))
3 I; |2 N( u' W(setq ang1 (/ (* pi 2) (* num 2)))  J# `0 m. u5 d4 {# c2 l6 J- o
(setq kk (/ rad (sin ang1)))1 w$ I7 A. K8 G. [& ~
(setq ang2 (- (/ pi 2) ang1))
5 _, B& L+ g1 f(setq cenpt (polar baspt ang2 kk))9 ?+ L4 K" C& a* n& x
(command "circle" baspt rad)                               
1 |6 l' [: D/ ]0 j2 K(command "array" (entlast) "" "p" cenpt num 360 "Y")
, b$ N; q' a. c6 Z7 }) `(princ)
$ n; b# [1 G- y& g)- J2 a: c1 Z5 f  P2 Z0 [
(prompt "\n << 5TEST2>>自动等圆相切绘制")
" j" F5 }# l( ~9 |# D8 O" }/ K(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 )

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