QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 ljpfeng2004 于 2010-10-16 16:17 编辑
/ D; S# t' q: i4 L1 t! g
$ }: Q, Q5 S. i, {不是相切相切半径的方式,因为输入半径很多时候不方便,需要计算。但我捣鼓了半天也弄不好,getpoint方式画不出来的,请高手赐教代码。! S1 S3 x4 Q$ x
结贴,很好的lisp,感谢sunvei老师了。
发表于 2010-10-16 08:07:17 | 显示全部楼层 来自: 中国广东东莞
 楼主| 发表于 2010-10-16 09:22:37 | 显示全部楼层 来自: 中国山东青岛
都是我的ID,晕了。我就要lisp不要无关的答案,谢谢。
 楼主| 发表于 2010-10-16 11:09:25 | 显示全部楼层 来自: 中国山东青岛
(- S) L+ C" I$ ]. i) q$ `
defun ggtt()( n7 c0 X% _- `# U; A# k
(setvar "osmode" 256)4 v# j3 P$ O& p0 x- B0 |4 ]& m# g$ f
(getpoint"请选择点")/ u$ r' X5 ?7 h( H( G( f8 p
)" @: ?* Z. X0 T! [1 o
2 L& r' g2 L5 U6 c) n1 m
(- b2 X; F* n* A$ \0 M; X
defun c:c2(/ p1 p2 diameter radius)0 q" S3 y2 B( R2 h/ }" E" ]3 h! R
(setq diameter (getreal"\n 输入直径"))7 w1 D( X) s5 W% G
(setq radius (* diameter 0.5))  b7 ]2 h& z9 A) \! _: U
(command "circle" "t" (ggtt) (ggtt) radius)2 v3 f3 c5 f1 D
' u0 e  F' I6 T$ r% l! ~
)4 d3 G' C7 h9 O7 ]% l: \3 r
这个是我自己鼓捣的代码,不行啊。郁闷。高手帮忙吧。求助中。。。。。。
发表于 2010-10-16 11:41:57 | 显示全部楼层 来自: 中国台湾
;; 简单的雏型
- h$ v& v) d. X;; For test only
  ]3 m, q7 p7 G(defun C:TTD ()% {3 ~; d% G8 f: D
  (command "Circle" "TTR"; [- o+ F0 p1 v# A1 A5 s
    "tan" pause* g8 H: [# M* R! `# g
    "tan" pause
$ ^( S0 |9 ?2 o# v2 W/ }; R    (/ (getdist ">> Diameter: ") 2). n, @$ m* ]8 B& K: g0 x" [# `
  )
* L; `7 j" W+ t8 L: C9 _)
 楼主| 发表于 2010-10-16 13:36:10 | 显示全部楼层 来自: 中国山东青岛
老大,您是高手啊。佩服,有不明白的地方,"TTR"难道是02版本之前提示参数吗?另外“tan”也是参数吗?菜鸟一个,请您不吝赐教了。
发表于 2011-6-9 14:05:01 | 显示全部楼层 来自: 中国安徽合肥
(defun c:ttt()
) ~2 u7 y$ `+ v/ ^(setq baspt (getpoint "请求输入基准点: "))# @7 h. d( R8 x: \, u5 w
(setq rad (getdist baspt "\n请求输入小圆半径: ")). I5 x9 X6 f6 N8 h7 f$ [
(setq num (getint "\n请求输入相切的小圆数量: "))
/ j9 T6 d6 A' O- N5 Z0 g9 O(setq ang1 (/ (* pi 2) (* num 2)))
* H- [5 ]2 j. E% Q( d, G(setq kk (/ rad (sin ang1)))2 z0 ~. N0 e: p) W& M( j! z* P% Q
(setq ang2 (- (/ pi 2) ang1))
8 E9 e; c* u* x5 c& ^! w7 m(setq cenpt (polar baspt ang2 kk))
; _* W% x; e& c7 ~3 H' }(command "circle" baspt rad)                               
/ `# t( x* A0 p(command "array" (entlast) "" "p" cenpt num 360 "Y")
5 ?- K, ?2 v2 E6 n, k(princ)
1 O- r* L" W  j9 ?* d8 Z9 T9 L: C)9 M6 G2 s5 q6 d; C: ?( ~
(prompt "\n << 5TEST2>>自动等圆相切绘制"). U8 W4 J; b/ {( 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 )

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