mj0000 发表于 2011-6-21 11:17:14

诡异的图层,谁了解什么原因吗

用lisp设置了全局变量,结果图层出错。每次使用 *YX-Lay-网格* 变量时,值会变成"07细-01尺寸标注",试验了好多台电脑的cad也试验了2008 2012的,结果都是错的。谁了解什么原因吗?
加载 图层l.sp,运行(princ *YX-Lay-网格*),看看大家的结果是什么。。。。。。。。。。。。

baitang36 发表于 2024-2-27 13:25:36

本帖最后由 baitang36 于 2024-2-27 13:29 编辑

命令: (= '*YX-Lay-尺寸* '*YX-Lay-网格*)
返回T
ACAD2022还存在这个bug,中望是返回nil


命令: (= "*YX-Lay-尺寸" "*YX-Lay-网格")
nil

字符串没有问题。
看来是桌子的符号管理出问题了。不同的符号被认为是相同了。

gzcsun 发表于 2024-2-27 15:43:13

本帖最后由 gzcsun 于 2024-2-27 15:53 编辑

将所有“-”去掉

或者“-”代替成"ꟷ"

ygp820601 发表于 2011-6-21 11:35:22

估计是“网格”与“尺寸”的代码一样,后定义的*YX-Lay-尺寸*把它覆盖了,也就是说
*YX-Lay-尺寸*与*YX-Lay-网格*是同一个变量

ygp820601 发表于 2011-6-21 11:36:26

建议变量中不要使用中文

zyhandw 发表于 2011-6-21 11:37:51

试了,的确不行!
也想知道!

mj0000 发表于 2011-6-21 11:43:01

很少用中文,这次设置图层用了中文,可读性好一些,结果发现这个问题。刚开始以为自己代码复制过来没改,结果找遍了都没有重复的。图层都搞乱了。

winabcd 发表于 2011-6-21 12:38:55

问题可能是出在汉字前的那个“-”上。将他去掉试试。

mj0000 发表于 2011-6-21 14:09:13

楼上的提醒了我,刚刚测试了下去掉就可以了。由此联想到,是不是汉字是双字节编码的问题,不过经过测试一个汉字前字母或者符号是奇数个的时候,有时候返回值正确,有时候又不正确。貌似又不是字节编码问题。功力不够,期待更多答案。回头把变量改英文去。。。

masterlong 发表于 2011-6-22 00:25:15

中文做变量名是会出现这种情况
但出现的几率并不高
我的程序里大量采用中文变量名
也就碰到过两回这样的事

没必要的话
变量尽量定义为内部变量
撞车的几率会更小

masterlong 发表于 2011-6-22 00:28:34

图层名用中文是很好的方式
这个真没必要改

yewuqiang 发表于 2011-6-22 08:54:53

程序里还是少用中文比较好吧,可读性可以后面注释用下中文么
页: [1] 2
查看完整版本: 诡异的图层,谁了解什么原因吗