明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1764|回复: 3

帮我看看,哪儿有问题???

[复制链接]
发表于 2003-1-20 10:51:00 | 显示全部楼层 |阅读模式
帮我看看下面这段程序到底哪儿出错了,输入部分应该没有问题了,就是最后的“command”命令无法画出线框。



(defun pri (getx prompt_ val / x)
;;;变元getx为用户输入函数getxxx
;;;变元prompt_为getxxx函数的提示语句
;;;变元val为默认的缺省值
(princ (strcat prompt_ " <"))
(princ val)
(if (= getx "getstring")
(setq x (getx ">:" T))
(setq x (getx ">:"))
)
(if (and x
(/= x "")
)
x
val
)
)
PRI

(defun C:DrawBase()
  (setq cmd (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq Type_list '(("0" 841 1189) ("1" 594 841) ("2" 420 594) ("3" 297 420) ("4" 210 297)))
  (setq Drawing_type (pri getstring "输入图纸型号:0/1/2/3/" "4"))
  (setq Drawing_Direct (getstring "图纸方向:纵向(B)/横向[A]:"))
  (setq BasePoint (pri getpoint "输入插入点:" '(0,0)))
  (setq Paper_Type (cdr (assoc Drawing_type Type_list)))
  (if (or (= Drawing_Direct "A") (= Drawing_Direct "")) (setq Paper_Type (list (cadr Paper_Type) (car Paper_Type))))
  ;(a:setlayer)
  ;(setq BasePoint '(0 0));定义左下角为0点,沿逆时针方向转
  (setq pt2 (list (car Paper_Type) 0))
  (setq pt3 (list (car Paper_Type) (cadr Paper_Type)))
  (setq pt4 (list 0 (cadr Paper_Type)))
  (print BasePoint)
  (print pt2)
  (print pt3)
  (print pt4)
  (command "pline" BasePoint pt2 pt3 pt4 "c")
  ;(print 4)
  (setvar "cmdecho" cmd)
  (princ)
)
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2003-1-20 10:59:00 | 显示全部楼层

不好意思,错误我自己已经发现。。。把这条删了吧。

发表于 2003-1-20 11:08:00 | 显示全部楼层

程序未仔细看,提供一点意见:
  (print BasePoint)
  (print pt2)
  (print pt3)
  (print pt4)
  (command "pline" BasePoint pt2 pt3 pt4 "c")
打印时,BasePoint pt2 pt3 pt4 是否有值?若没有,点求错了,往回找。若点都在,很可能是捕捉未关闭造成的,可在画线前加上(setvar "osmode" 0),试试。
另外,在关键字输入时,应用initget控制一下。
发表于 2003-1-20 11:47:00 | 显示全部楼层

總要說說錯誤點吧!'(0,0) → '(0 0)

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

本版积分规则

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

GMT+8, 2024-11-26 02:30 , Processed in 0.155997 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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