明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2519|回复: 14

[原创]一个小程序,请高手为什么不能运行呢?狂急!!是关于读入数据而后画多段线的

  [复制链接]
发表于 2005-4-9 10:20:00 | 显示全部楼层 |阅读模式
[原创]一个小程序,请高手为什么不能运行呢?狂急!!是关于读入数据而后画多段线的。请高手指点呀![br]要实现的目的是:从文件中读入数据,而后在cad中画出图来(使用多段线) 为什么编译是说  :输入的列表有错误!
  1. (vl-load-com)
  2. (setq *ModelSpace* (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-Acad-Object))))
  3. (defun c:dd ()
  4.    
  5.      (setq HOLDECHO (getvar "cmdecho"))
  6.      (setvar "cmdecho" 0)
  7.    
  8.      (setq n_s 10)
  9.      (setq w_e 2)  
  10.      (print "\nTo draw the y_oriented line")
  11.      (setq ss (getfiled "Open file" "d:\" "dat" 8)
  12.      s   t
  13.      fn nil)
  14.          (setq i 1)
  15.          (setq k 1)
  16.      (if ss
  17.          (progn
  18.              (setq fn (open ss "r"))
  19.              (print "\n Please waiting....")
  20.              (princ)
  21.              (while (<= i w_e)
  22.                          (while (<= k n_s)
  23.                                  (setq s (read-line fn))
  24.                    (print s)
  25.                    (princ)
  26.                                  (setq ps (cons (list (car(read s)) (car (cdr (read s)))) ps))
  27.                    (print ps)
  28.                    (princ)
  29.                    (setq k (1+ k))
  30.                          )
  31.                          (setq ps (reverse ps))
  32.                          (draw_grid ps)
  33.                          (setq i (1+ i))
  34.                )
  35.                (close fn)
  36.          )
  37.          (print "\n the file error! ")
  38.        )
  39.    (setvar "cmdecho" HOLDECHO)
  40.    (princ)
  41.   )
  42. (defun draw_grid (pointlist /)           (setq polypoints (apply 'append   pointlist)
  43.            (setq VLADataPts (list->variantArray polypoints))
  44.            (setq pline (vla-addLightweightPolyline
  45.                                        *ModelSpace*
  46.                                        VLADataPts)
  47.            )
  48.            (vla-put-closed pline t)
  49.            pline
  50. )
  51.   (defun list->variantArray (ptsList / arraySpace sArray)
  52.          (setq arraySpace (vlax-make-safearray
  53.                                                      vlax-vbdouble  
  54.                                                    (cons 0
  55.                                                    (- (length ptsList) 1)
  56.                                                    )
  57.                                              )
  58.            )
  59.          (setq sArray (vlax-safearray-fill arraySpace ptsList))
  60.          (vlax-make-variant sArray)
  61. )
输入文件格式:(x1 y2)(x2 y2)(x3 y3)...........[/U][/U]
发表于 2005-4-9 10:23:00 | 显示全部楼层
晕!一个问题为什么分两次问???这么急还不一次性把问题说清楚!还发多次折腾别人,看来你还是不急
 楼主| 发表于 2005-4-9 10:30:00 | 显示全部楼层
是没办法呀!


加了一个)后,可以执行,但是为什么没有输出图形哪,不可见?
 楼主| 发表于 2005-4-9 10:32:00 | 显示全部楼层
什么原因那?


望meflying指点!
 楼主| 发表于 2005-4-9 10:49:00 | 显示全部楼层
meflying:


我给你发了个邮件,请查收。谢谢!
 楼主| 发表于 2005-4-9 11:17:00 | 显示全部楼层
管理园们,快来呀
发表于 2005-4-9 11:28:00 | 显示全部楼层
把dat文件上传一下
 楼主| 发表于 2005-4-9 11:33:00 | 显示全部楼层
数据如下: (9442.00000000000 13523.0000000000)
(9602.44083730788 13518.2053431552)
(9773.21560137878 13517.7870245506)
(9930.95221281122 13514.9813567183)
(10121.9983028150 13511.1385546831)
(10310.3496636903 13547.5327119832)
(10467.3268423648 13584.4245220356)
(10644.8039968324 13623.8745115228)
(10789.2344696039 13683.3010218549)
(1004.7204471789 13748.4852401943)
 楼主| 发表于 2005-4-9 11:44:00 | 显示全部楼层
ljpnd试一下吧,有什么结果没?
发表于 2005-4-9 11:58:00 | 显示全部楼层
有结果啊,如图


       

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-17 10:04 , Processed in 0.199113 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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