明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1981|回复: 30

坐标原点的位置为什么会自己走位?

[复制链接]
发表于 2020-8-30 15:09 | 显示全部楼层 |阅读模式
本帖最后由 mokson 于 2020-9-3 08:21 编辑

原旧的UCS是在世界坐标 (0 0 0)的位置,但我只是切换一切视图,如前视图,坐标的原点位置就自动走位了。其它任何视图也一样。不知道为什么会这样,有什么方法切换视图后,让坐标的原点位置一直保持在原来的位置不动?



本帖子中包含更多资源

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

x
发表于 2020-9-8 13:29 | 显示全部楼层
本帖最后由 pzweng 于 2020-9-8 13:44 编辑

昨天因这个问题研究了下ucsbase,深度这个值我昨天试了但没注意到原点这个选项,昨天以手动方式解决了楼主的问题,其步骤与下面代码一致,刚刚整理好了代码

  1. (defun c:tt1 nil
  2.   (setq $wcs "$wcs")
  3.   (setvar 'cmdecho 0)
  4.   (command ".ucs" "w")
  5.   (command ".ucs" "s" $wcs)
  6.   (setvar 'ucsbase $wcs)
  7.   (command ".ucs" "w")
  8. ;;;  (entdel (tblobjname "UCS" $wcs)) ;只能手动方式删除,ucsman命中找到"$WCS"右键删除,之后所有原点都与WCS相同
  9.   (setvar 'cmdecho 1)
  10.   (princ)
  11. )

发表于 2020-9-8 17:20 | 显示全部楼层
本帖最后由 pzweng 于 2020-9-8 17:22 编辑
dunkel 发表于 2020-9-8 09:04
唉,发现很简单的。先选择俯视图,将 ucs置 wcs,还是上面提及的那个 ucsman对话框里,在“俯视”上右键, ...

这个问题我再深度挖掘了一下,原来还有更简单的方法,而且原点的修改也是这么得来的
命令: UCS
当前 UCS 名称: *俯视*
指定 UCS 的原点或 [面(F)/命名(NA)/对象(OB)/上一个(P)/视图(V)/世界(W)/X/Y/Z/Z 轴(ZA)] <世界>: m
指定新原点或 [Z 向深度(Z)] <0,0,0>: 这里直接点取WCS原点就行了


另外再挖出UCS命令隐藏的选项
[?/面(F)/命名(NA)/对象(OB)/对象(E)/删除(D)/起始(O)/还原(R)/预设(G)/应用(A)/新建(N)/移动(M)/上一个(P)/视图(V)/世界(W)/X/Y/Z/Z 轴(ZA)]有了这些选项更好的应用autolisp来控制了

 楼主| 发表于 2020-9-8 10:20 | 显示全部楼层
本帖最后由 mokson 于 2020-9-8 10:31 编辑
dunkel 发表于 2020-9-8 09:04
唉,发现很简单的。先选择俯视图,将 ucs置 wcs,还是上面提及的那个 ucsman对话框里,在“俯视”上右键, ...

世纪难题终于被你攻克,真的太历害了!佩服、膜拜您!


开始我也弄过这个 “深度” 右边的按钮,
也以为只是简单而普通的定点作用而已。
鼠标定点后确实将数值返回到左边的输入栏里,

也误以为点 “原点(o)” 这个选项后,只是将原点坐标的深度值复位为 0 值。
从而忽略了它,真想到它就是解决这个重置原点零值的问题的。
看来成败真的是体现在细微之间呀。


发表于 2020-9-2 21:07 | 显示全部楼层
本来就这么设计的。
如果只是变换视角,直接用orbit命令操作,或者shfit+按住中键操作,就能做到你要求的不改变显示的区域。

plan 命令也是这样,操作后会改变显示区域,所以我写了个小工具,能在plan之后保持原先的视图区域。
 楼主| 发表于 2020-9-3 08:24 | 显示全部楼层
不是视图区域,我说的是切换视图后,不改变坐标的原点位置。
发表于 2020-9-3 10:14 来自手机 | 显示全部楼层
是满奇怪的,刚在 2010 和 2019里试过,同一视口里切换视图,好像都是先恢复到 wcs 然后设置当前视图为 ucs。看上面动图,开始时的三维模式显示的应该是 wcs了,因为图标带小方框标记的;后来切换好像是同时改变了坐标系统原点似的。
图形dwg文件可以去除了敏感内容上传来看看吗?
 楼主| 发表于 2020-9-3 21:40 | 显示全部楼层
本帖最后由 mokson 于 2020-9-3 21:45 编辑
dunkel 发表于 2020-9-3 10:14
是满奇怪的,刚在 2010 和 2019里试过,同一视口里切换视图,好像都是先恢复到 wcs 然后设置当前视图为 ucs ...

感谢你的关注!
我觉得应该是某个系统参数变动了,
因为有的文件却不会出现这个情况。


本帖子中包含更多资源

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

x
发表于 2020-9-4 12:39 来自手机 | 显示全部楼层
ucsortho 置 0 可以避开这个坐标系统的变化,但这不是关键原因,问题是有几个预设的视图里有自己的 ucs原点设置,这可以从 ucsman命令的“预设”视图的“详细信息”里看到,或 dxfout 的 HEADER里的 $UCSORGTOP 这样的变量里看到,看了几看,就是没发现怎么简单地在 cad里去修改它。
 楼主| 发表于 2020-9-4 14:12 | 显示全部楼层
本帖最后由 mokson 于 2020-9-5 09:00 编辑

我是用默认的 acad.dwt 模板文件新建而成的文档。
可能是模板文件内部参数造成的缘故吧。
那么如何修改世界坐标的原点数据,让它恢复为 0,0,0 呢?

ucsorg是只读的,却不能修改原点坐标数据。
我看了大半天有关ucs的系统参数及命令,都找不到具体的方法。



本帖子中包含更多资源

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

x
发表于 2020-9-6 05:35 来自手机 | 显示全部楼层
默认模版这个值肯定是 0,0,0 的。要么模版被改过,要么是有插件或自己无意间什么操作引起的。对这个不熟,不知道怎么改动,只知道可以通过 dxf修改,或者复制到正常的文件里试试。以前遇到论坛里提及的 ttf字体显示边缘不平滑,后来也是不少时间才发现是视图相机和 Z轴不平行的原因(3DOrbit可形成)。
 楼主| 发表于 2020-9-6 08:57 | 显示全部楼层
我另存为 dxf 文件,然后用记事本打开并找到相关的数值,修改为0.0,然后保存。但是打开时出现错误。
DXF 输入无效或不完整 -- 图形被放弃。
发表于 2020-9-6 09:42 来自手机 | 显示全部楼层
<F2>切换到文本窗口,如果提示的是第一行错,可能是“记事本”用 utf-8 重新编码了,得用 ascii,的但再用 ascii保存又会把些汉字的 cad编码还原仍然错,所以还是用 UEdit32比较好。
或者,这个文件里的内容复制粘贴到正常文件里。
ucsortho置 0 暂时避开这个问题,不行吗。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 18:39 , Processed in 0.150975 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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