乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 137|回复: 2

[编程交流] 如何接收摄像机目标o

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 21:54:26 | 显示全部楼层 |阅读模式
我使用Autodesk在C#上创建应用程序。AutoCAD。与AutoCad交互。我尝试接收摄像机方向:
 
  1. var _app = (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application");
  2. var viewport = _app.ActiveDocument.ActiveViewport;
  3. var dir = viewport.Direction;

 
但在模型旋转之后,我总是收到相同的方向值。如果我使用以下代码:
 
  1. var _app = (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application");
  2. var viewport = _app.ActiveDocument.ActiveViewport;
  3. var dir = viewport.Direction;

 
并激活布局上的视口-旋转模型后,我收到正确方向的差异。
 
如何在模型视口上接收正确的相机方向?
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 22:28:11 | 显示全部楼层
 
我在AutoCAD ActiveX(通过Interop使用的API)文档中发现了这一点:
 
除非视口处于活动状态,否则无法执行编辑或视图更改。要激活视口,请在文档对象上使用ActiveViewport属性。
 
更改完成后,必须将视口重置为活动视口,以显示更改。要重置活动视口,只需使用更新的视口对象再次调用ActiveViewport属性。
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:04:32 | 显示全部楼层
谢谢你,肖特,
 
但我不想更新视口,我想接收方向的实际值。每次,我都会创建视口的新实例。但在AutoCad中对视口方向进行手动更改后,我总是会收到相同的方向值。如果我重新启动AutoCad-我会收到方向的更新值。
 
还有什么想法吗?
 
有人能检查以下代码吗
  1. var _app = (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application");
  2. var viewport = _app.ActiveDocument.ActiveViewport;
  3. var dir = viewport.Direction;

 
也许我的AutoCAD有问题。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 12:52 , Processed in 0.445971 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表