andy_lee 发表于 2022-7-5 18:40:38

有没有办法获取视图名称?

你好
有没有办法在当前图形中获取视图名称?
 
顶部、底部、左侧、右侧、前部等。
 
 
此代码是将对象从左视图更改为俯视图。
我想自动判断当前视图名称,并将对象更改为俯视图。
谢谢。
 

(defun c:test(/ ss)
(if(setq ss(ssget))
   (progn
   (setvar 'cmdecho 0)
   (command "_.rotate3d" ss "" "z" "non" "0,0,0" "90")
   (command "_.rotate3d" ss "" "x" "non" "0,0,0" "-90")
   (sssetfirst nil ss)
   (setvar 'cmdecho 1)
   )
   )
)

Hippe013 发表于 2022-7-5 18:57:47

我不相信当视图更改为左视图、右视图或底视图等时。。。将其存储为命名视图,就像要使用view命令并保存命名视图一样。
 
我想知道它是顶部还是左侧的一种方法是查看VIEWDIR系统变量。
 
例如:如果
(setq vdir (getvar "VIEWDIR"))返回(0,0,1.0),然后查看顶视图。(0,0,-1.0)=底部
如果返回(0,NegativeEnumber,0),则表示您正在查看前方
如果它返回(0,positiveenumber,0),则您正在查看背面
 
我希望这对你有所帮助。
 
当做
 

andy_lee 发表于 2022-7-5 18:59:45

你好,希普
我在上、左、右、前视图中使用(getvar“VIEWDIR”),所有返回值(0.0 0.0 1.0)

hmsilva 发表于 2022-7-5 19:06:42

嗨,andy_lee,
您必须测试viewdir、ucsxdir和ucsydir系统变量。。。
 
希望这有帮助,
亨里克

eldon 发表于 2022-7-5 19:22:35

也许您可以使用命令VPOINT。
 
这来自我的帮助文件
 

andy_lee 发表于 2022-7-5 19:25:25

 
尊敬的Henrique:
非常感谢你!emk2012是我。

hmsilva 发表于 2022-7-5 19:36:13

 
不客气,李
很高兴我能帮忙!
 
 
我知道emk2012是你。。。
亨里克

andy_lee 发表于 2022-7-5 19:42:48

 
尊敬的Henrique:
你帮了我很多次!非常感谢大家!
页: [1]
查看完整版本: 有没有办法获取视图名称?