MATLAB与STK互联7:查看STK中对象的属性(4)—卫星对象属性梳理3

卫星对象共有35个属性,这篇再介绍几个比较重要的属性,剩下的属性就由大家自己探索吧。
属性6:Graphics
含义:卫星二维显示界面。
属性查看方式:在MATLAB中使用sat.Graphics语句,即可获取当前sat的二维显示界面控制句柄。
属性值是否可修改及修改方式:不可修改。可获取二维显示界面的控制句柄。使用语句:
sat2D = sat.Graphics;
%二维场景中不显示卫星对象,则可使用下面的语句
%语句执行效果类似于在卫星对象二维显示界面属性中勾掉show,即卫星
%不再显示在二维界面中
sat2D.IsObjectGraphicsVisible = 0;

可以通过sat2D.get获取二维显示界面更多的属性,这里不再展开讲。

属性7:VO
含义:卫星三维显示界面。
属性查看方式:在MATLAB中使用sat.VO语句,即可获取当前sat的三维显示界面控制句柄。
属性值是否可修改及修改方式:不可修改。可获取三维显示界面的控制句柄。使用语句:
sat3D = sat.VO;
%卫星三维显示常用的设置为OrbitSystems,卫星在三维显示界面中的轨迹
%显示形式 FixedByWindow、InertialByWindow或者增加其他格式。
%STK一般默认为InertialByWindow
sat3D.OrbitSystems.FixedByWindow.IsVisible
sat3D.OrbitSystems.InertialByWindow.IsVisible
%对三维显示重新设置
sat3D.OrbitSystems.FixedByWindow.IsVisible = true;
sat3D.OrbitSystems.InertialByWindow.IsVisible = false;

属性8:InstanceName
含义:卫星对象在STK内的名字。
属性查看方式:在MATLAB中使用sat.InstanceName语句,即可获取当前sat的名字。
属性值是否可修改及修改方式:可修改,重新赋值即可。
%获取sat对应在STK场景中卫星对象的名字
sat.InstanceName
%执行以下语句,可以对STK中卫星对象重命名
sat.InstanceName = ‘mysat_new’;
属性9:Path
含义:获取卫星对象所在路径。
属性查看方式:在MATLAB中使用sat.InstanceName语句,即可获取当前sat的路径。这个路径,不同于文件保存路径。
属性值是否可修改及修改方式:应该是不能修改。目前还没做过尝试。
%获取sat所在的路径
sat.Path
%结果显示的路径:/Application/STK/Scenario/exam1/Satellite/mysat_new
属性9:Vgt
含义:获取卫星对象的几何工具控制句柄。所谓几何工具,就是可以在sat对象增加点、向量、坐标系、平面、角度等一系列的新定义,这个工具对于后续编程很有用。
属性查看方式:在MATLAB中使用sat.vgt语句,即可获取当前sat的几何工具控制句柄。
属性值是否可修改及修改方式:不能修改。
%通过以下语句可以获取几何工具对象的属性,这里不再展开讲述。后续如有需要在单独整理
sat.Vgt.get

本篇用到的代码如下,建议亲自动手输入:

uiap = actxserver(‘STK11.application’);%启动STK软件,并获取控制句柄
root = uiap.Personality2;
root.NewScenario(‘exam1’);%建立新场景,场景名exam1
sc = root.CurrentScenario;%获取当前场景的控制句柄
sat = sc.Children.New(‘eSatellite’,‘mysat’);%在场景中新建名称mysat的卫星

sat.Propagator.Propagate;
sat.get%获取卫星对象的属性

%获取卫星对象二维显示控制句柄,创建了卫星二维显示对象
sat2D = sat.Graphics;
%二维显示对象属性查看
sat2D.get
%查看卫星显示状态,建议在STK里进行设置后,再输入以下语句
sat2D.IsObjectGraphicsVisible
%不让卫星对象显示在场景中
sat2D.IsObjectGraphicsVisible = 0;

%获取卫星对象三维显示控制句柄,创建卫星三维显示对象
sat3D = sat.VO;
%三维显示属性查看
sat3D.get

%先让卫星处于显示状态
sat2D.IsObjectGraphicsVisible = 1;
%设置卫星轨迹在三维中的显示样式
%先查看相关信息。建议在STK软件中确认相关设置状态,对比结果
sat3D.OrbitSystems.FixedByWindow.IsVisible
sat3D.OrbitSystems.InertialByWindow.IsVisible
%进行重新设置
sat3D.OrbitSystems.FixedByWindow.IsVisible = true;
sat3D.OrbitSystems.InertialByWindow.IsVisible = false;

%修改卫星名称。先查看当前卫星的名称
sat.InstanceName
%设置新的卫星名称
sat.InstanceName = ‘newsat’;

以上代码均已进行运行测试,请注意STK版本。

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值