OHM Space Launch System for Orbiter 2016 0.1.2

Just keep your shirt on. He is close to a release. Gattis allowed me to do some of the testing and this addon will be up there with AMSO and Shuttle Fleet.. Not only will you be able to follow the Artemis missions but go inside and put on a suit and helmet and fly the missions or create LEO missions . The amount of detail in this thing is incredible. My hope is that someday you will be able to fold up the lower seats and float over to the galley for a meal or just look out the window as the Moon goes by. but that might have to wait gattis has put about three weeks into this project and it's super
 
HI, I have a small technical question relating to this mission and the flight plan which was released.

When in the ATTITUDE rows the following acronyms are used:

bias –XSI, PAO, -XSI spin, -ZSI (during start trakers exercise), bias +YSI, +XMI ….

What is their meanings?
+/-X, +/-Y, +/-Z are the Orion body axis (i suppose), but what is the meaning of the “S”, “M”, “I”, “PAO” … and what they mean with “bias” ?

how the spacecraft should be oriented during these flight phases?
thanks for the clarification.
:coffee:
 

Attachments

Try this out. Keys CTRL -J sep CM from SM
0 docking lights
2 center solar panels
6/7 move panels fore/aft. Press 6 to move press again to stop.
CTRL and space open s the dialogue box to control the rotation of the panels.
4 switches CAM
1 unfolds the panels
G open hatch

I know of some issues. One is when you separate the solar panels animation state is not carried over
 

Attachments

I am sure changes will be needed. There are some code issues. But working on adding some stuff for launches
 
One thing I noticed was on the Orion the 2 top RCS ports are on top on the capsule and the cover has slots for them. So a new cover and capsule mesh was needed.
 
