Satellite properties.
Create a satellite (on current scenario central body)
[C#] | Copy Code |
---|
IAgSatellite satellite = root.CurrentScenario.Children.New(AgESTKObjectType.eSatellite, "MySatellite") as IAgSatellite;
|
|
Create a satellite from the satellite database
[C#] | Copy Code |
---|
IAgExecCmdResult result = root.ExecuteCommand("GetDirectory / Database Satellite");
string satDataDir = result[0];
string filelocation = "\"" + Path.Combine(satDataDir, @"stkAllTLE.sd") + "\"";
string commonname = "\"hst\"";
string command = String.Format("ImportFromDB * Satellite {0} Constellation ImportedFromSatDB Propagate On CommonName {1}", filelocation, commonname);
root.ExecuteCommand(command);
|
|
Set the satellite to use the J2 propagator
[C#] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorJ2Perturbation);
IAgVePropagatorJ2Perturbation propagator = satellite.Propagator as IAgVePropagatorJ2Perturbation;
|
|
Set the satellite to use the GPS propagator
[C#] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorGPS);
IAgVePropagatorGPS propagator = satellite.Propagator as IAgVePropagatorGPS;
|
|
Set the satellite to use the STK External propagator
[C#] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorStkExternal);
IAgVePropagatorStkExternal propagator = satellite.Propagator as IAgVePropagatorStkExternal;
|
|
Set the satellite to use the SGP4 propagator
[C#] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorSGP4);
IAgVePropagatorSGP4 propagator = satellite.Propagator as IAgVePropagatorSGP4;
|
|
Set the satellite to use the SPICE propagator
[C#] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorSPICE);
IAgVePropagatorSPICE propagator = satellite.Propagator as IAgVePropagatorSPICE;
|
|
Set the satellite to use the LOP propagator
[C#] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorLOP);
IAgVePropagatorLOP propagator = satellite.Propagator as IAgVePropagatorLOP;
|
|
Set the satellite to use the HPOP propagator
[C#] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorHPOP);
IAgVePropagatorHPOP propagator = satellite.Propagator as IAgVePropagatorHPOP;
|
|
Configure Target Slew for a satellite
[C#] | Copy Code |
---|
IAgVeOrbitAttitudeStandard orbitAttStandard = satellite.Attitude as IAgVeOrbitAttitudeStandard;
orbitAttStandard.Pointing.UseTargetPointing = true;
orbitAttStandard.Pointing.Targets.Add("Facility/FacSlew");
orbitAttStandard.Pointing.TargetSlew.SetSlewModeType(AgEVeSlewMode.eVeSlewModeConstrained2ndOrderSpline);
IAgVeAttSlewConstrained constrainedSlew = orbitAttStandard.Pointing.TargetSlew.SlewMode as IAgVeAttSlewConstrained;
constrainedSlew.MaximumSlewTime = 20.0;
constrainedSlew.SlewTimingBetweenTargets = AgEVeSlewTimingBetweenTargets.eVeSlewTimingBetweenTargetsOptimal;
IAgVeAttMaximumSlewRate maxRate = constrainedSlew.MaximumSlewRate;
maxRate.Magnitude = 10.0;
maxRate.PerAxisXEnabled = true;
maxRate.PerAxisX = 5.0;
maxRate.PerAxisYEnabled = true;
maxRate.PerAxisY = 5.0;
maxRate.PerAxisZEnabled = true;
maxRate.PerAxisZ = 5.0;
IAgVeAttMaximumSlewAcceleration maxAcceleration = constrainedSlew.MaximumSlewAcceleration;
maxAcceleration.Magnitude = 10.0;
maxAcceleration.PerAxisXAccelEnabled = true;
maxAcceleration.PerAxisXAccel = 5.0;
maxAcceleration.PerAxisYAccelEnabled = true;
maxAcceleration.PerAxisYAccel = 5.0;
maxAcceleration.PerAxisZAccelEnabled = true;
maxAcceleration.PerAxisZAccel = 5.0;
|
|
Create a satellite (on current scenario central body)
[Visual Basic .NET] | Copy Code |
---|
Dim satellite As IAgSatellite = TryCast(root.CurrentScenario.Children.[New](AgESTKObjectType.eSatellite, "MySatellite"), IAgSatellite)
|
|
Create a satellite from the satellite database
[Visual Basic .NET] | Copy Code |
---|
Dim result As IAgExecCmdResult = root.ExecuteCommand("GetDirectory / Database Satellite") Dim satDataDir As String = result(0) Dim filelocation As String = """" + Path.Combine(satDataDir, "stkAllTLE.sd") + """" Dim commonname As String = """hst"""
Dim command As String = [String].Format("ImportFromDB * Satellite {0} Constellation ImportedFromSatDB Propagate On CommonName {1}", filelocation, commonname) root.ExecuteCommand(command)
|
|
Set the satellite to use the J2 propagator
[Visual Basic .NET] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorJ2Perturbation)
Dim propagator As IAgVePropagatorJ2Perturbation = TryCast(satellite.Propagator, IAgVePropagatorJ2Perturbation)
|
|
Set the satellite to use the GPS propagator
[Visual Basic .NET] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorGPS)
Dim propagator As IAgVePropagatorGPS = TryCast(satellite.Propagator, IAgVePropagatorGPS)
|
|
Set the satellite to use the STK External propagator
[Visual Basic .NET] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorStkExternal)
Dim propagator As IAgVePropagatorStkExternal = TryCast(satellite.Propagator, IAgVePropagatorStkExternal)
|
|
Set the satellite to use the SGP4 propagator
[Visual Basic .NET] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorSGP4)
Dim propagator As IAgVePropagatorSGP4 = TryCast(satellite.Propagator, IAgVePropagatorSGP4)
|
|
Set the satellite to use the SPICE propagator
[Visual Basic .NET] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorSPICE)
Dim propagator As IAgVePropagatorSPICE = TryCast(satellite.Propagator, IAgVePropagatorSPICE)
|
|
Set the satellite to use the LOP propagator
[Visual Basic .NET] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorLOP)
Dim propagator As IAgVePropagatorLOP = TryCast(satellite.Propagator, IAgVePropagatorLOP)
|
|
Set the satellite to use the HPOP propagator
[Visual Basic .NET] | Copy Code |
---|
satellite.SetPropagatorType(AgEVePropagatorType.ePropagatorHPOP)
Dim propagator As IAgVePropagatorHPOP = TryCast(satellite.Propagator, IAgVePropagatorHPOP)
|
|
Configure Target Slew for a satellite
[Visual Basic .NET] | Copy Code |
---|
Dim orbitAttStandard As IAgVeOrbitAttitudeStandard = TryCast(satellite.Attitude, IAgVeOrbitAttitudeStandard) orbitAttStandard.Pointing.UseTargetPointing = True orbitAttStandard.Pointing.Targets.Add("Facility/FacSlew") orbitAttStandard.Pointing.TargetSlew.SetSlewModeType(AgEVeSlewMode.eVeSlewModeConstrained2ndOrderSpline)
Dim constrainedSlew As IAgVeAttSlewConstrained = TryCast(orbitAttStandard.Pointing.TargetSlew.SlewMode, IAgVeAttSlewConstrained) constrainedSlew.MaximumSlewTime = 20
constrainedSlew.SlewTimingBetweenTargets = AgEVeSlewTimingBetweenTargets.eVeSlewTimingBetweenTargetsOptimal
Dim maxRate As IAgVeAttMaximumSlewRate = constrainedSlew.MaximumSlewRate maxRate.Magnitude = 10
maxRate.PerAxisXEnabled = True maxRate.PerAxisX = 5
maxRate.PerAxisYEnabled = True maxRate.PerAxisY = 5
maxRate.PerAxisZEnabled = True maxRate.PerAxisZ = 5
Dim maxAcceleration As IAgVeAttMaximumSlewAcceleration = constrainedSlew.MaximumSlewAcceleration maxAcceleration.Magnitude = 10
maxAcceleration.PerAxisXAccelEnabled = True maxAcceleration.PerAxisXAccel = 5
maxAcceleration.PerAxisYAccelEnabled = True maxAcceleration.PerAxisYAccel = 5
maxAcceleration.PerAxisZAccelEnabled = True maxAcceleration.PerAxisZAccel = 5
|
|
Create a satellite (on the current scenario central body)
[MATLAB] | Copy Code |
---|
% IAgStkObjectRoot root: STK Object Model Root satellite = root.CurrentScenario.Children.New('eSatellite', 'MySatellite');
|
|
Set satellite attitude basic spinning
[MATLAB] | Copy Code |
---|
% IAgSatellite satellite: Satellite object basic = satellite.Attitude.Basic; basic.SetProfileType('eProfileSpinning') basic.Profile.Body.AssignXYZ(0,0,1) basic.Profile.Inertial.AssignXYZ(0,1,0); basic.Profile.Rate = 6; % rev/sec
|
|
Set satellite attitude targeting
[MATLAB] | Copy Code |
---|
% IAgSatellite satellite: Satellite object attitudePointing = satellite.Attitude.Pointing; attitudePointing.UseTargetPointing = 1; attitudePointing.Targets.RemoveAll; attitudePointing.Targets.Add('AreaTarget/MyAreaTarget'); attitudePointing.TargetTimes.UseAccessTimes;
|
|
Set satellite attitude external
[MATLAB] | Copy Code |
---|
% IAgSatellite satellite: Satellite object satellite.Attitude.External.Load('C:\Program Files\AGI\STK 11\Help\stktraining\text\AttitudeTimeEulerAngles_Example.a');
|
|
Set up target slewing
[MATLAB] | Copy Code |
---|
% IAgSatellite satellite: Satellite object attitudeSlewing = satellite.Attitude.Pointing.TargetSlew; attitudeSlewing.SetSlewModeType('eVeSlewModeConstrained2ndOrderSpline'); constrainedSlew = attitudeSlewing.SlewMode; constrainedSlew.MaximumSlewTime = 20; % sec constrainedSlew.SlewTimingBetweenTargets = 'eVeSlewTimingBetweenTargetsOptimal'; maxRate = constrainedSlew.MaximumSlewRate; maxRate.Magnitude = 10; % deg/sec maxRate.PerAxisXEnabled = 1; maxRate.PerAxisX = 5; % deg/sec maxRate.PerAxisYEnabled = 1; maxRate.PerAxisY = 5; % deg/sec maxRate.PerAxisZEnabled = 1; maxRate.PerAxisZ = 5; % deg/sec maxAcceleration = constrainedSlew.MaximumSlewAcceleration; maxAcceleration.Magnitude = 10; % deg/sec^2 maxAcceleration.PerAxisXAccelEnabled = 1; maxAcceleration.PerAxisXAccel = 5; % deg/sec^2 maxAcceleration.PerAxisYAccelEnabled = 1; maxAcceleration.PerAxisYAccel = 5; % deg/sec^2 maxAcceleration.PerAxisZAccelEnabled = 1; maxAcceleration.PerAxisZAccel = 5; % deg/sec^2
|
|
Create a satellite (on the current scenario central body)
[Python] | Copy Code |
---|
# IAgStkObjectRoot root: STK Object Model Root satellite = root.CurrentScenario.Children.New(18, 'MySatellite') # eSatellite
|
|
Set satellite attitude basic spinning
[Python] | Copy Code |
---|
# IAgSatellite satellite: Satellite object basic = satellite.Attitude.Basic basic.SetProfileType(16) # eProfileSpinning basic.Profile.Body.AssignXYZ(0,0,1) basic.Profile.Inertial.AssignXYZ(0,1,0) basic.Profile.Rate = 6 # rev/sec
|
|
Set satellite attitude targeting
[Python] | Copy Code |
---|
# IAgSatellite satellite: Satellite object attitudePointing = satellite.Attitude.Pointing attitudePointing.UseTargetPointing = 1 attitudePointing.Targets.RemoveAll() attitudePointing.Targets.Add('AreaTarget/MyAreaTarget') attitudePointing.TargetTimes.UseAccessTimes = True
|
|
Set satellite attitude external
[Python] | Copy Code |
---|
# IAgSatellite satellite: Satellite object satellite.Attitude.External.Load(r'C:\Program Files\AGI\STK 11\Help\stktraining\text\AttitudeTimeEulerAngles_Example.a')
|
|