QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3062|回复: 8
收起左侧

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

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

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

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

x
(defun tk (n  /  l  w  a  c), y; U/ o3 y# R6 o, T% s' L
  (cond ((= n 5) (setq l 210 w 148 a 25 c 5))7 h" s  S6 ~$ L# f' l+ u2 j; r! a* Y
        ((= n 4) (setq l 297 w 210 a 25 c 5))) Y+ Z5 m( A0 o6 }+ Y
        ((= n 3) (setq l 420 w 297 a 25 c 5))6 F5 `' j: @4 k! g4 w* q8 T
        ((= n 2) (setq l 594 w 420 a 25 c 10))) t, j$ U+ K* e8 n3 q- ]( H
        ((= n 1) (setq l 841 w 594 a 25 c 10))
7 i" v# A  v0 H; ]$ V+ j/ x& A        ((= n 0) (setq l 1189 w 841 a 25 c 10))
1 q, y$ I1 f, T7 |0 c$ @5 L3 H        );cond
! q+ {  Z6 o2 }3 x+ d# C7 ?. D  (command "rectangle" "0,0" (list l w))
# f5 @4 l8 s" V1 b* s  (command "rectangle" (list a c) (list (- l c) (- w c)))
3 ]% g/ V/ L6 U1 @: p! u7 I$ D);end! T8 Z  g' O' v  o& S, q7 a
9 S4 i3 Y# Q! G( @8 r' u9 }
为什么在控制台里运行的时候老是说no function definition?再简单的程序也是  X6 h; V3 k/ R! \( q
发表于 2013-1-26 23:41:07 | 显示全部楼层 来自: 中国辽宁
本帖最后由 woaishuijia 于 2013-1-26 23:48 编辑
8 q& J% V9 t- Z# {% r( _( D! I4 R) E/ C4 i3 @' ^
运行自定义函数之前必须保证该函数已被加载
3 C( o9 |5 ~* b/ B; ?1 B如果在"Visual LISP 编辑器"的代码窗口中加载,到"Visual LISP 编辑器"的"工具"菜单下面点击"加载选定代码"或"加载编辑器中的文字": `, G, W4 s7 g  A: o. M
如果从现有的LSP文件中加载,在CAD命令行键入"appload"命令或到图形界面的"工具"菜单下面点击"加载应用程序"
 楼主| 发表于 2013-1-27 20:07:54 | 显示全部楼层 来自: 中国天津
woaishuijia 发表于 2013-1-26 23:41 static/image/common/back.gif  N5 c5 \# E% e& \# K/ U
运行自定义函数之前必须保证该函数已被加载  N3 ~" U! K' N& R1 R3 E
如果在"Visual LISP 编辑器"的代码窗口中加载,到"Visual LISP  ...
! I0 z# g, R) R8 f% i! X6 m" S
感谢版主
 楼主| 发表于 2013-1-27 21:58:59 | 显示全部楼层 来自: 中国浙江宁波
本帖最后由 woaishuijia 于 2013-1-28 06:00 编辑
' ^( x* U4 V6 a0 M6 @# d) ^
woaishuijia 发表于 2013-1-26 23:41 http://www.3dportal.cn/discuz/static/image/common/back.gif+ k# d1 {) X& }0 a6 [/ k7 t/ Q
运行自定义函数之前必须保证该函数已被加载; @' A  {! r. W
如果在"Visual LISP 编辑器"的代码窗口中加载,到"Visual LISP  ...
; G; L, K8 w1 E! l

1 {/ F5 q+ Z7 T, b) M9 |, m(defun tk()
2 F6 r5 `# g7 x0 F. D. T" p(setq n(getreal"图号:" )); x# s  z) f3 i) p
(cond ((= n 4) (setq l 297 w 210 a 25 c 5))  Y) k. b+ _! k8 V
      ((= n 3) (setq l 420 w 297 a 25 c 5))9 e; S7 e8 _0 s, F: x9 B* y
      ((= n 2) (setq l 594 w 420 a 25 c 10))
- x5 R+ b& G! j1 \7 l      ((= n 1) (setq l 841 w 594 a 25 c 10))+ N+ F5 B: V9 j2 |* S2 Y
      ((= n 0) (setq l 1189 w 841 a 25 c 10))$ u+ O# ]+ e" F* V% Q" B
);cond
$ V: }$ R1 u7 C" h4 ?(setq pt0(getpoint"\n基点:" ))
1 R% E- ?; |) B# k' Q(setq x(car pt0) y (cadr pt0))
1 T" S0 E; L9 S3 w8 o(command "rectang" (list x y) (list (+ x l) (+ y w)))' [/ J5 e5 m1 z& P& f6 Q
(command "rectang" (list (+ x a) (+ y c)) (list (-(+ x l) c) (-(+ y w) c)))2 u3 e1 q" E9 \4 h3 ~
);end
) t% w1 ?* P6 I+ k版主再帮我看一下这个程序为什么画出来是两个重合的图框?谢谢了
 楼主| 发表于 2013-1-27 22:00:41 | 显示全部楼层 来自: 中国北京
括号变成表情了。。。
发表于 2013-1-28 06:13:53 | 显示全部楼层 来自: 中国辽宁
dreamMore10 发表于 2013-1-27 21:58 static/image/common/back.gif- J  U( s6 ~9 ?
(defun tk()0 M: c6 z" \; v: {& Y$ \3 w/ l3 z
(setq n(getreal"图号:" ))- }# R: ~& U2 c, n% [7 u
(cond ((= n 4) (setq l 297 w 210 a 25 c 5))
/ ]% Z% v' y4 w/ K
是对象捕捉在捣乱3 `/ t& T& \. Z3 ^  m
LSP程序中通常要临时关闭对象捕捉
  1. (defun tk (/ n l w a c os)  k) i% f( ^! ^; ~7 Y
  2.   (setq        os (getvar "osmode");记住用户对象捕捉设置1 V5 R3 u) {& R8 v3 @7 R
  3.         n  (getreal "图号:")6 F3 H/ g* A, B9 g5 Z
  4.   )$ {( d: E3 l0 P" O& M
  5.   (setvar "osmode" 0);关闭对象捕捉
    5 i9 ^. v5 h2 a% c- o! G
  6.   (cond        ((= n 4)/ s6 L+ J/ [+ Y( a) A8 D& {, r
  7.          (setq l 297
    / L# N5 `0 h) @. l) b$ w, R9 O
  8.                w 210
    % z  z$ c+ b) v5 V9 x& o
  9.                a 25
    ; ^) }$ ^* R5 Q' ~: H: }) u
  10.                c 5
      n) m% m  G6 ~: p  s& a8 e
  11.          )
      M  M  {0 k) @5 \' o1 P3 L
  12.         )
    $ k! u' Z! L' G+ a+ F  h
  13.         ((= n 3)
    $ A$ P6 D( ^' K/ d# Q
  14.          (setq l 4208 i$ H5 R  E+ S4 Y+ e* Z4 k
  15.                w 297
    6 {, p# Q& Y$ U
  16.                a 25! V" j% ^/ X4 g- y: B  x0 T  T
  17.                c 5
    2 }$ ]% G, w0 S5 i
  18.          )" @* ]) y2 D2 g- B
  19.         )
    4 _6 M2 H5 l2 F- ^$ Z; |6 G
  20.         ((= n 2)* Y0 N: t3 D" r% L4 k% T
  21.          (setq l 594
    & x& ^" e  m2 ?
  22.                w 420
    8 U, G1 _' F2 k$ i
  23.                a 25
    0 V2 t% \5 ~$ e! O5 P
  24.                c 10
    % E+ s! Z2 F. ]( J% X1 }
  25.          )& \; W' l5 C- M( Z! [. W
  26.         )
    " H' F- C5 U/ W( ~0 u
  27.         ((= n 1)
    - N# j6 V/ W! J8 N5 \  V, E
  28.          (setq l 841
    : u& z. H" u" P# C
  29.                w 594
    0 M9 u* b7 m  J
  30.                a 25
    0 z  k, u1 u! t7 n' g
  31.                c 10
    9 J# S; Y4 t" i) ]1 q+ m. r; X8 \
  32.          )
    & p7 P& [( q  d9 m0 y( E! r5 ?
  33.         )
    $ J( P, F9 I" V2 E
  34.         ((= n 0)) a% I  U9 I6 o
  35.          (setq l 1189% j" k. {9 I; w$ \$ b( {# U( W
  36.                w 841
    * Y% C* W& u$ J& Y/ {# k2 D
  37.                a 259 o9 p8 f6 |) g' f1 {
  38.                c 10
    2 f, _# B0 @3 I# W
  39.          )
    8 K" c& K* s; I7 Q
  40.         )" c1 Q6 [# n# `
  41.   )                                        ;cond( O5 \  Q6 a# U! H0 ~. [1 G' @
  42.   (setq pt0 (getpoint "\n基点:"))2 a% n- C8 @( ]& a( y+ J
  43.   (setq        x (car pt0)  N' R8 C" A; f1 R
  44.         y (cadr pt0)
    ; C2 w1 Z9 |# S
  45.   )
    , q& g( Z( K" u6 h4 W1 s4 Z
  46.   (command "rectang" (list x y) (list (+ x l) (+ y w))); s1 f2 T6 @! h% {/ g
  47.   (command "rectang"9 g. I* k7 b0 ~. Y: Z
  48.            (list (+ x a) (+ y c))& x7 A( o$ i7 v/ |( u& o
  49.            (list (- (+ x l) c) (- (+ y w) c))
    8 V/ u; [' Q# v, ~: \
  50.   )/ p: w8 X+ a* B6 D, |( I; S
  51.   (setvar "osmode" os);恢复用户对象捕捉设置
    & _  b: @2 W" \1 `" l% P3 a! n: {
  52. )                                        ;end
复制代码
 楼主| 发表于 2013-1-28 12:01:45 | 显示全部楼层 来自: 中国上海
woaishuijia 发表于 2013-1-28 06:13 static/image/common/back.gif" S- I* `2 n7 }* f3 |- W  u
是对象捕捉在捣乱
' p8 }3 }. Q1 p  y. ]3 HLSP程序中通常要临时关闭对象捕捉
% Z3 b" p" G! G2 L! L
谢谢
发表于 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 )

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