明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1907|回复: 17

[提问] 一个点对表问题,没弄明白

[复制链接]
发表于 2023-2-1 06:44:34 | 显示全部楼层 |阅读模式
遇到一个点对表,不明白,请热心人帮我看看。

命令: (setq l '(1 . 2))
(1 . 2)
命令: (setq l '(158 . 202))
(158 . 202)
应用程序错误: 参数类型错误

命令: (cons 5 7)
(5 . 7)
命令: (cons 100 200)
(100 . 200)
命令: (cons 150 200)
(150 . 200)
应用程序错误: 参数类型错误
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-2-3 10:10:45 | 显示全部楼层
这是ARX的内部机制问题,点对表前面的整数与ARX数据表的数据类型相冲突,点对表第一位最好不要用整数,容易出问题!
回复 支持 2 反对 0

使用道具 举报

发表于 2023-2-1 11:25:17 | 显示全部楼层
(cons A B),A为整数,经测试A>149提示错误。A不为整数,(cons 150.0 300)无问题。

评分

参与人数 1明经币 +1 收起 理由
wrf610051 + 1 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2023-2-3 15:37:11 | 显示全部楼层
在acad2008下跟踪了一下,发现出错的原因并不是cons这个函数,这个函数的运行没有出错。错误出在往命令行显示的时候。
(vl-princ-to-string (cons 150 1))这句在命令行上显示正常,说明cons函数没有错。
(princ '(150 . 1))出错,整数在150到169之间出错,170以上和149以下都不出错。
prin1 print这两个函数同样出错。
看来出错原因是把点表化成字符串在命令行显示的过程中。只要不在命令行上用prin1 print  princ,就不会出错。vlide中正常,fas中也正常。

评分

参与人数 1明经币 +1 收起 理由
wrf610051 + 1 很给力!

查看全部评分

发表于 2023-2-1 08:01:08 | 显示全部楼层
大哥,测了下,确实是错误,但是我也不明白,这你都发现了,你真厉害。
发表于 2023-2-1 09:08:02 | 显示全部楼层
我17版本测试 没错误
发表于 2023-2-1 09:18:40 | 显示全部楼层
22版测试,也没有错误
发表于 2023-2-1 17:44:42 来自手机 | 显示全部楼层
tigcat 发表于 2023-2-1 11:25
(cons A B),A为整数,经测试A>149提示错误。A不为整数,(cons 150.0 300)无问题。

这个啥原理?
发表于 2023-2-1 18:57:30 | 显示全部楼层
应该和CAD有点关系 我07也有这个提示 但是用飞诗加载运行这几个都没有错误提示 所以不在命令栏直接运行代码就没问题

评分

参与人数 1明经币 +1 收起 理由
wrf610051 + 1 很给力!

查看全部评分

发表于 2023-2-1 21:09:13 来自手机 | 显示全部楼层
Bao_lai 发表于 2023-2-1 17:44
这个啥原理?

这个不知道
发表于 2023-2-2 15:58:13 | 显示全部楼层
21版测试没有问题
发表于 2023-2-2 17:25:32 | 显示全部楼层
来看看,解决了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 08:30 , Processed in 0.197094 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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