明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1236|回复: 20

关于AutoCAD二维点失效问题

[复制链接]
发表于 2025-9-20 21:49:06 | 显示全部楼层 |阅读模式
具体描述一下问题产生的情况:
1.打开AutoCAD

2.输入快捷键POL
3.画5边形(任何数量边的正边形都可)
4.选择边开模式,输入E
5.任意单击一点,作为端点起点
6.它要你确认第二个端点,这时输入:'cal
7.通过计算得出第二个端点坐标,输入:[@1+1,0]
8.CAD此时已计算出坐标,如:2.31,3.51,0
9.但是接下来CAD就会报错:二维点失效。

但是非常奇怪的是,这个过程中,我把“多边形”更换成“线段”或者是“多段线”,cad一样能计算出相同的坐标,但不会报错
需要各位大佬帮忙看看是什么问题
回复

使用道具 举报

发表于 2025-9-24 13:23:31 | 显示全部楼层
本帖最后由 WWQQMM_KY 于 2025-9-28 11:53 编辑
guosheyang 发表于 2025-9-24 12:57
兄弟,你研究这个的最终想法是啥,你懂lisP等编程语言不?如果懂,你完全可以按自己的意图改写这个命令嘛 ...
.       1、小可不懂AutoLisp的编写;
.       2、小可研究这个问题,是源于AutoCAD中的CAL运行实例,但意外碰到的报错结果(二维点无效);
.       3、对于此项报错(二维点无效),小可非常错愕,因为原实例(CAL的运行实例)并未提及,即,原实例运行一切正常;
.       4、小可有对:多边形,圆,线段,多段线等几个实例做测试:
.             1) 多边形,圆,,以中心或圆心为起点制图,用坐标计算法,不会报错;
.             2) 用Line画线段,用坐标计算法,不会报错;
.             3) 多边形--以边长模式,圆--以两点或三点模式,多段线,计算下一点坐标时,会报错--二维点无效;
.       5、所以,小可想一探究竟,是什么样的情况下,AutoCAD会报错--二维点无效,它报错的机理及违反了什么制图限制;
.       6、AutoCAD,中望CAD,这两款制图软件,同样的操作,出现同样的报错,所以,小可以为这不是CAD本身的BUG,而是违反了它们的制图原则;
.       7、小可多次测试,得到以下结论:CAD计算坐标,就是三维坐标全套计算,哪怕你没写Z轴坐标,它也会用“0”来自动补齐,最后得出一个三维坐标。然而画多边形,只要二维坐标,不要三维坐标,,,因此,所有的暴发点,源自于此;
.       8、基于以上,加以多日测试,加上小可的总结,于是我非常想知道,如何在计算坐标的形式下,得出一个符合它要的一个二维坐标,而不是三维坐标,则此问题点可以完美解决。
回复 支持 反对

使用道具 举报

发表于 2025-9-22 11:59:47 | 显示全部楼层
guosheyang 发表于 2025-9-22 00:08
如果其他版本有的可以画出来    具体是啥原因  有的可以画  有的不能画出来     我也不清楚   我也是猜的:l ...

1、帅哥,,真不好意思,我应该是记岔了,画“多段线”同样会报错。可能是先入为主,就是记得画“多边形”会报错,而其它不会,,,因此混一块堆了;
2、今天到同事一台电脑上试了下“中望”CAD,它提示是:错误,[@1+1,0]输入的是“三维点”,这里要二维点;
3、所以我就想着,应该不是CAD的BUG,而是二维坐标的输入方式出问题,输入带计算功能的[@1+1,0],得出的结果是一个“三维坐标”,在这个时间点,CAD不接受,它要一个“二维坐标”;
4、因此上,我想再仔细看看CAD的帮助文件,关于“二维点坐标输入方式”的段落,看能否查找到某些端倪。
回复 支持 反对

使用道具 举报

发表于 2025-10-6 18:27:25 | 显示全部楼层
guosheyang 发表于 2025-10-6 18:15
凡涉及到画多段线的都需二维坐标,而几何计算器结果是三维坐标,所以相对些标计算出错。二点或三点画圆的 ...

.       如果这是AutoCAD的BUG,那请问,如何解释其它CAD软件:如“中望CAD”也会在同样的位置出现同样的报错。
.       因为我手上只有“中望CAD”,没有其它CAD软件,但足下可以测试其它CAD软件,如“浩辰”、“天正”。
.       如果小可所料非差,这几款CAD软件应该也会有同样的报错。
.       那么问题来了,这些国产CAD软件为莫子也样一模一样的“BUG”?所以,这不是BUG。
回复 支持 反对

使用道具 举报

发表于 2025-9-21 11:09:47 | 显示全部楼层
解决方法有几种:

