QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑 6 S) w, t' ]/ @/ d2 e; ^1 L# `9 Q

1 L: C* ^2 N: t不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。
. C1 p+ r4 Q0 p5 t结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(
8 E$ V: C& F4 y- Bdefun ggtt()) r5 f3 A& t8 P: ^& V, h+ [
(setvar "osmode" 256)# z: D7 z. F: U5 ^8 G
(getpoint"请选择点")+ g1 J0 I; k: L0 p* t! d
)4 P" N  ]$ F% I3 a
" R+ }; [- }7 h; e+ o
(, t: t5 u! [8 Z! S' J4 u: q
defun c:c2(/ p1 p2 diameter radius)  Q8 H) ]+ B3 J/ _  k" B
(setq diameter (getreal"\n 输入直径"))
9 `' x# p: A; s+ ^(setq radius (* diameter 0.5))0 _$ P7 `" `3 X& A7 Q
(command "circle" "t" (ggtt) (ggtt) radius)* @. s) ~" @% _2 b
2 P  @& ~+ p. y  L! s. n
)# [/ o: g9 L/ z
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型
3 A7 e+ f: G0 N;; For test only 1 I3 L1 d' N& v, b' E
(defun C:TTD ()" V5 }# Q% y3 _( ]* }6 r
  (command "Circle" "TTR"
8 ?5 O6 O1 e) V    "tan" pause# d2 X, c: f4 I
    "tan" pause! F1 e; u* ?3 R$ v
    (/ (getdist ">> Diameter: ") 2)
: J8 C9 o1 Z* I' C$ @  )* i9 V  |. z2 `* c
)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
- ^/ P' L2 S3 H5 G; K$ I8 B; G(setq baspt (getpoint "请求输入基准点: "))
8 e& ?0 m8 D& C" w# Q(setq rad (getdist baspt "\n请求输入小圆半径: "))
8 j, t; c7 c0 m1 `- Z$ v' w(setq num (getint "\n请求输入相切的小圆数量: "))
9 x7 i- a$ J: k2 R& A7 ~2 d(setq ang1 (/ (* pi 2) (* num 2)))
  j" b; h$ z! ^1 U: Z+ H# I7 E(setq kk (/ rad (sin ang1)))
  O. X, [/ N! J: [4 }(setq ang2 (- (/ pi 2) ang1))* m+ B- @$ {; [
(setq cenpt (polar baspt ang2 kk))
, L( ^8 `6 a& V: h! d6 g* r(command "circle" baspt rad)                               
! I& b, q! u+ i: D. h(command "array" (entlast) "" "p" cenpt num 360 "Y")
# r) N1 \9 ~$ b8 {' Q/ p(princ)
$ I$ n, f' q* p  [2 P3 x5 s! X$ |( E)
$ {  G. d$ R. Q4 C(prompt "\n << 5TEST2>>自动等圆相切绘制")
: o. F, Z+ f4 ?( U(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 )

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