明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 呆呆

[求助][LISP]紧急求救

  [复制链接]
 楼主| 发表于 2003-10-27 18:17:00 | 显示全部楼层
不好意思 我只知道  lisp 不知道vlisp 搞错了  抱歉的很!!!sorry!!!

还有个问题我想想问问你 我怎么不能上传 *.bmp图片  在传送的过程中 老是出现 脚本语言运行错误 这是为什么??
发表于 2003-10-27 18:26:00 | 显示全部楼层
好象有时也会,你点否就可以了,一般都能传上来的
 楼主| 发表于 2003-10-27 18:38:00 | 显示全部楼层
不行  怎么搞都不行   传不上去
发表于 2003-10-27 18:43:00 | 显示全部楼层
上传图片,最好做成JPG格式,因为这种格式文件小,容易上传。你文件太大,上传超时就会出错。
 楼主| 发表于 2003-10-27 18:48:00 | 显示全部楼层
为什么程序不能运行  错误有 但是我不知道出在哪里 敬请指教:

(defun c:ee(/ ss dn i s1 s2 nr0 nr1 nr2 dn1 dd ddd )

    (setq ss (ssget ' ((0 . "text"))))
    (initget " 2 3 4 5 6 7 8 9 10 11 12 13 15 16 18 20 22")
    (setq dn (getkword "\nplease Input Guanjing:"))
    (setq i 0)
(while (< i (sslength ss))
    (setq s1 (ssname ss i))
    (setq s2 (entget s1))
    (setq nr0 (assoc 1 s2))
    (setq nr1 (cdr nr0))
    (setq L "L")
    (setq nr1 (strcase nr1 T)
            L(strcase L T)  )
    (setq nr2 (substr nr1  c))
    (cond
      (  (= dn "2") (setq dn1 "DN200I0.01")  )
      (  (= dn "3") (setq dn1 "DN300I0.003") )
      (  (= dn "4") (setq dn1 "DN400I0.002") )
      (  (= dn "5") (setq dn1 "DN500I0.0012"))
      (  (= dn "6") (setq dn1 "DN600I0.001") )
      (  (= dn "7") (setq dn1 "DN700I0.001") )
      (  (= dn "8") (setq dn1 "DN800I0.001") )
      (  (= dn "9") (setq dn1 "DN900I0.001") )
      (  (= dn "10") (setq dn1 "DN1000I0.001"))
      (  (= dn "11") (setq dn1 "DN1100I0.001"))
      (  (= dn "12") (setq dn1 "DN1200I0.001"))
      (  (= dn "13") (setq dn1 "DN1350I0.001"))
      (  (= dn "15") (setq dn1 "DN1500I0.001"))
      (  (= dn "16") (setq dn1 "DN1650I0.001"))
      (  (= dn "18") (setq dn1 "DN1800I0.001"))
      (  (= dn "20") (setq dn1 "DN2000I0.001"))
      (  (= dn "22") (setq dn1 "DN2200I0.001"))
      )
   (setq dd(strcat dn1 nr2))
   (setq ddd (cons 1 dd))
   (setq s2 (subst ddd nr0 s2))
   (entmod s2)
   (setq i (1+ i))
)
(princ"\n" dn1)
)

我的意思是保留“L"以后的字符  把“L”以前的代换掉
 楼主| 发表于 2003-10-27 19:08:00 | 显示全部楼层
不好意思 发错程序了 把第一次的草稿发上来了    想删也删不掉 真的不堪入目  羞亦  羞亦  
希望不要见怪!!!
我是个新手  我失败  我还站起来 !!!

不过我的大概意思 相信你们也明白   还想请各位  帮帮忙  谢谢!!
我失败,我无悔!!
发表于 2003-10-27 19:45:00 | 显示全部楼层
估计你是调用了instr这个函数吧(实用函数里的),
在你的程序中这句的c没有值,所以失败,你必须调用
instr才行(并不是加载就可以的),
(setq nr2 (substr nr1  c))
该成这样
(setq nr2 (substr nr1 (instr nr1 L)))

你的程序最后出错,文件对象必须用(setq f (open filename type)),(princ "\n" f)这样,不过不知道你在文件里敲个回车干吗(filename为文件名,type为打开方式,详细见帮助文件)
 楼主| 发表于 2003-10-28 07:47:00 | 显示全部楼层
谢谢版主的帮助和解答
在次感谢
 楼主| 发表于 2003-10-28 16:30:00 | 显示全部楼层
我有碰到问题了 现在就是 "DL-PVC-12*110I0.003L58.0"
  这是一普通的电力管线上的标注性文字  一般每段管线除了长度不一样 其余的都相同  现在我怎么能够找到 第二个“L”位置呢??
  程序instr 只能找到第一个“L” 的位置 ?
那现在我该怎么办呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 14:26 , Processed in 0.193591 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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