避免在POL命令中使用'cal透明计算,可以预先计算出精确坐标值直接输入
先用LINE命令绘制一条参考线段,然后使用POL命令的边模式捕捉这条线段的端点
改用中心点模式绘制多边形,这种方法与'cal计算通常没有兼容性问题
使用脚本或LISP程序预先计算并存储点坐标,然后在POL命令中调用
回复 支持 反对

使用道具 举报

发表于 2025-9-21 17:19:57 | 显示全部楼层
本帖最后由 guosheyang 于 2025-9-21 18:22 编辑
qifeifei 发表于 2025-9-21 11:09
解决方法有几种:

避免在POL命令中使用'cal透明计算,可以预先计算出精确坐标值直接输入
画直线的时候,[@1+1,0]表达式不会出错,多段线同样出错,正多边形和pl命令一样属于画多段线,必须是二维点,不需要z坐标的;
此例中,为何不直接输入@2,0   ?  这样不是更直接?
或者 将正交或者 追踪打开 直接输入2 也可以


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 2025-9-21 17:58:57 | 显示全部楼层
这个出错后,既然在命令行文本窗口会出现正确的点坐标,直接复制其xy值部分,不要复制0值到命令行,就可以接续画下去了。    另外,画图中间要临时用复杂计算时候,可以用qc的透明命令   个人认为更好些
回复 支持 反对

使用道具 举报

发表于 2025-9-21 22:07:43 | 显示全部楼层
guosheyang 发表于 2025-9-21 17:58
这个出错后,既然在命令行文本窗口会出现正确的点坐标,直接复制其xy值部分,不要复制0值到命令行,就可以 ...

该说不说。
UP主想探寻的是,为什么AutoCAD在上述操作后,它会有“二维点失效”这个报错。
也即,他想探寻CAD“报错‘“二维点失效’”产生的缘由。
而不是说,输入什么数据更快或更省事。
回复 支持 反对

使用道具 举报

发表于 2025-9-21 22:28:27 | 显示全部楼层
WWQQMM_KY 发表于 2025-9-21 22:07
该说不说。
UP主想探寻的是,为什么AutoCAD在上述操作后,它会有“二维点失效”这个报错。
也即,他想 ...

二维点失效  也就是需要二维点    你计算出来是个三维点   多了一个z值,所以将文本窗口中产生的三维坐标值复制x和y值到命令行即可   这不是很清楚的事儿吗?
回复 支持 反对

使用道具 举报

发表于 2025-9-21 22:41:51 | 显示全部楼层
本帖最后由 guosheyang 于 2025-9-21 22:55 编辑
WWQQMM_KY 发表于 2025-9-21 22:07
该说不说。
UP主想探寻的是,为什么AutoCAD在上述操作后,它会有“二维点失效”这个报错。
也即,他想 ...

(mapcar'cdr(vl-remove-if-not '(lambda(x)(=(car x)10))(entget(car(entsel)))))  这个代码是获取多段线的节点坐标值的   你将这段代码复制到命令行, 然后点击你画好的多段线(正五边形),然后看看得到的坐标值里面有没有z坐标?
    同理,用这个代码获取直线的节点坐标,你会发现他是有z坐标值的   (mapcar 'cdr(vl-remove-if-not '(lambda(x)(member(car x) '(10 11)))(entget(car(entsel)))))
回复 支持 反对

使用道具 举报

发表于 2025-9-21 23:06:24 | 显示全部楼层
guosheyang 发表于 2025-9-21 22:28
二维点失效  也就是需要二维点    你计算出来是个三维点   多了一个z值,所以将文本窗口中产生的三维坐标 ...

那我就不懂了,如果你讲的“计算出来是个三维点   多了一个z值”说法成立,那怎么解释UP主说的--把“多边形”更换成“线段”或者是“多段线”,cad一样能计算出相同的坐标,但不会报错(二维点失效)“呢?
这其中的缘由是什么?
回复 支持 反对

使用道具 举报

发表于 2025-9-21 23:19:44 | 显示全部楼层
本帖最后由 guosheyang 于 2025-9-21 23:21 编辑

题主  说的线段就是  line命令画直线  直线的坐标值是有z值的   题主说的更换成多段线 可以画出来  但是我测试 用这个 [@1+1,0] 同样是 出错的  提示 二维点错误。 轻量多段线的节点坐标没有z值   你要亲自去测试才会更清楚的
回复 支持 反对

使用道具 举报

发表于 2025-9-21 23:36:07 | 显示全部楼层
guosheyang 发表于 2025-9-21 23:19
题主  说的线段就是  line命令画直线  直线的坐标值是有z值的   题主说的更换成多段线 可以画出来  但是我 ...

你仔细看UP主说的那九个步骤:
1、画“多边形”,最后报错“二维点失效”;
2、同样的步骤,画“线段”或“多段线”,最后却不会报错“二维点失效”,一切正常;
3、我如果没有亲自测试,也冇工夫啰嗦这半天。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 08:59 , Processed in 0.296664 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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