QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 % ^8 l$ s8 Q& }: I5 e# a
3 E+ A  G# H- M6 d. ^
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。
; C7 D' P9 e9 z9 u; k2 S  i结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(2 w: W$ ?2 o- C5 F' `" \8 T! F  r
defun ggtt()
* y" d: [5 g4 @(setvar "osmode" 256)9 u9 D& I7 I% _8 b
(getpoint"请选择点")  v0 F( y% v; c. j9 P# N" E
)
! g# ?2 D4 |- G
& r2 q. d) {  d& s# e(! W" F6 B4 u; z* \9 u
defun c:c2(/ p1 p2 diameter radius). a5 T) i: {7 l, b$ Q4 a
(setq diameter (getreal"\n 输入直径"))
& n* B+ k6 \, \# y(setq radius (* diameter 0.5))
( i7 n8 q% H3 l4 M7 J. E% ?/ s  A(command "circle" "t" (ggtt) (ggtt) radius)
9 k1 e5 Y3 o  f! `5 e* [! T4 Z  j: n
)
" n% Y% K0 M7 _这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型
% R: X" a, n- m;; For test only
" H. X7 }7 s9 _( ^1 @(defun C:TTD ()3 m. R. Q: X$ \8 r) e7 a; {
  (command "Circle" "TTR"" ^  s: V1 u$ A; G* x3 J5 g
    "tan" pause0 f  O3 D) z# C+ i* n
    "tan" pause
( x3 g' W2 |7 o. ]* R9 M# J# p    (/ (getdist ">> Diameter: ") 2)
0 F6 w7 Z8 O& A. Y" x; ~. y  )5 Y) f  P' ]6 P
)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()- X! n0 _' d7 n
(setq baspt (getpoint "请求输入基准点: "))
4 B! D) Z) o" T) B8 O6 M7 H* V(setq rad (getdist baspt "\n请求输入小圆半径: "))
  L( G% M1 q  A. F/ ~+ {4 m# x# X(setq num (getint "\n请求输入相切的小圆数量: "))
, U' p  z! f  n* J7 t(setq ang1 (/ (* pi 2) (* num 2)))8 I1 t2 G# y' g
(setq kk (/ rad (sin ang1)))" B. y: w1 b8 o6 Q/ k/ N6 S2 {
(setq ang2 (- (/ pi 2) ang1))8 a% F/ G4 S- ~$ g1 c0 e
(setq cenpt (polar baspt ang2 kk))
: S* m7 D5 k# L% ~2 S(command "circle" baspt rad)                                8 J4 m2 T: R, B2 `% M# F1 e
(command "array" (entlast) "" "p" cenpt num 360 "Y"); @- r2 I' A2 Y, B  F! Y3 P
(princ)5 p0 ?9 ~- ~4 L6 L9 v4 s9 V0 C4 b
)6 y6 X9 [1 ~# k+ Z* Q* k5 ^+ l
(prompt "\n << 5TEST2>>自动等圆相切绘制")8 I* h  N0 X- U5 t+ m0 O0 N0 u( F1 }
(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 )

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