Simulink determines initial conditions at simulation startup, so you can’t simply update a 6DOF block’s initial state mid-run. One common workaround is to delay activating each instance until after the top-level model has computed its state. For example, you can encapsulate the 6DOF block in a Triggered or Enabled Subsystem. Then, once the desired initial conditions are calculated, you can update the block’s parameters (via workspace variables or callbacks) and enable the subsystem so that the 6DOF block initializes with those conditions. Alternatively, if you don’t require concurrent execution, you could run separate simulation instances (using the sim command in a MATLAB loop) where you pass in the computed initial conditions.
Follow me so you can message me anytime with future questions. If this helps, please accept the answer and upvote it as well.