QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
全站
goto3d 说: 在线网校新上线表哥同事(Mastercam2022)+虞为民版大(inventor2022)的最新课程,来围观吧!
2021-06-26
查看: 2194|回复: 4
收起左侧

[求助] 那位高人能帮忙把这些atuolisp程序改正一下

[复制链接]
发表于 2009-12-7 20:52:44 | 显示全部楼层 |阅读模式

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

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

x
1、        编写一个AutoLISP程序,在给定的两条线间通过输入倒角角度及倒角距离生成一个倒角。
0 q7 v1 i+ }2 P6 Y+ a8 i0 e, c(defun c:chamfer(/ d a) # U. Y$ q3 A$ y
(setvar“cmdecho”0)
- J4 a7 Q& U/ b# d5 Q% t(graphscr) " _$ C, k- I1 |% M8 e, `7 e
(setq d(getdist“\n Enter chamfer distance:"))
1 A1 t4 g8 Y/ u. w7 ?3 S(setq a(getangle“\n Enter chamfer angle:"))# Y% D1 G5 V+ i7 V$ s+ E
(setvar“chamfera”d)
! N1 f# V  q+ U6 G6 Q8 A(setvar“chamferb”( d(/sin a (cos a)))) # D; i. q( y4 ?  k, L9 q
(Command“chamfer”)
* D$ I' f7 h* l, d" P(setvar“cmdecho”l)
( V# I1 x" U3 ~: ^7 U: u(princ)8 t' s9 {  g1 f9 B" A' S$ a
)
$ X  }# ?  ~5 A! K; A& a
( s5 X) Q& u# U  c( H* N
; n% Z8 i2 y3 r8 V! `2、编写一个AutoLISP程序,在给定的两条线间通过输入倒角角度及倒角距离生成一个倒角。
/ h9 O( E  \" y8 G& G7 J(defun c:chamfer(/ d a) 5 o) C# t4 o) Q
(setvar“cmdecho”0)
* n: r' |5 ?. V) K! y1 I# ~(graphscr)
* ?& L$ r9 A% |* x5 o(setq d(getdist“\n Enter chamfer distance:"))
3 L& p4 l5 ~- N! Z(setq a(getangle“\n Enter chamfer angle:"))
6 n; i6 h' h& |% k(setvar“chamfera”d). ?* L8 }: f, s. m* ~4 p( w, K$ F
(setvar“chamferb”( d(/sin a (cos a))))
% N% W2 O" p8 b! _; ~(Command“chamfer”)
0 k# Y9 U! f4 R9 K2 Y: n1 b2 J: a, L(setvar“cmdecho”l)
4 c- r5 k) g: l3 n6 Y1 o(princ)
7 e7 _: `* c3 x6 e# @- v$ _" C)
/ f% \! a# C/ L6 U
1 {5 d  E( \  n4 n7 {3、编写一个AUtOLISP程序,生成一个带孔的法兰盘。程序还应提示用户输入该法兰盘的圆心、直径、孔径、孔数及起始角。& n7 k) b$ n; [. d
(defun c:bc1()
- X" y/ P) ~9 X" A. M(graphscr)* f: s* H; t8 {
(setvar“cmdecho"0)1 S& [$ ?4 D* H1 p
(setq cr(getpoint“\n Enter center of Bolt-Circle:"))5 Z/ \5 |  c8 p) o8 G: Z2 |/ j
(setq d(getdist“\n Dia of Bolt-Circle:”))2 a* ]: O9 [; @, M  x/ i1 T+ u
(setq n(getint“\n Number of holes In Bolt-Circle:"))
9 \& s4 V5 `3 b9 _' V(setq a(getangle“\n Enter start angle:”))7 L, ^+ v% }8 M' b6 X
(setq dh(getdist“\n Enter diameter of hole:”))- [" h3 ~; E/ z
(setq inc(/(* 2 pi)n))
0 c0 E" b$ m9 v; f1 W(setq ang 0); m, {) {4 L' Z2 x5 s: G* C7 @! J
(set r(/ dh 2))
7 J+ c: K* Y% C, f9 J8 w5 Q(While(< ang(* 2 pi))2 Z: N; E( ~; y5 E
(setq P1(Polar cr(+ a inc)(d 2)))
1 _, D, j7 U$ x8 c- m(command“circle” p1 r)7 D  {! O" `& O" _* A0 ?
(setq a(+ a inc))9 b# E2 H' V- G( ]
(setq ang(+ ang inc))
+ l+ E) e  t, i1 j2 e; B0 j' Q: j) m" I- a1 g0 K. F
(setvar“cmdecho” l): ~* h2 `# U/ ]4 p1 J7 C, h
(Princ)- E+ J, j! w8 i# _* y- a% f( M
2 b3 j2 ^& g0 x* I2 o; A/ a
) ?( }# Z! U+ a# w2 p! C* K
4、圆柱螺旋弹簧(压簧)是将一个圆沿着一条三维螺旋线拉伸得到的。通过编程绘制三维螺旋线,尺寸如下:弹簧直径:10;弹簧丝径:1;弹簧节距:2;弹簧长度:20;每圈段数:32。* F' v" j  c9 I9 N# Y
(defun c:spring()
% O9 |$ _0 f; w2 p1 b$ }/ E  (setq bp(getpoint"\n弹簧中心点:"))(princ)
1 ^7 @& N) K9 Q8 q, u. J  (setq dw(getreal"\n弹簧直径:"))(princ)
6 ?% |0 a+ b7 S- t8 I1 q  (setq d(getreal"\n弹簧丝径:"))(princ)
" a% I- i! N; q8 v0 Q  (setq pitch(getreal"\n弹簧节距:"))(princ)+ l, Y+ a, S" F+ k+ e" X
  (setq len(getreal"\n弹簧中长度:"))(princ). u" x( ^) [; S5 s, J4 k
  (setq n(getint"\n弹簧段数:"))(princ)
5 S5 V8 i9 X; G, D' L  (setq r(/ (- dw d) 2)). i! V: `( a& n0 F$ U3 d* l
   (setq m1(fix (* n 1.25))); [: f( z5 v: R1 n/ A6 q
  (setq m0(fix (* n (/ (- len (* d 2)) pitch))))
" U% h! P, R/ Z* E" f  (setq delta(/ (* 2.0 pi) n))
0 t8 v( ]0 t# Y) n  (setq j0(/ pitch n))
6 H1 Z- w+ Q% C9 k" h8 {  (setq j1(/ d n))+ g1 i9 z2 q4 c& n0 D) Y
  (setq bz(caddr bp))' H5 G: u/ m% M& ^# }* v
  (setq ang 0)
- A7 o7 S, n9 f  n  w# M  (setq jj 0)
1 P/ h0 @, }9 x: G8 j( [" v5 `9 p) y  (command "UCS" "o" bp)2 k  f' V# q; c1 W6 W% y, ^2 ?1 E
  (command "3dpoly" (list r 0 0))
0 B7 [8 \& {( m3 A) s( ]  (repeat m1
% Z4 q" {6 T$ {5 c; t  (setq jj(+ jj 1))" U0 G7 [: |: t
  (setq ang(+ delta ang)); U% `5 `. _6 G( a7 i
  (setq pt1(list (* r (cos ang)) (* r (sin ang)) (+ bz (* j1 jj))))" A, G$ d4 j9 }3 y% P4 J4 Y
  (command pt1)2 L; j  I" t. x& _# u1 C
    ). h* _$ g- s& y6 n2 a0 p6 {& C
  (setq bz(caddr pt1))
' O; r% U& L! T  (setq jj 0)
* p9 t3 E% T4 `" T   (repeat m0
8 {  Z. {& ]( N' a* S. j  (setq jj (+ jj 1))) B  X' J- b% W1 d5 M) q7 Z
  (setq ang(+ delta ang))  Y9 S+ [6 p- x. i  `
  (setq pt0(list (* r (cos ang)) (* r (sin ang)) (+ bz (* j0 jj))))
6 s' n  D0 W) m- N  (command pt0)) e3 A! J6 `! e: `# V3 S
  )
( _- b5 `: j' p    (setq bz(caddr pt0))& Y+ M; U# P8 \' L
  (setq jj 0)
! M$ X1 A' r/ G  (repeat m17 j. W. r  ]( u
  (setq jj(+ jj 1))
! `. B# S9 t) N6 H* O) e, y5 {  (setq ang(+ delta ang))
( f9 L# c+ h7 K% R# [+ Q  (setq pt2(list (* r (cos ang)) (* r (sin ang)) (+ bz (* j1 jj))))
( C, G% N: V! e. m: G7 T5 }! @1 v  (command pt2)) f! u* t9 n: n6 S! L5 s$ [( A
  )
3 ?% d0 F9 f2 F9 w/ C( I9 O  (command"")3 H- N0 y( _# `5 h# Q0 t4 z; q
  )
发表于 2009-12-7 22:34:43 | 显示全部楼层
此处也遇上?! S3 b) [- k. b, q1 z8 z- a
. p, b5 `# O- `9 a5 ^4 x
once more
. G" G7 a, ?' m5 ]The first one my be some thing like this" O2 a8 \( o) s/ w3 V0 S8 L$ O
$ w1 `1 x5 a. A; `; [
(defun c:chamfre (/ d a) % k/ q: d0 }* d
   (setvar "cmdecho" 0) ' {, O' f% Q# i  {$ `2 _
   (graphscr)
7 Q. t6 A+ v7 a9 C9 ]   (setq d (getdist "\nEnter chamfer distance: ")) ; S: Z  M. e( x/ I9 C8 P! ^0 O' C
   (setq a(getangle "\nEnter chamfer angle:"))
( d3 f& _/ o! V& W" a   (setvar "chamfera" d)% ^) N0 ]& l/ c) R8 ?
   (setvar "chamferb" (* d (/ (sin a) (cos a))))0 Z- d/ h. s) e" i% b" Y
   (setvar "cmdecho" 1); L9 ]. x0 g' M
   (Command "chamfer")4 ]; L9 ?3 n! p* g* G  ~6 O) m  s
   (while (= (logand (getvar "CmdActive") 1) 1) (command pause))' X- S; C8 P0 Y2 k* ~
   (setvar "cmdecho" 1)
+ j7 ~/ I! L- C4 C  q! T3 X- U   (princ)
6 f" e" e3 H' S, x7 r  D. N)
9 ?9 A4 O. b8 F9 f4 x
% D5 t9 f3 B! w) O* R6 c, n) ^3 |6 B( t. C* k; p
;;; =============================== test7 S  l" {% N/ V+ S  W
; P6 E6 S8 x' z& S. x1 T
Command: CHAMFRE
; m8 {5 D1 Q7 X! a2 Z" D
4 r- K% z7 |) G$ p3 z0 MEnter chamfer distance: 3
% q) z' x: S$ e5 o: i3 e+ b
) j$ D4 F1 ]# O: e* a" REnter chamfer angle:30
8 A% ?2 R) b% g. s2 M! F2 d: hchamfer6 I0 y- k9 }/ O* b8 P
(TRIM mode) Current chamfer Dist1 = 3.0000, Dist2 = 1.7321
3 X0 h& K' R3 aSelect first line or [Polyline/Distance/Angle/Trim/Method/mUltiple]:
+ @: n. S! J# u  N- LSelect second line:
" R: F# j- g& D3 ~Command:

评分

参与人数 1三维币 +5 收起 理由
woaishuijia + 5 应助

查看全部评分

 楼主| 发表于 2009-12-8 21:19:14 | 显示全部楼层

回复 2# SunVei 的帖子

能把后面的也改一下吗???????
/ `9 P' u. D4 Y谢谢~~~~~~~~~~
 楼主| 发表于 2009-12-8 21:24:45 | 显示全部楼层
高人们帮帮忙把   小生不胜感激  谢谢
发表于 2009-12-9 08:33:33 | 显示全部楼层
Ref grab:
: z; h* G9 M' {( H' {0 K3 W绘制法兰盘lisp
4 N/ q; x% n! w0 @http://www.google.com/search?as_ ... ts=&safe=images
3 B6 k: I9 a6 u9 z3 c! a4 Q/ L  y/ r4 {8 [. H8 Q  A7 U- o
圆柱螺旋弹簧1 i( |" a4 {7 s6 l3 U. G
http://www.google.com/search?hl= ... r=&aq=f&oq=
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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