QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 3054|回复: 8
收起左侧

[已答复] lisp语言新手 求高手救助~~~~~~~~~~~~~~~~~~

[复制链接]
发表于 2013-1-26 20:38:45 | 显示全部楼层 |阅读模式 来自: 中国江苏无锡

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

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

x
(defun tk (n  /  l  w  a  c)9 f! e& l+ p4 t. r0 G
  (cond ((= n 5) (setq l 210 w 148 a 25 c 5)): u& x2 a* u8 D! }- ^
        ((= n 4) (setq l 297 w 210 a 25 c 5))
( K1 S7 y0 x" L4 F- k& E        ((= n 3) (setq l 420 w 297 a 25 c 5))& q: x1 Y. U, ~0 g0 i" p
        ((= n 2) (setq l 594 w 420 a 25 c 10))9 I. X' x; u  g; o4 t- ^
        ((= n 1) (setq l 841 w 594 a 25 c 10))% V2 v$ u9 W! |+ ^
        ((= n 0) (setq l 1189 w 841 a 25 c 10))
5 X5 n  g3 R; O0 s6 h% P        );cond. r6 {, F( c2 W8 n+ v8 {7 L$ ~5 |
  (command "rectangle" "0,0" (list l w))% ]& Y7 @, P/ H2 B
  (command "rectangle" (list a c) (list (- l c) (- w c)))
% A# p, a/ H6 _: j% K);end
* |* s/ v% X6 H$ o. ]+ ^8 T% p: z" L" _/ D# Y& d7 |
为什么在控制台里运行的时候老是说no function definition?再简单的程序也是
! c* \. U! z0 o  X1 L
发表于 2013-1-26 23:41:07 | 显示全部楼层 来自: 中国辽宁
本帖最后由 woaishuijia 于 2013-1-26 23:48 编辑
8 E: v/ x& @( @/ D! F" D" V9 u4 r; H5 m1 |. g
运行自定义函数之前必须保证该函数已被加载, N" a# g; s( n8 ?: s1 f* J
如果在"Visual LISP 编辑器"的代码窗口中加载,到"Visual LISP 编辑器"的"工具"菜单下面点击"加载选定代码"或"加载编辑器中的文字"
7 b7 Y5 ?% u/ f$ w0 t3 L4 U6 y如果从现有的LSP文件中加载,在CAD命令行键入"appload"命令或到图形界面的"工具"菜单下面点击"加载应用程序"
 楼主| 发表于 2013-1-27 20:07:54 | 显示全部楼层 来自: 中国天津
woaishuijia 发表于 2013-1-26 23:41 static/image/common/back.gif* M" \9 H& C( ?. }) r7 ~# l- B
运行自定义函数之前必须保证该函数已被加载% Y7 X6 x* M" l  }; m3 P& K+ E" A
如果在"Visual LISP 编辑器"的代码窗口中加载,到"Visual LISP  ...

- h! n/ E* \+ E感谢版主
 楼主| 发表于 2013-1-27 21:58:59 | 显示全部楼层 来自: 中国浙江宁波
本帖最后由 woaishuijia 于 2013-1-28 06:00 编辑 $ s- N6 J0 `$ D1 `, ]; a1 \
woaishuijia 发表于 2013-1-26 23:41 http://www.3dportal.cn/discuz/static/image/common/back.gif  w* f+ q- X# b5 m3 A
运行自定义函数之前必须保证该函数已被加载2 f  z$ X  e% U; m" m
如果在"Visual LISP 编辑器"的代码窗口中加载,到"Visual LISP  ...

& ]% K0 e- K" F; F3 M, e2 C
( j& E- p) o) T0 B(defun tk()+ B$ d' v% ?8 C  N' O
(setq n(getreal"图号:" ))
  `% F3 V7 m: O) f' i0 O" ](cond ((= n 4) (setq l 297 w 210 a 25 c 5))
; K* @$ ?& P/ c- g) `# ]      ((= n 3) (setq l 420 w 297 a 25 c 5))6 z' D! N5 _7 r5 {2 x; b
      ((= n 2) (setq l 594 w 420 a 25 c 10))
. X' m# P+ }( E      ((= n 1) (setq l 841 w 594 a 25 c 10))
+ Q  B/ A( I* ~4 G$ x" q1 F( }      ((= n 0) (setq l 1189 w 841 a 25 c 10))2 v0 q  i/ z$ F8 j/ b. x. o
);cond2 a( @# @) p  T$ B% ^( C1 ?
(setq pt0(getpoint"\n基点:" ))0 B, `! N% o8 ]# `# g1 a2 t
(setq x(car pt0) y (cadr pt0))
7 ?- o5 T, V3 j! z(command "rectang" (list x y) (list (+ x l) (+ y w)))
5 [% }1 a8 F' U, L$ l& b6 R(command "rectang" (list (+ x a) (+ y c)) (list (-(+ x l) c) (-(+ y w) c)))0 b1 Z7 ?2 J, @: [4 H1 Z# N' Q& N
);end
6 u3 \/ _: ^. Y! t& C" y& v版主再帮我看一下这个程序为什么画出来是两个重合的图框?谢谢了
 楼主| 发表于 2013-1-27 22:00:41 | 显示全部楼层 来自: 中国北京
括号变成表情了。。。
发表于 2013-1-28 06:13:53 | 显示全部楼层 来自: 中国辽宁
dreamMore10 发表于 2013-1-27 21:58 static/image/common/back.gif
( M- L1 P" B; I8 h0 ^(defun tk()8 v/ O3 |/ v% O
(setq n(getreal"图号:" ))& o( d+ ^# h" K$ R3 ?5 i* o# U8 v
(cond ((= n 4) (setq l 297 w 210 a 25 c 5))
: y; Q* m! d2 ]. A- a
是对象捕捉在捣乱# k- [- g1 F  n! P, w
LSP程序中通常要临时关闭对象捕捉
  1. (defun tk (/ n l w a c os)
    7 ?, \1 c4 e5 g5 ?3 A
  2.   (setq        os (getvar "osmode");记住用户对象捕捉设置
      G; K( ~  g' o) k! ?
  3.         n  (getreal "图号:")
    ! @6 v" U8 a/ ]+ R  L0 [
  4.   )
    ) }4 q( @7 i( S+ D
  5.   (setvar "osmode" 0);关闭对象捕捉
    ' o4 Y/ o. r# q0 v. V
  6.   (cond        ((= n 4)
    0 c- p3 \) K/ |& u% ~* s
  7.          (setq l 297
    / H, I$ A0 K! f, V2 G" g
  8.                w 2108 y# @% i9 v+ E1 g- ^' V
  9.                a 259 z7 _! r3 B" [/ b5 P6 u$ E/ x
  10.                c 5
    3 a! @# Y$ X$ a$ Q- O+ u: e
  11.          ); _1 }6 l: N  F! C2 P# ]) G9 c5 ?
  12.         )
    6 Q2 d3 n! i# o$ Z9 e) G9 w
  13.         ((= n 3)( R& j4 I, p0 K, \1 x: s
  14.          (setq l 420
    . D% U; X2 n, ?$ Z: y! o0 w
  15.                w 297
    , Z  J% B3 k4 r* h# y+ o( y2 Z* H
  16.                a 25
    5 x( s: ?3 I  X' K8 W- G& u, v; H
  17.                c 5
      s0 L# }1 w: O+ `( k
  18.          ). I9 I1 g" Z9 D3 N4 e
  19.         )/ m! G0 ~! \9 M* p
  20.         ((= n 2)* }+ b( Z) ^  \3 _* [$ o% ^7 G
  21.          (setq l 594" [( @) }" z& n" ~& w# p
  22.                w 420. D0 e" [2 K6 z$ d  v
  23.                a 25
    ! z' _9 W+ r( X% B; V: d8 g- e8 l
  24.                c 10
    9 t9 w. j# y. U5 R( V
  25.          )* p3 o) A; ]) `4 N
  26.         )) `7 K0 {' l. @- c* j$ V0 [
  27.         ((= n 1)8 o# l5 w; O3 k( M0 x. L
  28.          (setq l 8414 C, i; D% g1 u5 O0 y" t7 X
  29.                w 594
    # t7 t8 b- ]0 u) i9 _  H
  30.                a 252 f8 U2 H- l  R6 ]
  31.                c 10
      Q: J3 v! q( y! u% P5 V: ~
  32.          )! @, P4 ^; y' J8 Y/ w
  33.         )1 P- M+ x8 |$ g$ L
  34.         ((= n 0)
    3 e* L! N2 D( w( i$ N- K$ i+ T7 v
  35.          (setq l 1189- R% S) c& W0 c4 E9 f: T
  36.                w 841
    3 T) M6 O0 V  V6 }* L& @6 x
  37.                a 25
    8 ?* K" _* L$ c3 v( F2 I
  38.                c 10
    % o  \% s1 |: u4 S+ U
  39.          )
    + H3 ~5 _8 l5 f/ t; C
  40.         )
    8 M) f) `: B1 X# U) h3 }
  41.   )                                        ;cond4 W8 Y$ c! y+ |' _/ F1 N: F
  42.   (setq pt0 (getpoint "\n基点:"))
    8 j' I+ F+ D6 [
  43.   (setq        x (car pt0)
    0 w* f$ I, d' k! t8 F* _, z6 i7 L
  44.         y (cadr pt0)
    ' R& x2 \9 F, D' ~, H/ k
  45.   )
    7 R$ {% \, A9 p% }$ s) X( f
  46.   (command "rectang" (list x y) (list (+ x l) (+ y w)))
    2 K; x8 ]1 ~* ]; m( ~/ S
  47.   (command "rectang"
    0 O6 o8 R' U2 p, s6 G& }
  48.            (list (+ x a) (+ y c))
    + I5 V+ o% z* q  v
  49.            (list (- (+ x l) c) (- (+ y w) c)), Z' S4 M$ Q$ c- |' a# R% V0 M% W+ {/ \
  50.   )( M8 y/ W3 J% x8 U" |( V
  51.   (setvar "osmode" os);恢复用户对象捕捉设置6 k4 L' J& U) N: |$ j( V
  52. )                                        ;end
复制代码
 楼主| 发表于 2013-1-28 12:01:45 | 显示全部楼层 来自: 中国上海
woaishuijia 发表于 2013-1-28 06:13 static/image/common/back.gif
9 l0 v5 I5 k& E! w是对象捕捉在捣乱
; r4 w& }# a% _1 tLSP程序中通常要临时关闭对象捕捉

7 H2 e* k! E6 [& k6 L$ C谢谢
发表于 2013-7-23 17:20:35 | 显示全部楼层 来自: 中国湖北武汉
一看就是高手啊
发表于 2013-10-9 12:32:39 | 显示全部楼层 来自: 中国台湾
真是高手,學習了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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