明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: zhongguola

求助两个程序、一个问题

  [复制链接]
发表于 2005-10-9 19:41:00 | 显示全部楼层
根据你提供的错误提示,我判断可能为数串之间的问题,再改写一下:
(defun c:TESTT(/ Fn L PP P P0 H ZF)
   (vl-load-com)
  (setvar "PDMODE" 33)(setvar "PDSIZE" 0.25)
  (setq Fn "c:/test.txt")
  (SETQ F (OPEN Fn "r"))
  (WHILE (setq L (READ-LINE F))
    (setq PP (read (strcat "(" L ")")))
    (setq P0 (cdr PP)
               H (last PP)
               P (list (cadr P0) (car P0) H)
    )
    (if (/= (eval (car PP)) nil)
        (setq ZF (rtos (car PP) 2 0))
      (progn
        (setq ZF (vl-string-subst "" "" (car PP)))
      )
    )
    (command "POINT" P)
    (command "text" P "2.0" "0" ZF)
  )
  (close F)
)
 楼主| 发表于 2005-10-10 15:37:00 | 显示全部楼层

谢谢您的程序。麻烦您再改一好吗?谢谢你您了。

一楼的帖子是这样写的:根据这些坐标自动生成半径为0.2的圆,并能根据坐标顺序生成点号(字高为1),点号插入点距圆心为1.

一:  您的程序生成的点号插入点是在坐标点上(也就是所谓的圆心上),而不是离圆心的距离为1,且字高为1

二:  您的程序生成的圆,其属性是POINT,而不是我所说的圆即"CIRCLE"

麻烦您了!!!!

谢谢!!!!!!!!!!!!!!1

发表于 2005-10-10 16:35:00 | 显示全部楼层
wmz程序基础上改的,看看能否满足楼主要求。
  1. (defun c:TEST (/ F L PP P P0 H ZF)
  2. (setvar "cmdecho" 0)
  3. (setq oldos (getvar "osmode"))
  4. (setvar "osmode" 0)
  5.    (vl-load-com)
  6. (SETQ F (OPEN "c:/test.txt" "r"))
  7. (WHILE (setq L (READ-LINE F))
  8.   (setq PP (read (strcat "(" L ")"))
  9. P0 (cdr PP)
  10. H (last PP)
  11. P (POLAR P0 (/ PI 2) 1))
  12.   (setq ZF (strcat (vl-string-subst "" "" (car PP)) "(" (rtos h 2 3) ")"))
  13.   (command "CIRCLE" P0 "0.2" "text" P 1 0 ZF)
  14. )
  15. (close F)
  16. (setvar "osmode" oldos)
  17. (setvar "cmdecho" 1)
  18. (princ)
  19. )
 楼主| 发表于 2005-10-10 21:23:00 | 显示全部楼层

23楼的程序在运行时会出现以下问题:

CAD命令行提示:错误:参数类型错误,(or stringp symbolp ):1

发表于 2005-10-10 21:43:00 | 显示全部楼层
  1. ;;;sjsr  (数据输入)
  2. (defun c:sjsr ()
  3.   (cmdla0)
  4.   (jzhz)
  5.   (setvar "osmode" 0)
  6.   (setq ffn (getfiled "\n数据文件" "" "txt" 8)
  7. f   (open ffn "r")
  8.   )
  9.   (WHILE (setq L (READ-LINE F))
  10.     (setq pp (read (strcat "(" L ")"))
  11.    p0 (cdr pp)
  12.    h  (last pp)
  13.    p  (list (car p0) (cadr p0) h)
  14.    p1 (polar p (* pi 0.5) 1.5)
  15.    zf (rtos h 2 3)
  16.     )
  17.     (mkla "点位" 4)
  18.     (command "circle" p 0.2)
  19.     (mkla "高程" 3)
  20.     (command "text" "j" "mc" p1 1 "0" zf)
  21.   )
  22.   (close F)
  23.   (cmdla1)
  24. )
  25. (pxyp"sjsr  (数据输入)")

本帖子中包含更多资源

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

x
 楼主| 发表于 2005-10-11 09:11:00 | 显示全部楼层

25楼的程序标注的只是Z坐标,劳驾您改一下,让它只标注每一个点号也就是点名.

谢谢您了!!!!!!!!!!!!!!!!1

 楼主| 发表于 2005-10-12 08:25:00 | 显示全部楼层
大哥们,帮帮忙吧!
发表于 2005-10-12 18:33:00 | 显示全部楼层
本帖最后由 作者 于 2005-10-14 8:03:28 编辑

再改写一下
(defun c:TEST(/ F Fn PP P0 P H)
   (vl-load-com)
  (setq Fn (getfiled "\n数据文件" "" "txt;*" 8)
         F (open Fn "r")
  )
  (WHILE (setq L (READ-LINE F))
    (setq PP (read (strcat "(" L ")"))
          P0 (cdr PP)
           H (last PP)
           P (list (cadr P0) (car P0) H)
          P0 (polar P -0.5 1.0)
    )
    (if (eval (car PP))
        (setq ZF (rtos (car PP) 2 0))
      (progn
        (setq ZF (vl-string-subst "" "" (car PP)))
      )
    )
    (command "circle" P 0.2)
    (command "text" P0 "1.0" "0" ZF)
  )
  (close F)
)
 楼主| 发表于 2005-10-13 10:00:00 | 显示全部楼层

28楼的程序无法运行,

命令:test

命令行提示:未知命令

 

发表于 2005-10-13 12:45:00 | 显示全部楼层
本帖最后由 作者 于 2005-10-14 8:05:07 编辑

zhongguola发表于2005-10-13 10:00:00 28楼的程序无法运行, 命令:test 命令行提示:未知命令
提示"未知命令"说明程序没有加载嘛!你自己看一看唦,如果是程序本身的问题,不会是这样的提示.你再下载去试一试,我已经编辑过了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-22 15:58 , Processed in 0.272174 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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