坐标原点的位置为什么会自己走位?
本帖最后由 mokson 于 2020-9-3 08:21 编辑原旧的UCS是在世界坐标 (0 0 0)的位置,但我只是切换一切视图,如前视图,坐标的原点位置就自动走位了。其它任何视图也一样。不知道为什么会这样,有什么方法切换视图后,让坐标的原点位置一直保持在原来的位置不动?
本帖最后由 pzweng 于 2020-9-8 13:44 编辑
昨天因这个问题研究了下ucsbase,深度这个值我昨天试了但没注意到原点这个选项,昨天以手动方式解决了楼主的问题,其步骤与下面代码一致,刚刚整理好了代码
(defun c:tt1 nil
(setq $wcs "$wcs")
(setvar 'cmdecho 0)
(command ".ucs" "w")
(command ".ucs" "s" $wcs)
(setvar 'ucsbase $wcs)
(command ".ucs" "w")
;;;(entdel (tblobjname "UCS" $wcs)) ;只能手动方式删除,ucsman命中找到"$WCS"右键删除,之后所有原点都与WCS相同
(setvar 'cmdecho 1)
(princ)
)
本帖最后由 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
指定新原点或 <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来控制了
本帖最后由 mokson 于 2020-9-8 10:31 编辑
dunkel 发表于 2020-9-8 09:04
唉,发现很简单的。先选择俯视图,将 ucs置 wcs,还是上面提及的那个 ucsman对话框里,在“俯视”上右键, ...
世纪难题终于被你攻克,真的太历害了!佩服、膜拜您!
开始我也弄过这个 “深度” 右边的按钮,
也以为只是简单而普通的定点作用而已。
鼠标定点后确实将数值返回到左边的输入栏里,
也误以为点 “原点(o)” 这个选项后,只是将原点坐标的深度值复位为 0 值。
从而忽略了它,真想到它就是解决这个重置原点零值的问题的。
看来成败真的是体现在细微之间呀。
本来就这么设计的。
如果只是变换视角,直接用orbit命令操作,或者shfit+按住中键操作,就能做到你要求的不改变显示的区域。
plan 命令也是这样,操作后会改变显示区域,所以我写了个小工具,能在plan之后保持原先的视图区域。 不是视图区域,我说的是切换视图后,不改变坐标的原点位置。 是满奇怪的,刚在 2010 和 2019里试过,同一视口里切换视图,好像都是先恢复到 wcs 然后设置当前视图为 ucs。看上面动图,开始时的三维模式显示的应该是 wcs了,因为图标带小方框标记的;后来切换好像是同时改变了坐标系统原点似的。
图形dwg文件可以去除了敏感内容上传来看看吗? 本帖最后由 mokson 于 2020-9-3 21:45 编辑
dunkel 发表于 2020-9-3 10:14
是满奇怪的,刚在 2010 和 2019里试过,同一视口里切换视图,好像都是先恢复到 wcs 然后设置当前视图为 ucs ...
感谢你的关注!
我觉得应该是某个系统参数变动了,
因为有的文件却不会出现这个情况。
ucsortho 置 0 可以避开这个坐标系统的变化,但这不是关键原因,问题是有几个预设的视图里有自己的 ucs原点设置,这可以从 ucsman命令的“预设”视图的“详细信息”里看到,或 dxfout 的 HEADER里的 $UCSORGTOP 这样的变量里看到,看了几看,就是没发现怎么简单地在 cad里去修改它。 本帖最后由 mokson 于 2020-9-5 09:00 编辑
我是用默认的 acad.dwt 模板文件新建而成的文档。
可能是模板文件内部参数造成的缘故吧。
那么如何修改世界坐标的原点数据,让它恢复为 0,0,0 呢?
ucsorg是只读的,却不能修改原点坐标数据。
我看了大半天有关ucs的系统参数及命令,都找不到具体的方法。
默认模版这个值肯定是 0,0,0 的。要么模版被改过,要么是有插件或自己无意间什么操作引起的。对这个不熟,不知道怎么改动,只知道可以通过 dxf修改,或者复制到正常的文件里试试。以前遇到论坛里提及的 ttf字体显示边缘不平滑,后来也是不少时间才发现是视图相机和 Z轴不平行的原因(3DOrbit可形成)。 我另存为 dxf 文件,然后用记事本打开并找到相关的数值,修改为0.0,然后保存。但是打开时出现错误。
DXF 输入无效或不完整 -- 图形被放弃。 <F2>切换到文本窗口,如果提示的是第一行错,可能是“记事本”用 utf-8 重新编码了,得用 ascii,的但再用 ascii保存又会把些汉字的 cad编码还原仍然错,所以还是用 UEdit32比较好。
或者,这个文件里的内容复制粘贴到正常文件里。
ucsortho置 0 暂时避开这个问题,不行吗。