QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3611|回复: 7
收起左侧

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑
* Y, K0 f; U5 S# Q* l# p) t7 u1 z/ l* q; k4 i
不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。8 s% R+ ^  ^9 @# k4 C7 H
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(
0 R2 H1 F+ W9 m3 o& Tdefun ggtt()
4 x+ X+ B  D" _( T( C! x- l) [* S(setvar "osmode" 256)
) N# D' L, L4 l* [; o+ g(getpoint"请选择点")" `3 p! M5 I+ C8 P* ~- F
)
! k& ^9 c- s  ^+ i  ]
4 g$ b5 E1 p6 G() C, e& \1 N3 v8 L+ V
defun c:c2(/ p1 p2 diameter radius)
2 o& h- r# a  W! P( B0 J% I(setq diameter (getreal"\n 输入直径"))
) L; @+ X1 \* \* K0 g* z(setq radius (* diameter 0.5))
4 o) \. C$ K3 o& a7 Y/ k8 D(command "circle" "t" (ggtt) (ggtt) radius)
" }6 s  U4 }) H
" S5 b2 c6 k# W/ l: i/ @)
2 H7 V& G( A4 d! _! q- y# \这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型
3 ~0 S0 g( ?& E6 d4 d( F;; For test only 5 T. D) j' o% p, n2 {- L$ l* B
(defun C:TTD ()% r. G2 v6 ^. f2 Z) b: w8 w
  (command "Circle" "TTR"
3 l) v/ f! s( @! F2 X+ Z    "tan" pause" m# ], M7 a1 m
    "tan" pause4 S  N* [) x+ L7 F) y( ]) F
    (/ (getdist ">> Diameter: ") 2)! [5 I6 A+ }3 Y/ [4 N4 R
  )9 L  M9 m! |9 A% |/ C3 r, z
)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()3 y" h% ^8 Q) o0 ?7 H' k8 P8 P
(setq baspt (getpoint "请求输入基准点: "))
  o9 g+ O1 }/ z4 F# j(setq rad (getdist baspt "\n请求输入小圆半径: "))
  M4 E  T+ \- [2 K/ k, `. E(setq num (getint "\n请求输入相切的小圆数量: "))9 Y8 O; g* h/ |1 g
(setq ang1 (/ (* pi 2) (* num 2))), S+ G: g% o* s
(setq kk (/ rad (sin ang1)))3 S; H, X0 P" l2 @- D6 _9 E/ _  r5 A
(setq ang2 (- (/ pi 2) ang1))" Z: r8 @- B4 |+ x$ `0 B
(setq cenpt (polar baspt ang2 kk))7 ?( L; f) R5 a1 [/ i, {
(command "circle" baspt rad)                               
$ Z) k% d* h  S0 V0 G! J% b- o, y. @2 _(command "array" (entlast) "" "p" cenpt num 360 "Y")! _4 j% C0 p: i7 X: U3 ^, X$ O
(princ)/ D: i! ^5 H3 s1 x
)8 K$ ^1 G4 l" }4 @3 q! ~
(prompt "\n << 5TEST2>>自动等圆相切绘制")
4 y$ W4 Z; D& `(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 )

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