诡异的图层,谁了解什么原因吗
用lisp设置了全局变量,结果图层出错。每次使用 *YX-Lay-网格* 变量时,值会变成"07细-01尺寸标注",试验了好多台电脑的cad也试验了2008 2012的,结果都是错的。谁了解什么原因吗?加载 图层l.sp,运行(princ *YX-Lay-网格*),看看大家的结果是什么。。。。。。。。。。。。
本帖最后由 baitang36 于 2024-2-27 13:29 编辑
命令: (= '*YX-Lay-尺寸* '*YX-Lay-网格*)
返回T
ACAD2022还存在这个bug,中望是返回nil
命令: (= "*YX-Lay-尺寸" "*YX-Lay-网格")
nil
字符串没有问题。
看来是桌子的符号管理出问题了。不同的符号被认为是相同了。
本帖最后由 gzcsun 于 2024-2-27 15:53 编辑
将所有“-”去掉
或者“-”代替成"ꟷ"
估计是“网格”与“尺寸”的代码一样,后定义的*YX-Lay-尺寸*把它覆盖了,也就是说
*YX-Lay-尺寸*与*YX-Lay-网格*是同一个变量 建议变量中不要使用中文 试了,的确不行!
也想知道! 很少用中文,这次设置图层用了中文,可读性好一些,结果发现这个问题。刚开始以为自己代码复制过来没改,结果找遍了都没有重复的。图层都搞乱了。 问题可能是出在汉字前的那个“-”上。将他去掉试试。 楼上的提醒了我,刚刚测试了下去掉就可以了。由此联想到,是不是汉字是双字节编码的问题,不过经过测试一个汉字前字母或者符号是奇数个的时候,有时候返回值正确,有时候又不正确。貌似又不是字节编码问题。功力不够,期待更多答案。回头把变量改英文去。。。 中文做变量名是会出现这种情况
但出现的几率并不高
我的程序里大量采用中文变量名
也就碰到过两回这样的事
没必要的话
变量尽量定义为内部变量
撞车的几率会更小 图层名用中文是很好的方式
这个真没必要改 程序里还是少用中文比较好吧,可读性可以后面注释用下中文么
页:
[1]
2