创建一个设施(在当前场景的中心体上)
root.ExecuteCommand('New / */Facility MyFacility');
设置设施的大地测量位置(纬度、经度、海拔)
%纬度、经度、高度
root.ExecuteCommand('SetPosition */Facility/MyFacility Geodetic 41.9849 21.4039 0');
其中Geodetic其他可选参数,如下:(其中MSL为Mean Sea Level,平均海平面)
Geodetic的<Parameters>中还有一种Terrain的情况,即将高度设置为地形的高度
root.ExecuteCommand('SetPosition */Facility/MyFacility Geodetic 41.9849 21.4039 UseTerrain');
将高度设置为离地面的距离
%默认单位是米
root.ExecuteCommand('SetHeightAboveGround */Facility/MyFacility 0.05');
设置方位角俯仰角遮蔽
root.ExecuteCommand('SetAzElMask */Facility/MyFacility Terrain');
给大家一个例子,抛砖引玉
uiap = actxserver('STK11.application');
root = uiap.Personality2;
root.NewScenario('MyScenario');
scen = root.CurrentScenario;
root.ExecuteCommand('New / */Facility MyFacility');
root.ExecuteCommand('SetPosition */Facility/MyFacility Geodetic 41.9849 21.4039 0');
root.ExecuteCommand('SetAzElMask */Facility/MyFacility Terrain');
可获得权柄,此时Facility.get就可以看到信息
FacilityPath = '*/Facility/MyFacility';
Facility=root.GetObjectFromPath(FacilityPath)