明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2730|回复: 11

[求助]如何消除setq给的结果 已解决

  [复制链接]
发表于 2010-10-4 18:18:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2010-10-7 19:04:05 编辑

 

在cad连续作图时,有时需要给一个数字加上前缀-字母,有时又不需要。如果不先加前缀命令,然后一个一个的修改很麻烦,加载后,在不需要时,却不知道该如何消除前缀字母,就是前缀为空的。

见下面:

 (if k
          ()
           (setq k "")
            )

     (setq nk (getstring (strcat "\n请输入前缀<" k ">: " )))
             (if (/= nk "")
                (setq k nk)
               )   

 

          例如 :我先给了前缀字母 F,现在不需要前缀 F,只要数据时,,也就是说让前缀为空的,现在没有办法让前缀敲为空的。

  不知道要如何再让 (setq k "") 可以置空?

    请问要如何修改,望高手指教。

谢谢

 

 

已解决


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2010-10-5 15:54:00 | 显示全部楼层

把             (if (/= nk "")
                (setq k nk)
               )   

改成 (setq k nk) 是不是您要的结果?

 楼主| 发表于 2010-10-5 23:42:00 | 显示全部楼层
27012701发表于2010-10-5 15:54:00把             (if (/= nk \"\")              &nbs

 

谢谢

不是我想的,因为运行

(setq nk (getstring (strcat "\n请输入前缀<" k ">: " ))) 后,nk里面就有一个字串,出现请输入前缀<" k ">:
时,无法取消里面的值,总要填一个字,不然就是前面的值。

谢谢你

发表于 2010-10-5 23:43:00 | 显示全部楼层
(setq ...  nil )     这个意思 ?
 楼主| 发表于 2010-10-6 07:10:00 | 显示全部楼层
kinglzk2000发表于2010-10-5 23:43:00(setq ...  nil )     这个意思 ?

   没有明白怎么弄。

因为有时需要给一个数字加上前缀-字母后,又要留住它,下一个数据还要用上它。例如:这次是F1,下个是F2,等等。当不需要前缀时,既不要字母F,就是数据的。如:1、2 、3....。不知要怎样编辑(setq

谢谢您的关注

发表于 2010-10-6 22:26:00 | 显示全部楼层

没看懂楼主想干什么

瞎提个建议

如果楼主的操作对象是指文本或属性

那么在你之前加了前缀之后又要取消前缀的图元

在加前缀的同时附加一个ldata

这样以后可以根据ldata来搜寻你的对象集合

得到对象集合以后

再取消前缀就不是难事了

 

 楼主| 发表于 2010-10-6 23:30:00 | 显示全部楼层
masterlong发表于2010-10-6 22:26:00没看懂楼主想干什么 瞎提个建议 如果楼主的操作对象是指文本或属性 那么在你之前加了前缀之后又要取消前缀的图元 在加前缀的同时附加一个ldata 这样以后可以根据ldata来搜寻你的对象集合

      我的意思是,在cad连续作图时,有时需要给一个数字加上前缀-字母,作为一类事物的标记,比如,给他取名分别为A1、A2、A3....等,有的为F1、F2....等,有时不需要带前面的字母,只要数据为1、2、3.....的。

不是将前面已经标注好带字母的数据去掉字母。

不知我这样说清楚了吗?

谢谢你的关注。

发表于 2010-10-7 00:10:00 | 显示全部楼层

你的A1,A2,A3是参数名?

比如说你有数字5,6,7

分别设置为参数A1,A2,A3

现在你只想要得到1,2,3?

发表于 2010-10-7 00:13:00 | 显示全部楼层
(vl-symbol-name   'A1)    -&gt;   "A1"
 楼主| 发表于 2010-10-7 06:33:00 | 显示全部楼层

我是设置了分两次输入的方式

(setq nk (getstring (strcat "\n请输入前缀<" k ">: " )))

(setq n (getint "\n 输入数据:"))

(setq yzc1(strcat k (itoa n)))

再输出结果。
k与n都是变量

先在前面输字母,后面再输入输入数据的方式。此时不知道如何将k置空

谢谢各位的关注

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

本版积分规则

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

GMT+8, 2024-10-2 12:19 , Processed in 0.169464 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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