MAybe a new thread? But the thing I don't like is when the LAS and Fairing seperate. It goes by fast
::blowLas() { VESSELSTATUS vs; char name[256]; PROPELLANT_HANDLE ph_las_aux; THRUSTER_HANDLE th_las_aux; // OBJHANDLE h; VESSEL* v; if (oapiGetTimeAcceleration() > 10) // Slow down oapiSetTimeAcceleration(10); // SetEmptyMass (CM_DRYMASS+CM_FUEL+SM_DRYMASS+SM_FUEL); //ReloadMeshes(); GetStatus(vs); vs.flag[0] = 3; VECTOR3 ofs = { 0, 0, mode == 12 ? -8 : 0 }; Local2Rel(ofs, vs.rpos); VECTOR3 vel = _V(0, 0, 0.02); VECTOR3 rofs, rvel = { vs.rvel.x, vs.rvel.y, vs.rvel.z }; GlobalRot(vel, rofs); vs.rvel.x = rvel.x + rofs.x; vs.rvel.y = rvel.y + rofs.y; vs.rvel.z = rvel.z + rofs.z; strcpy(name, GetName()); strcat(name, "-LAS"); fairLh = oapiCreateVessel(name, "Orion-MPCV\\Orion-MPCV-LAS", vs); v = oapiGetVesselInterface(fairLh); v->SetEmptyMass(3696); ph_las_aux = v->CreatePropellantResource(480, 480, 1.0); th_las_aux = v->CreateThruster(_V(0.0, 0.0, 9.5), _V(0.0, 0.001, 1), 563250.0, ph_las_aux, LAS_ISP); v->SetThrusterLevel(th_las_aux, 1.0); v->SetEnableFocus(false); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(0.0, 0.4, 12.3), _V(0, 0.4, -0.5), tex_rcs); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(0.4, 0.0, 12.3), _V(0.4, 0, -0.5), tex_rcs); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(0.0, -0.4, 12.3), _V(-0, -0.4, -0.5), tex_rcs); v->AddExhaust(th_las_aux, 8.0, 0.6, _V(-0.4, 0.0, 12.3), _V(-0.4, 0, -0.5), tex_rcs); v->SetPitchMomentScale(1e-5); v->SetBankMomentScale(1e-5); SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_NEVER); }

It creates the vessel but never see it jettison off
 
I fixed some things trying to get to launch.

But found issues.
On the Abort The SM disappears but the CM and LAS just stay there. The reason is it is still attached to the SLS. But the SM is built and falls to the ground

My code is based off an older Orion. Not sure if the newer Orion code fixes these.

But the sequence is when you press J

blowSM();
blowFairing();
SetConfig12_Abort();


What happens in the blow SM is a new vessel is created on the SM and in the Orion the SM part is not seen. That part I can change to say if in the atmosphere then just create the SM and do not fire sep thrusters.

But how to get the CM and LAS away from the SLS?
 

Attachments

  • slslaunchneworion.zip
    slslaunchneworion.zip
    82.9 KB · Views: 43
  • orionabort.jpg
    orionabort.jpg
    77.1 KB · Views: 20
  • orionlaunch1.jpg
    orionlaunch1.jpg
    79.1 KB · Views: 20
  • orionlaunch.jpg
    orionlaunch.jpg
    115 KB · Views: 20
For example, the RF Communications Team at NASA’s Marshall Space Flight Center routinely uses Ansys 3D electromagnetic simulation software and Ansys Systems Tool Kit STK , a physics-based modeling environment.
 
On the Abort The SM disappears but the CM and LAS just stay there.
The short answer is: An in-flight abort should always work, while a pad abort does not. This may have to do with the vessel state 'landed' vs 'orbiting Earth'.

The long answer may be more complicated: Because after doing an in-flight abort, then also subsequent pad aborts worked, when keeping the same Orbiter session running. This looks like improper initialisation of a (global?) variable.
 
Check out how I did pad aborts with DE Expansion. Works every time.
The code to do it actually quite simple, but on the other hand I was using a custom launch vehicle dll as well.
 
I got the Abort on the pad to work. And separation to work. I have run into something odd that I can't figure out.

In my working version it works. But in a vanilla it doesn't. So if I add this vessel no issue but press f1 then a ctd. nothing in the log. But if the new orion is in the scenario then press f1 then no issue.

I thought it was the mesh order?

As it creates 5 meshes. Then clears them and show the correct meshes for the correct stage.


When you add it is uses these meshes.
clbkSetClassCaps(FILEHANDLE cfg)
hOrbiterMAINMesh = oapiLoadMeshGlobal("NEWORION\\ORION_CM4BLUE"); hOrbiterVCMesh = oapiLoadMeshGlobal("NEWORION\\ORION_VCNEW13"); hsmMeshUINT = oapiLoadMeshGlobal("NEWORION\\NEWSM1"); hcoverMeshUINT = oapiLoadMeshGlobal("NEWORION\\ORIONNEWCOVER"); hcrewMeshUINT = oapiLoadMeshGlobal("NEWORION\\NEWORION4CREW"); SetMeshVisibilityMode(mesh_idx[1] = AddMesh(hOrbiterMAINMesh), MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[2] = AddMesh(hOrbiterVCMesh), MESHVIS_VC | MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[3] = AddMesh(hsmMeshUINT), MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[4] = AddMesh(hcoverMeshUINT), MESHVIS_ALWAYS); SetMeshVisibilityMode(mesh_idx[5] = AddMesh(hcrewMeshUINT), MESHVIS_ALWAYS); cdr1_mfd = { mesh_idx[2],GRP_LEFTMFDSCREEN }; plt1_mfd = { mesh_idx[2],GRP_RIGHTMFDSCREEN1 }; cntr1_mfd = { mesh_idx[2],GRP_CENTERMFDSCREEN }; }
Then meshes are cleared. and depending on the mode certain meshes are seen
ClearMeshes(TRUE); switch (mode) { case 0: case 1: dz = 0; break; case 2: case 3: case 4: case 5: case 6: dz = -2.06; break; // capsule config case 10: case 11: dz = 0; break; case 12: dz = -2; break; } ofs = _V(0, 0, 0 + dz); //ofs_camera = _V(-0.30, 1.368, 2.3 + dz); // left hand seat, eye-point of docking window ofs_camera = _V(-0.41, 1.6, 2.241); // left hand seat, eye-point of docking window _V(-0.41, 1.6, 2.2+dz); //ofs_hud = _V(0, 1.6, 2.5 + dz); SetCameraOffset(ofs_camera); hOrbiterMAINMesh = oapiLoadMeshGlobal("NEWORION\\ORION_CM4BLUE"); //hOrbiterMAINMesh = oapiLoadMeshGlobal("TALON\\orioncm1"); hOrbiterVCMesh = oapiLoadMeshGlobal("NEWORION\\ORION_VCNEW13"); //hsmMeshUINT = oapiLoadMeshGlobal("TALON\\NEWSM"); SetMeshVisibilityMode(mesh_idx[1] = AddMesh(hOrbiterMAINMesh), MESHVIS_ALWAYS);//MESH 0 SetMeshVisibilityMode(mesh_idx[2] = AddMesh(hOrbiterVCMesh), MESHVIS_VC | MESHVIS_ALWAYS);//MESH 1 smMeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\NEWSM1")); SetMeshVisibilityMode(smMeshUINT, MESHVIS_NEVER); coverMeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\ORIONNEWCOVER"));// mesh4 SetMeshVisibilityMode(coverMeshUINT, MESHVIS_NEVER); //heatshield heatshieldMeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\NEWORIONHEATSHIELD")); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_NEVER); //astroMeshUINT = AddMesh(oapiLoadMeshGlobal("TALON\\TALON_CREW"));// mesh5 //SetMeshVisibilityMode(astroMeshUINT, MESHVIS_EXTERNAL); astro1MeshUINT = AddMesh(oapiLoadMeshGlobal("NEWORION\\NEWORION4CREW"));// mesh5 SetMeshVisibilityMode(astro1MeshUINT, MESHVIS_VC | MESHVIS_ALWAYS); drogueMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-drogue")); SetMeshVisibilityMode(drogueMeshUINT, MESHVIS_NEVER); chuteMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-chute")); SetMeshVisibilityMode(chuteMeshUINT, MESHVIS_NEVER); BallonMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-balloons")); SetMeshVisibilityMode(BallonMeshUINT, MESHVIS_NEVER); lasMeshMeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-las"));// mesh13 SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_NEVER); fair1MeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-fair1")); fair2MeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-fair2")); fair3MeshUINT = AddMesh(oapiLoadMeshGlobal("Orion-MPCV\\orion-fair3")); SetMeshVisibilityMode(fair1MeshUINT, MESHVIS_NEVER); SetMeshVisibilityMode(fair2MeshUINT, MESHVIS_NEVER); SetMeshVisibilityMode(fair3MeshUINT, MESHVIS_NEVER); switch (mode) { case 0: //AddMesh(coverMesh, &ofs); SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); //AddMesh(smMesh, &ofs); // AddMesh(solar0Mesh, &ofs); break; case 1: // Orbit config SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; case 2: // Orbit config if (!t_0) SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); if (GetAltitude() < 82000) SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); // SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); // if (!t_0) AddMesh(coverMesh, &ofs); // if (GetAltitude() < 82000) // AddMesh(heatshieldMesh, &ofs); ShiftCentreOfMass(ofs); break; break; case 3: // Drogue config if (!t_0) SetMeshVisibilityMode(drogueMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); ShiftCentreOfMass(ofs); break; case 4: // not used case 5: // Chute config SetMeshVisibilityMode(chuteMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); ShiftCentreOfMass(ofs); // SetMeshVisibilityMode(AddMesh(chuteMesh, &ofs), MESHVIS_ALWAYS); // ShiftCentreOfMass(ofs); break; case 6: // Landed config // AddMesh(balloonMesh, &ofs); SetMeshVisibilityMode(BallonMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(heatshieldMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); // SetMeshVisibilityMode(MMUMeshUINT, MESHVIS_NEVER); break; case 7: //AddMesh(coverMesh, &ofs); SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); //AddMesh(smMesh, &ofs); // AddMesh(solar0Mesh, &ofs); break; case 10: // Orbit config SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(fair1MeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(fair2MeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(fair3MeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; case 11: // Orbit config SetMeshVisibilityMode(coverMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(smMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; case 12: SetMeshVisibilityMode(lasMeshMeshUINT, MESHVIS_EXTERNAL | MESHVIS_VC); break; } }
I can make a zip of the code if someone wants to see?


Attached is the latest.
 

Attachments

  • orionlanded.jpg
    orionlanded.jpg
    60 KB · Views: 11
  • orionescape.jpg
    orionescape.jpg
    85 KB · Views: 11
  • NEWORIONFINAL1.zip
    NEWORIONFINAL1.zip
    18.5 MB · Views: 31
Last edited:
Also I question the size of the capsule. I might redo the interior so you can have different chair mode. Like lower chairs folded up.

My capsule is 24 parts. I think I might go with 32 which makes it more rounder.

But On the size. Look at the images. You can see might is more larger.
 

Attachments

  • orionsize2.jpg
    orionsize2.jpg
    44.8 KB · Views: 16
  • orionsize1.jpg
    orionsize1.jpg
    51.6 KB · Views: 16
send me what you have. Or a link to what you are working on. with a list of "to-do's" and ill see what i can do. I just want to make sure we are on the same page as I am balancing this with a hectic work schedule. This weekend is or the weekends are the best time for me. I can do some stuff after work. It all depends on how much rework it needs. I need to see what you see and be on the same page as you. Then we can take it step by step until it is done and to your liking. Sound good? We need a place where we can converse share screens and whatnot I made a discord server if that will work for you. Here is the invite link https://discord.gg/2y6GPKFW or we can do however you are comfortable.
 
Maybe not the best place to post this but, since some of the Gateway modules are secondary SLS payloads, maybe it's also time to update their models as well
Here's the exploded view that is planned as of February 2022
1670938248213.png
Current Planned Flight manifest (Gateway modules only):
  • 2024 = PPE and HALO = Falcon Heavy
  • 2027 = I-HAB = Artemis 4
  • 2028? = Canadarm3 = Dragon-XL
  • 2028 = ESPRIT = Artemis 5
  • 2029 = Airlock = Artemis 6
 
Last edited:
Back
Top