明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1396|回复: 3

AutoLisp程序纠错!

[复制链接]
发表于 2006-11-3 10:00 | 显示全部楼层 |阅读模式
程序纠错!
以下程序的作用是获得多个矩形的四个顶点,并输出到文件。
可是我运行后有错误:参数类型错误: lselsetp nil。
望各位大虾指正。(初学lisp,错误可能不止一处)
(DEFUN c:test ()
  (VL-LOAD-COM)
  (PRINC "\n请选择图元:")
  (SETQ    ss     (SSGET '((0 . "rectangle")));获得图形

    filename "ZFXdata.txt"
    fn     (OPEN (STRCAT "e:\My Work" filename) "w")
    index     0
    n     1
  )
  (WRITE-LINE "把矩形的四个顶点输出" fn)
  (WHILE (< index (SSLENGTH ss))
    (SETQ reg_data (ENTGET (CAR (SSNAME ss index)))

    )
                    ;以下为获得矩形的顶点

    (WHILE (SETQ pt (ASSOC 10 reg_data))
      (SETQ reg_data (CDR (MEMBER pt reg_data)))
                    ;以下为顶点的输出
      (WRITE-LINE

    (STRCAT    "矩形"
        (ITOA (1+ index))
        "的四个顶点为:"
        "\n第"
        (ITOA n)
        "点: "
        (VL-PRINC-TO-STRING (CDR pt))
        "."
    )
    fn
      )
      (SETQ n (1+ n))
    )
    (SETQ index (1+ index))
  )
  (CLOSE fn)
)
发表于 2006-11-3 10:12 | 显示全部楼层
用自动运行看看错在哪一行?我没仔细看你的程序。
发表于 2006-11-3 10:57 | 显示全部楼层

没有0组码为rectangle的对象

 楼主| 发表于 2006-11-3 17:01 | 显示全部楼层
问题找到了,就是没有rectangle的对象,应该是“lwpolyline”。
另外,循环也有电小问题,就是n的初始值应该在大循环的里面赋值,否则第二个矩形就会出现第5、6、7、8点,望后来者知晓。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-3 08:05 , Processed in 0.143717 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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