使用tle文件在STK中添加卫星后,批量为卫星添加传感器

至于怎么使用tle文件添加卫星,可以参照别的博主的内容

博主什么也不会,下面的代码是东拼西凑的,感谢来自chatgpt的大力支持,虽然它没整出来.

Matlab和STK联合使用

关于root.ExecuteCommand,我的理解是一个比较万能的命令传输器.里面的命令的格式最好参照STK官方文档中的programming interface help,找到这个文档中的   library reference,展开这个列表,再展开这个列表中的Connect Command library,这个词条下就是关于STK的指令,在matlab中可以通过ExecuteCommand传递这些指令,具体怎么用就看到底要做什么了,反正挺折磨的,博主到现在也没弄明白.

%% 这里用connector获取STK场景中卫星的名称
%混着COM使用是因为单独使用COM命令获取名称时会报错,说超出长度?不懂
%记得先打开STK
%记得分块运行
stkInit;
remMachine = stkDefaultHost;
objNames = stkObjNames;  %获取obj的名称
% conid = stkOpen(stkDefaultHost);  %获取连接句柄,没什么用,不用管

%%
uiapp = actxGetRunningServer('STK11.application');
root = uiapp.Personality2;

%%
%看看objNames里面,卫星从第几个开始,这样可以修改for循环的起始位
for i = 8 :length(stkObjNames)
    name = strsplit(objNames{i,1},'/');
    command = sprintf('New / */Satellite/%s/Sensor sen', char(name(5)));
    root.ExecuteCommand(command);
%     stkNewObj(['*/Satellite/' char(name(5))],'Sensor','sen');
%     strSetSensor = ('SimpleCone 40.00');            %简单圆锥,40°
%     stkConnect(conid,'Define',['*/Satellite/' char(name(5)) '/Sensor/' 'sen'],strSetSensor);
    command2 = sprintf('Define */Satellite/%s/Sensor/sen SimpleCone 40', char(name(5)));
    root.ExecuteCommand(command2)
end

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值