明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1676|回复: 2

新手求助 lisp 出错

[复制链接]
发表于 2011-11-21 20:26:18 | 显示全部楼层 |阅读模式
本帖最后由 草木堂 于 2011-11-21 20:29 编辑

我编了个简单的孔表,在自家的中望2007可以运行
但是在单位的中望出现错误,有些函数出错,
并且在不同的打开的文件里运行的结果也不同
(defun c:tt()
     (setvar "cmdecho" 0)
  
     (setq wzgd 3.5);文字高度
     (setq bghg 6.0);表格行高
     (setq bglk 30.0);表格列宽
     (setq bgls 2);坐标列数
   
  (setq pt_o (getpoint "\n选择零点:"))
  (setq xx_o (car pt_o))
  (setq yy_o (cadr pt_o))
  (setq dzb_ss (ssget (list (cons 0' "CIRCLE"))));
  (setq xxx (sslength dzb_ss))
  (setq pt0 (getpoint "\n请选择表格起点:"));
  
;;;区分同心圆
  
  (setq xy '())
  (setq k 0)
  (setq kk (ssadd))
  (setq  kkk (sslength dzb_ss))
  (while   (/= kkk 0)          这行代码在单位就是通不过,家里的中望2007没问题!!!!
           (setq ss_n (ssname dzb_ss 0))
           (setq ssn_data (entget ss_n))
           (setq xxyy (cdr (assoc 10 ssn_data)))
           (setq xy (cons xxyy xy))
           (setq ssnn (ssget "x" (list (cons 10 xxyy))))
           (setq i 0)
           (repeat (sslength ssnn)
                   (setq ssnn_t (ssname ssnn i))
                   (setq dzb_ss (ssdel ssnn_t dzb_ss))
                   (setq i (1+ i))
           )
       (setq k (+ 1 k))
       (setq kkk (sslength dzb_ss))
     )
   (setq nn (length xy))
   
;;;画表格

  (setq pt_x (polar pt0 0 (* bglk (+ bgls 0.5))))
  (command "line"  pt0 pt_x "")
  (command "array" (entlast) ""  "r" (+ 2 nn) 1 (* -1 bghg))
  
  (setq pt_y (polar pt0 (* 1.5 pi) bghg))
  (command "line"  pt0  pt_y "")
  (command "array" (entlast) ""  "r"  (+ 1 nn) 1 (* -1 bghg))
  (setq pt_xx (polar pt0 0 (* 0.5 bglk)))
  (setq pt_yy (polar pt_xx (* 1.5 pi)  bghg))
  (command "line"  pt_xx  pt_yy "")
  
  (command "array" (entlast) ""  "r" (+ 1 nn) (+ 1 bgls) (- 0 bghg) bglk)  
  
  (command "text" "bc" (polar pt_y 0 (* 0.25 bglk)) wzgd 0 "No.")
  (command "text" "bc" (polar pt_y 0 (* 1 bglk)) wzgd 0 "X")
  (command "text" "bc" (polar pt_y 0 (* 2 bglk)) wzgd 0 "Y")
  (setq pt_y_1 (polar pt_y 0 (* 0.25  bglk)))
  (setq pt_y_2 (polar pt_y 0 bglk))
  (setq pt_y_3 (polar pt_y_2 0 bglk))
  (setq h_n 1)

  (setq txt 1)
  (setq j 0)
  (while (<= h_n nn)
         (setq xxxyyy (nth j xy))
         (setq pt_oo xxxyyy)
         (setq xxx_o (+ 0.00 (car xxxyyy)))
         (setq yyy_o (+ 0.00 (cadr xxxyyy)))
         (setq xxxx (rtos (- xxx_o xx_o) 2 2))
         (setq yyyy (rtos (- yyy_o yy_o) 2 2))
         (command "text" "bc" (polar pt_y_1 (* 1.5 pi) (* h_n bghg)) 3.5 0 txt)
         (command "text" "bc" (polar pt_y_2 (* 1.5 pi) (* h_n bghg)) 3.5 0 xxxx)
         (command "text" "bc" (polar pt_y_3 (* 1.5 pi) (* h_n bghg)) 3.5 0 yyyy)
         (setq h_n (+ 1 h_n))
         (setq txt (+ 1 txt))
         (setq j (+ 1 j))
  )
  
  
         
  )
 楼主| 发表于 2011-11-21 20:27:17 | 显示全部楼层
家里的中望是2007试用版,单位的是2007网络版
发表于 2011-11-21 23:09:08 | 显示全部楼层
试一下我的程序


本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-23 12:11 , Processed in 0.247977 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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