# Parts¶

The following classes allow interaction with a vessels individual parts.

## Parts¶

class Parts

Instances of this class are used to interact with the parts of a vessel. An instance can be obtained by calling SpaceCenter.Vessel.parts.

all

A list of all of the vessels parts.

Attribute: Read-only, cannot be set List of SpaceCenter.Part
root

The vessels root part.

Attribute: Read-only, cannot be set SpaceCenter.Part

Note

See the discussion on Trees of Parts.

controlling

The part from which the vessel is controlled.

Attribute: Can be read or written SpaceCenter.Part
with_name(name)

A list of parts whose SpaceCenter.Part.name is name.

Parameters: name (string) – List of SpaceCenter.Part
with_title(title)

A list of all parts whose SpaceCenter.Part.title is title.

Parameters: title (string) – List of SpaceCenter.Part
with_tag(tag)

A list of all parts whose SpaceCenter.Part.tag is tag.

Parameters: tag (string) – List of SpaceCenter.Part
with_module(module_name)

A list of all parts that contain a SpaceCenter.Module whose SpaceCenter.Module.name is module_name.

Parameters: module_name (string) – List of SpaceCenter.Part
in_stage(stage)

A list of all parts that are activated in the given stage.

Parameters: stage (number) – List of SpaceCenter.Part

Note

See the discussion on Staging.

in_decouple_stage(stage)

A list of all parts that are decoupled in the given stage.

Parameters: stage (number) – List of SpaceCenter.Part

Note

See the discussion on Staging.

modules_with_name(module_name)

A list of modules (combined across all parts in the vessel) whose SpaceCenter.Module.name is module_name.

Parameters: module_name (string) – List of SpaceCenter.Module
antennas

A list of all antennas in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Antenna
cargo_bays

A list of all cargo bays in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.CargoBay
control_surfaces

A list of all control surfaces in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.ControlSurface
decouplers

A list of all decouplers in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Decoupler
docking_ports

A list of all docking ports in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.DockingPort
engines

A list of all engines in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Engine

Note

This includes any part that generates thrust. This covers many different types of engine, including liquid fuel rockets, solid rocket boosters, jet engines and RCS thrusters.

experiments

A list of all science experiments in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Experiment
fairings

A list of all fairings in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Fairing
intakes

A list of all intakes in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Intake
legs

A list of all landing legs attached to the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Leg
launch_clamps

A list of all launch clamps attached to the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.LaunchClamp
lights

A list of all lights in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Light
parachutes

A list of all parachutes in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Parachute
radiators

A list of all radiators in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Radiator
rcs

A list of all RCS blocks/thrusters in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.RCS
reaction_wheels

A list of all reaction wheels in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.ReactionWheel
resource_converters

A list of all resource converters in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.ResourceConverter
resource_harvesters

A list of all resource harvesters in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.ResourceHarvester
sensors

A list of all sensors in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Sensor
solar_panels

A list of all solar panels in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.SolarPanel
wheels

A list of all wheels in the vessel.

Attribute: Read-only, cannot be set List of SpaceCenter.Wheel

## Part¶

class Part

Represents an individual part. Vessels are made up of multiple parts. Instances of this class can be obtained by several methods in SpaceCenter.Parts.

name

Internal name of the part, as used in part cfg files. For example “Mark1-2Pod”.

Attribute: Read-only, cannot be set string
title

Title of the part, as shown when the part is right clicked in-game. For example “Mk1-2 Command Pod”.

Attribute: Read-only, cannot be set string
tag

The name tag for the part. Can be set to a custom string using the in-game user interface.

Attribute: Can be read or written string

Note

This string is shared with kOS if it is installed.

highlighted

Whether the part is highlighted.

Attribute: Can be read or written boolean
highlight_color

The color used to highlight the part, as an RGB triple.

Attribute: Can be read or written Tuple of (number, number, number)
cost

The cost of the part, in units of funds.

Attribute: Read-only, cannot be set number
vessel

The vessel that contains this part.

Attribute: Read-only, cannot be set SpaceCenter.Vessel
parent

The parts parent. Returns nil if the part does not have a parent. This, in combination with SpaceCenter.Part.children, can be used to traverse the vessels parts tree.

Attribute: Read-only, cannot be set SpaceCenter.Part

Note

See the discussion on Trees of Parts.

children

The parts children. Returns an empty list if the part has no children. This, in combination with SpaceCenter.Part.parent, can be used to traverse the vessels parts tree.

Attribute: Read-only, cannot be set List of SpaceCenter.Part

Note

See the discussion on Trees of Parts.

axially_attached

Whether the part is axially attached to its parent, i.e. on the top or bottom of its parent. If the part has no parent, returns False.

Attribute: Read-only, cannot be set boolean

Note

See the discussion on Attachment Modes.

radially_attached

Whether the part is radially attached to its parent, i.e. on the side of its parent. If the part has no parent, returns False.

Attribute: Read-only, cannot be set boolean

Note

See the discussion on Attachment Modes.

stage

The stage in which this part will be activated. Returns -1 if the part is not activated by staging.

Attribute: Read-only, cannot be set number

Note

See the discussion on Staging.

decouple_stage

The stage in which this part will be decoupled. Returns -1 if the part is never decoupled from the vessel.

Attribute: Read-only, cannot be set number

Note

See the discussion on Staging.

massless

Whether the part is massless.

Attribute: Read-only, cannot be set boolean
mass

The current mass of the part, including resources it contains, in kilograms. Returns zero if the part is massless.

Attribute: Read-only, cannot be set number
dry_mass

The mass of the part, not including any resources it contains, in kilograms. Returns zero if the part is massless.

Attribute: Read-only, cannot be set number
shielded

Whether the part is shielded from the exterior of the vessel, for example by a fairing.

Attribute: Read-only, cannot be set boolean
dynamic_pressure

The dynamic pressure acting on the part, in Pascals.

Attribute: Read-only, cannot be set number
impact_tolerance

The impact tolerance of the part, in meters per second.

Attribute: Read-only, cannot be set number
temperature

Temperature of the part, in Kelvin.

Attribute: Read-only, cannot be set number
skin_temperature

Temperature of the skin of the part, in Kelvin.

Attribute: Read-only, cannot be set number
max_temperature

Maximum temperature that the part can survive, in Kelvin.

Attribute: Read-only, cannot be set number
max_skin_temperature

Maximum temperature that the skin of the part can survive, in Kelvin.

Attribute: Read-only, cannot be set number
thermal_mass

A measure of how much energy it takes to increase the internal temperature of the part, in Joules per Kelvin.

Attribute: Read-only, cannot be set number
thermal_skin_mass

A measure of how much energy it takes to increase the skin temperature of the part, in Joules per Kelvin.

Attribute: Read-only, cannot be set number
thermal_resource_mass

A measure of how much energy it takes to increase the temperature of the resources contained in the part, in Joules per Kelvin.

Attribute: Read-only, cannot be set number
thermal_conduction_flux

The rate at which heat energy is conducting into or out of the part via contact with other parts. Measured in energy per unit time, or power, in Watts. A positive value means the part is gaining heat energy, and negative means it is losing heat energy.

Attribute: Read-only, cannot be set number
thermal_convection_flux

The rate at which heat energy is convecting into or out of the part from the surrounding atmosphere. Measured in energy per unit time, or power, in Watts. A positive value means the part is gaining heat energy, and negative means it is losing heat energy.

Attribute: Read-only, cannot be set number
thermal_radiation_flux

The rate at which heat energy is radiating into or out of the part from the surrounding environment. Measured in energy per unit time, or power, in Watts. A positive value means the part is gaining heat energy, and negative means it is losing heat energy.

Attribute: Read-only, cannot be set number
thermal_internal_flux

The rate at which heat energy is begin generated by the part. For example, some engines generate heat by combusting fuel. Measured in energy per unit time, or power, in Watts. A positive value means the part is gaining heat energy, and negative means it is losing heat energy.

Attribute: Read-only, cannot be set number
thermal_skin_to_internal_flux

The rate at which heat energy is transferring between the part’s skin and its internals. Measured in energy per unit time, or power, in Watts. A positive value means the part’s internals are gaining heat energy, and negative means its skin is gaining heat energy.

Attribute: Read-only, cannot be set number
resources

A SpaceCenter.Resources object for the part.

Attribute: Read-only, cannot be set SpaceCenter.Resources
crossfeed

Whether this part is crossfeed capable.

Attribute: Read-only, cannot be set boolean
is_fuel_line

Whether this part is a fuel line.

Attribute: Read-only, cannot be set boolean
fuel_lines_from

The parts that are connected to this part via fuel lines, where the direction of the fuel line is into this part.

Attribute: Read-only, cannot be set List of SpaceCenter.Part

Note

See the discussion on Fuel Lines.

fuel_lines_to

The parts that are connected to this part via fuel lines, where the direction of the fuel line is out of this part.

Attribute: Read-only, cannot be set List of SpaceCenter.Part

Note

See the discussion on Fuel Lines.

modules

The modules for this part.

Attribute: Read-only, cannot be set List of SpaceCenter.Module
antenna

A SpaceCenter.Antenna if the part is an antenna, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Antenna
cargo_bay

A SpaceCenter.CargoBay if the part is a cargo bay, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.CargoBay
control_surface

A SpaceCenter.ControlSurface if the part is an aerodynamic control surface, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.ControlSurface
decoupler

A SpaceCenter.Decoupler if the part is a decoupler, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Decoupler
docking_port

A SpaceCenter.DockingPort if the part is a docking port, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.DockingPort
engine

An SpaceCenter.Engine if the part is an engine, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Engine
experiment

An SpaceCenter.Experiment if the part is a science experiment, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Experiment
fairing

A SpaceCenter.Fairing if the part is a fairing, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Fairing
intake

An SpaceCenter.Intake if the part is an intake, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Intake

Note

This includes any part that generates thrust. This covers many different types of engine, including liquid fuel rockets, solid rocket boosters and jet engines. For RCS thrusters see SpaceCenter.RCS.

leg

A SpaceCenter.Leg if the part is a landing leg, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Leg
launch_clamp

A SpaceCenter.LaunchClamp if the part is a launch clamp, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.LaunchClamp
light

A SpaceCenter.Light if the part is a light, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Light
parachute

A SpaceCenter.Parachute if the part is a parachute, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Parachute
radiator

A SpaceCenter.Radiator if the part is a radiator, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Radiator
rcs

A SpaceCenter.RCS if the part is an RCS block/thruster, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.RCS
reaction_wheel

A SpaceCenter.ReactionWheel if the part is a reaction wheel, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.ReactionWheel
resource_converter

A SpaceCenter.ResourceConverter if the part is a resource converter, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.ResourceConverter
resource_harvester

A SpaceCenter.ResourceHarvester if the part is a resource harvester, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.ResourceHarvester
sensor

A SpaceCenter.Sensor if the part is a sensor, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Sensor
solar_panel

A SpaceCenter.SolarPanel if the part is a solar panel, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.SolarPanel
wheel

A SpaceCenter.Wheel if the part is a wheel, otherwise nil.

Attribute: Read-only, cannot be set SpaceCenter.Wheel
position(reference_frame)

The position of the part in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned position vector is in. The position as a vector. Tuple of (number, number, number)

Note

This is a fixed position in the part, defined by the parts model. It s not necessarily the same as the parts center of mass. Use SpaceCenter.Part.center_of_mass() to get the parts center of mass.

center_of_mass(reference_frame)

The position of the parts center of mass in the given reference frame. If the part is physicsless, this is equivalent to SpaceCenter.Part.position().

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned position vector is in. The position as a vector. Tuple of (number, number, number)
bounding_box(reference_frame)

The axis-aligned bounding box of the part in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned position vectors are in. The positions of the minimum and maximum vertices of the box, as position vectors. Tuple of (Tuple of (number, number, number), Tuple of (number, number, number))

Note

This is computed from the collision mesh of the part. If the part is not collidable, the box has zero volume and is centered on the SpaceCenter.Part.position() of the part.

direction(reference_frame)

The direction the part points in, in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned direction is in. The direction as a unit vector. Tuple of (number, number, number)
velocity(reference_frame)

The linear velocity of the part in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned velocity vector is in. The velocity as a vector. The vector points in the direction of travel, and its magnitude is the speed of the body in meters per second. Tuple of (number, number, number)
rotation(reference_frame)

The rotation of the part, in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned rotation is in. The rotation as a quaternion of the form $$(x, y, z, w)$$. Tuple of (number, number, number, number)
moment_of_inertia

The moment of inertia of the part in $$kg.m^2$$ around its center of mass in the parts reference frame (SpaceCenter.ReferenceFrame).

Attribute: Read-only, cannot be set Tuple of (number, number, number)
inertia_tensor

The inertia tensor of the part in the parts reference frame (SpaceCenter.ReferenceFrame). Returns the 3x3 matrix as a list of elements, in row-major order.

Attribute: Read-only, cannot be set List of number
reference_frame

The reference frame that is fixed relative to this part, and centered on a fixed position within the part, defined by the parts model.

Attribute: Read-only, cannot be set SpaceCenter.ReferenceFrame

Note

For docking port parts, this reference frame is not necessarily equivalent to the reference frame for the docking port, returned by SpaceCenter.DockingPort.reference_frame.

Mk1 Command Pod reference frame origin and axes

center_of_mass_reference_frame

The reference frame that is fixed relative to this part, and centered on its center of mass.

Attribute: Read-only, cannot be set SpaceCenter.ReferenceFrame

Note

For docking port parts, this reference frame is not necessarily equivalent to the reference frame for the docking port, returned by SpaceCenter.DockingPort.reference_frame.

add_force(force, position, reference_frame)

Exert a constant force on the part, acting at the given position.

Parameters: force (Tuple) – A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. position (Tuple) – The position at which the force acts, as a vector. reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the force and position are in. An object that can be used to remove or modify the force. SpaceCenter.Force
instantaneous_force(force, position, reference_frame)

Exert an instantaneous force on the part, acting at the given position.

Parameters: force (Tuple) – A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. position (Tuple) – The position at which the force acts, as a vector. reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the force and position are in.

Note

The force is applied instantaneously in a single physics update.

class Force

Obtained by calling SpaceCenter.Part.add_force().

part

The part that this force is applied to.

Attribute: Read-only, cannot be set SpaceCenter.Part
force_vector

The force vector, in Newtons.

Attribute: Can be read or written A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. Tuple of (number, number, number)
position

The position at which the force acts, in reference frame SpaceCenter.ReferenceFrame.

Attribute: Can be read or written The position as a vector. Tuple of (number, number, number)
reference_frame

The reference frame of the force vector and position.

Attribute: Can be read or written SpaceCenter.ReferenceFrame
remove()

Remove the force.

## Module¶

class Module

This can be used to interact with a specific part module. This includes part modules in stock KSP, and those added by mods.

In KSP, each part has zero or more PartModules associated with it. Each one contains some of the functionality of the part. For example, an engine has a “ModuleEngines” part module that contains all the functionality of an engine.

name

Name of the PartModule. For example, “ModuleEngines”.

Attribute: Read-only, cannot be set string
part

The part that contains this module.

Attribute: Read-only, cannot be set SpaceCenter.Part
fields

The modules field names and their associated values, as a dictionary. These are the values visible in the right-click menu of the part.

Attribute: Read-only, cannot be set Map from string to string
has_field(name)

Returns True if the module has a field with the given name.

Parameters: name (string) – Name of the field. boolean
get_field(name)

Returns the value of a field.

Parameters: name (string) – Name of the field. string
set_field_int(name, value)

Set the value of a field to the given integer number.

Parameters: name (string) – Name of the field. value (number) – Value to set.
set_field_float(name, value)

Set the value of a field to the given floating point number.

Parameters: name (string) – Name of the field. value (number) – Value to set.
set_field_string(name, value)

Set the value of a field to the given string.

Parameters: name (string) – Name of the field. value (string) – Value to set.
reset_field(name)

Set the value of a field to its original value.

Parameters: name (string) – Name of the field.
events

A list of the names of all of the modules events. Events are the clickable buttons visible in the right-click menu of the part.

Attribute: Read-only, cannot be set List of string
has_event(name)

True if the module has an event with the given name.

Parameters: name (string) – boolean
trigger_event(name)

Trigger the named event. Equivalent to clicking the button in the right-click menu of the part.

Parameters: name (string) –
actions

A list of all the names of the modules actions. These are the parts actions that can be assigned to action groups in the in-game editor.

Attribute: Read-only, cannot be set List of string
has_action(name)

True if the part has an action with the given name.

Parameters: name (string) – boolean
set_action(name[, value = True])

Set the value of an action with the given name.

Parameters: name (string) – value (boolean) –

## Specific Types of Part¶

The following classes provide functionality for specific types of part.

### Antenna¶

class Antenna

An antenna. Obtained by calling SpaceCenter.Part.antenna.

part

The part object for this antenna.

Attribute: Read-only, cannot be set SpaceCenter.Part
state

The current state of the antenna.

Attribute: Read-only, cannot be set SpaceCenter.AntennaState
deployable

Whether the antenna is deployable.

Attribute: Read-only, cannot be set boolean
deployed

Whether the antenna is deployed.

Attribute: Can be read or written boolean

Note

Fixed antennas are always deployed. Returns an error if you try to deploy a fixed antenna.

can_transmit

Whether data can be transmitted by this antenna.

Attribute: Read-only, cannot be set boolean
transmit()

Transmit data.

cancel()

Cancel current transmission of data.

allow_partial

Whether partial data transmission is permitted.

Attribute: Can be read or written boolean
power

The power of the antenna.

Attribute: Read-only, cannot be set number
combinable

Whether the antenna can be combined with other antennae on the vessel to boost the power.

Attribute: Read-only, cannot be set boolean
combinable_exponent

Exponent used to calculate the combined power of multiple antennae on a vessel.

Attribute: Read-only, cannot be set number
packet_interval

Interval between sending packets in seconds.

Attribute: Read-only, cannot be set number
packet_size

Amount of data sent per packet in Mits.

Attribute: Read-only, cannot be set number
packet_resource_cost

Units of electric charge consumed per packet sent.

Attribute: Read-only, cannot be set number
class AntennaState

The state of an antenna. See SpaceCenter.Antenna.state.

deployed

Antenna is fully deployed.

retracted

Antenna is fully retracted.

deploying

Antenna is being deployed.

retracting

Antenna is being retracted.

broken

Antenna is broken.

### Cargo Bay¶

class CargoBay

A cargo bay. Obtained by calling SpaceCenter.Part.cargo_bay.

part

The part object for this cargo bay.

Attribute: Read-only, cannot be set SpaceCenter.Part
state

The state of the cargo bay.

Attribute: Read-only, cannot be set SpaceCenter.CargoBayState
open

Whether the cargo bay is open.

Attribute: Can be read or written boolean
class CargoBayState

The state of a cargo bay. See SpaceCenter.CargoBay.state.

open

Cargo bay is fully open.

closed

Cargo bay closed and locked.

opening

Cargo bay is opening.

closing

Cargo bay is closing.

### Control Surface¶

class ControlSurface

An aerodynamic control surface. Obtained by calling SpaceCenter.Part.control_surface.

part

The part object for this control surface.

Attribute: Read-only, cannot be set SpaceCenter.Part
pitch_enabled

Whether the control surface has pitch control enabled.

Attribute: Can be read or written boolean
yaw_enabled

Whether the control surface has yaw control enabled.

Attribute: Can be read or written boolean
roll_enabled

Whether the control surface has roll control enabled.

Attribute: Can be read or written boolean
authority_limiter

The authority limiter for the control surface, which controls how far the control surface will move.

Attribute: Can be read or written number
inverted

Whether the control surface movement is inverted.

Attribute: Can be read or written boolean
deployed

Whether the control surface has been fully deployed.

Attribute: Can be read or written boolean
surface_area

Surface area of the control surface in $$m^2$$.

Attribute: Read-only, cannot be set number
available_torque

The available torque, in Newton meters, that can be produced by this control surface, in the positive and negative pitch, roll and yaw axes of the vessel. These axes correspond to the coordinate axes of the SpaceCenter.Vessel.reference_frame.

Attribute: Read-only, cannot be set Tuple of (Tuple of (number, number, number), Tuple of (number, number, number))

### Decoupler¶

class Decoupler

A decoupler. Obtained by calling SpaceCenter.Part.decoupler

part

The part object for this decoupler.

Attribute: Read-only, cannot be set SpaceCenter.Part
decouple()

Fires the decoupler. Returns the new vessel created when the decoupler fires. Throws an exception if the decoupler has already fired.

Return type: SpaceCenter.Vessel

Note

When called, the active vessel may change. It is therefore possible that, after calling this function, the object(s) returned by previous call(s) to SpaceCenter.active_vessel no longer refer to the active vessel.

decoupled

Whether the decoupler has fired.

Attribute: Read-only, cannot be set boolean
staged

Whether the decoupler is enabled in the staging sequence.

Attribute: Read-only, cannot be set boolean
impulse

The impulse that the decoupler imparts when it is fired, in Newton seconds.

Attribute: Read-only, cannot be set number

### Docking Port¶

class DockingPort

A docking port. Obtained by calling SpaceCenter.Part.docking_port

part

The part object for this docking port.

Attribute: Read-only, cannot be set SpaceCenter.Part
state

The current state of the docking port.

Attribute: Read-only, cannot be set SpaceCenter.DockingPortState
docked_part

The part that this docking port is docked to. Returns nil if this docking port is not docked to anything.

Attribute: Read-only, cannot be set SpaceCenter.Part
undock()

Undocks the docking port and returns the new SpaceCenter.Vessel that is created. This method can be called for either docking port in a docked pair. Throws an exception if the docking port is not docked to anything.

Return type: SpaceCenter.Vessel

Note

When called, the active vessel may change. It is therefore possible that, after calling this function, the object(s) returned by previous call(s) to SpaceCenter.active_vessel no longer refer to the active vessel.

reengage_distance

The distance a docking port must move away when it undocks before it becomes ready to dock with another port, in meters.

Attribute: Read-only, cannot be set number
has_shield

Whether the docking port has a shield.

Attribute: Read-only, cannot be set boolean
shielded

The state of the docking ports shield, if it has one.

Returns True if the docking port has a shield, and the shield is closed. Otherwise returns False. When set to True, the shield is closed, and when set to False the shield is opened. If the docking port does not have a shield, setting this attribute has no effect.

Attribute: Can be read or written boolean
position(reference_frame)

The position of the docking port, in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned position vector is in. The position as a vector. Tuple of (number, number, number)
direction(reference_frame)

The direction that docking port points in, in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned direction is in. The direction as a unit vector. Tuple of (number, number, number)
rotation(reference_frame)

The rotation of the docking port, in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned rotation is in. The rotation as a quaternion of the form $$(x, y, z, w)$$. Tuple of (number, number, number, number)
reference_frame

The reference frame that is fixed relative to this docking port, and oriented with the port.

• The origin is at the position of the docking port.
• The axes rotate with the docking port.
• The x-axis points out to the right side of the docking port.
• The y-axis points in the direction the docking port is facing.
• The z-axis points out of the bottom off the docking port.
Attribute: Read-only, cannot be set SpaceCenter.ReferenceFrame

Note

This reference frame is not necessarily equivalent to the reference frame for the part, returned by SpaceCenter.Part.reference_frame.

Docking port reference frame origin and axes

Inline docking port reference frame origin and axes

class DockingPortState

The state of a docking port. See SpaceCenter.DockingPort.state.

ready

The docking port is ready to dock to another docking port.

docked

The docking port is docked to another docking port, or docked to another part (from the VAB/SPH).

docking

The docking port is very close to another docking port, but has not docked. It is using magnetic force to acquire a solid dock.

undocking

The docking port has just been undocked from another docking port, and is disabled until it moves away by a sufficient distance (SpaceCenter.DockingPort.reengage_distance).

shielded

The docking port has a shield, and the shield is closed.

moving

The docking ports shield is currently opening/closing.

### Engine¶

class Engine

An engine, including ones of various types. For example liquid fuelled gimballed engines, solid rocket boosters and jet engines. Obtained by calling SpaceCenter.Part.engine.

Note

For RCS thrusters SpaceCenter.Part.rcs.

part

The part object for this engine.

Attribute: Read-only, cannot be set SpaceCenter.Part
active

Whether the engine is active. Setting this attribute may have no effect, depending on SpaceCenter.Engine.can_shutdown and SpaceCenter.Engine.can_restart.

Attribute: Can be read or written boolean
thrust

The current amount of thrust being produced by the engine, in Newtons.

Attribute: Read-only, cannot be set number
available_thrust

The amount of thrust, in Newtons, that would be produced by the engine when activated and with its throttle set to 100%. Returns zero if the engine does not have any fuel. Takes the engine’s current SpaceCenter.Engine.thrust_limit and atmospheric conditions into account.

Attribute: Read-only, cannot be set number
max_thrust

The amount of thrust, in Newtons, that would be produced by the engine when activated and fueled, with its throttle and throttle limiter set to 100%.

Attribute: Read-only, cannot be set number
max_vacuum_thrust

The maximum amount of thrust that can be produced by the engine in a vacuum, in Newtons. This is the amount of thrust produced by the engine when activated, SpaceCenter.Engine.thrust_limit is set to 100%, the main vessel’s throttle is set to 100% and the engine is in a vacuum.

Attribute: Read-only, cannot be set number
thrust_limit

The thrust limiter of the engine. A value between 0 and 1. Setting this attribute may have no effect, for example the thrust limit for a solid rocket booster cannot be changed in flight.

Attribute: Can be read or written number
thrusters

The components of the engine that generate thrust.

Attribute: Read-only, cannot be set List of SpaceCenter.Thruster

Note

For example, this corresponds to the rocket nozzel on a solid rocket booster, or the individual nozzels on a RAPIER engine. The overall thrust produced by the engine, as reported by SpaceCenter.Engine.available_thrust, SpaceCenter.Engine.max_thrust and others, is the sum of the thrust generated by each thruster.

specific_impulse

The current specific impulse of the engine, in seconds. Returns zero if the engine is not active.

Attribute: Read-only, cannot be set number
vacuum_specific_impulse

The vacuum specific impulse of the engine, in seconds.

Attribute: Read-only, cannot be set number
kerbin_sea_level_specific_impulse

The specific impulse of the engine at sea level on Kerbin, in seconds.

Attribute: Read-only, cannot be set number
propellant_names

The names of the propellants that the engine consumes.

Attribute: Read-only, cannot be set List of string
propellant_ratios

The ratio of resources that the engine consumes. A dictionary mapping resource names to the ratio at which they are consumed by the engine.

Attribute: Read-only, cannot be set Map from string to number

Note

For example, if the ratios are 0.6 for LiquidFuel and 0.4 for Oxidizer, then for every 0.6 units of LiquidFuel that the engine burns, it will burn 0.4 units of Oxidizer.

propellants

The propellants that the engine consumes.

Attribute: Read-only, cannot be set List of SpaceCenter.Propellant
has_fuel

Whether the engine has any fuel available.

Attribute: Read-only, cannot be set boolean

Note

The engine must be activated for this property to update correctly.

throttle

The current throttle setting for the engine. A value between 0 and 1. This is not necessarily the same as the vessel’s main throttle setting, as some engines take time to adjust their throttle (such as jet engines).

Attribute: Read-only, cannot be set number
throttle_locked

Whether the SpaceCenter.Control.throttle affects the engine. For example, this is True for liquid fueled rockets, and False for solid rocket boosters.

Attribute: Read-only, cannot be set boolean
can_restart

Whether the engine can be restarted once shutdown. If the engine cannot be shutdown, returns False. For example, this is True for liquid fueled rockets and False for solid rocket boosters.

Attribute: Read-only, cannot be set boolean
can_shutdown

Whether the engine can be shutdown once activated. For example, this is True for liquid fueled rockets and False for solid rocket boosters.

Attribute: Read-only, cannot be set boolean
has_modes

Whether the engine has multiple modes of operation.

Attribute: Read-only, cannot be set boolean
mode

The name of the current engine mode.

Attribute: Can be read or written string
modes

The available modes for the engine. A dictionary mapping mode names to SpaceCenter.Engine objects.

Attribute: Read-only, cannot be set Map from string to SpaceCenter.Engine
toggle_mode()

Toggle the current engine mode.

auto_mode_switch

Whether the engine will automatically switch modes.

Attribute: Can be read or written boolean
gimballed

Whether the engine is gimballed.

Attribute: Read-only, cannot be set boolean
gimbal_range

The range over which the gimbal can move, in degrees. Returns 0 if the engine is not gimballed.

Attribute: Read-only, cannot be set number
gimbal_locked

Whether the engines gimbal is locked in place. Setting this attribute has no effect if the engine is not gimballed.

Attribute: Can be read or written boolean
gimbal_limit

The gimbal limiter of the engine. A value between 0 and 1. Returns 0 if the gimbal is locked.

Attribute: Can be read or written number
available_torque

The available torque, in Newton meters, that can be produced by this engine, in the positive and negative pitch, roll and yaw axes of the vessel. These axes correspond to the coordinate axes of the SpaceCenter.Vessel.reference_frame. Returns zero if the engine is inactive, or not gimballed.

Attribute: Read-only, cannot be set Tuple of (Tuple of (number, number, number), Tuple of (number, number, number))
class Propellant

A propellant for an engine. Obtains by calling SpaceCenter.Engine.propellants.

name

The name of the propellant.

Attribute: Read-only, cannot be set string
current_amount

The current amount of propellant.

Attribute: Read-only, cannot be set number
current_requirement

The required amount of propellant.

Attribute: Read-only, cannot be set number
total_resource_available

The total amount of the underlying resource currently reachable given resource flow rules.

Attribute: Read-only, cannot be set number
total_resource_capacity

The total vehicle capacity for the underlying propellant resource, restricted by resource flow rules.

Attribute: Read-only, cannot be set number
ignore_for_isp

If this propellant should be ignored when calculating required mass flow given specific impulse.

Attribute: Read-only, cannot be set boolean
ignore_for_thrust_curve

If this propellant should be ignored for thrust curve calculations.

Attribute: Read-only, cannot be set boolean
draw_stack_gauge

If this propellant has a stack gauge or not.

Attribute: Read-only, cannot be set boolean
is_deprived

If this propellant is deprived.

Attribute: Read-only, cannot be set boolean
ratio

The propellant ratio.

Attribute: Read-only, cannot be set number

### Experiment¶

class Experiment

Obtained by calling SpaceCenter.Part.experiment.

part

The part object for this experiment.

Attribute: Read-only, cannot be set SpaceCenter.Part
run()

Run the experiment.

transmit()

Transmit all experimental data contained by this part.

dump()

Dump the experimental data contained by the experiment.

reset()

Reset the experiment.

deployed

Whether the experiment has been deployed.

Attribute: Read-only, cannot be set boolean
rerunnable

Whether the experiment can be re-run.

Attribute: Read-only, cannot be set boolean
inoperable

Whether the experiment is inoperable.

Attribute: Read-only, cannot be set boolean
has_data

Whether the experiment contains data.

Attribute: Read-only, cannot be set boolean
data

The data contained in this experiment.

Attribute: Read-only, cannot be set List of SpaceCenter.ScienceData
biome

The name of the biome the experiment is currently in.

Attribute: Read-only, cannot be set string
available

Determines if the experiment is available given the current conditions.

Attribute: Read-only, cannot be set boolean
science_subject

Containing information on the corresponding specific science result for the current conditions. Returns nil if the experiment is unavailable.

Attribute: Read-only, cannot be set SpaceCenter.ScienceSubject
class ScienceData

Obtained by calling SpaceCenter.Experiment.data.

data_amount

Data amount.

Attribute: Read-only, cannot be set number
science_value

Science value.

Attribute: Read-only, cannot be set number
transmit_value

Transmit value.

Attribute: Read-only, cannot be set number
class ScienceSubject

Obtained by calling SpaceCenter.Experiment.science_subject.

title

Title of science subject, displayed in science archives

Attribute: Read-only, cannot be set string
is_complete

Whether the experiment has been completed.

Attribute: Read-only, cannot be set boolean
science

Amount of science already earned from this subject, not updated until after transmission/recovery.

Attribute: Read-only, cannot be set number
science_cap

Total science allowable for this subject.

Attribute: Read-only, cannot be set number
data_scale

Multiply science value by this to determine data amount in mits.

Attribute: Read-only, cannot be set number
subject_value

Multiplier for specific Celestial Body/Experiment Situation combination.

Attribute: Read-only, cannot be set number
scientific_value

Diminishing value multiplier for decreasing the science value returned from repeated experiments.

Attribute: Read-only, cannot be set number

### Fairing¶

class Fairing

A fairing. Obtained by calling SpaceCenter.Part.fairing.

part

The part object for this fairing.

Attribute: Read-only, cannot be set SpaceCenter.Part
jettison()

Jettison the fairing. Has no effect if it has already been jettisoned.

jettisoned

Whether the fairing has been jettisoned.

Attribute: Read-only, cannot be set boolean

### Intake¶

class Intake

An air intake. Obtained by calling SpaceCenter.Part.intake.

part

The part object for this intake.

Attribute: Read-only, cannot be set SpaceCenter.Part
open

Whether the intake is open.

Attribute: Can be read or written boolean
speed

Speed of the flow into the intake, in $$m/s$$.

Attribute: Read-only, cannot be set number
flow

The rate of flow into the intake, in units of resource per second.

Attribute: Read-only, cannot be set number
area

The area of the intake’s opening, in square meters.

Attribute: Read-only, cannot be set number

### Leg¶

class Leg

A landing leg. Obtained by calling SpaceCenter.Part.leg.

part

The part object for this landing leg.

Attribute: Read-only, cannot be set SpaceCenter.Part
state

The current state of the landing leg.

Attribute: Read-only, cannot be set SpaceCenter.LegState
deployable

Whether the leg is deployable.

Attribute: Read-only, cannot be set boolean
deployed

Whether the landing leg is deployed.

Attribute: Can be read or written boolean

Note

Fixed landing legs are always deployed. Returns an error if you try to deploy fixed landing gear.

is_grounded

Returns whether the leg is touching the ground.

Attribute: Read-only, cannot be set boolean
class LegState

The state of a landing leg. See SpaceCenter.Leg.state.

deployed

Landing leg is fully deployed.

retracted

Landing leg is fully retracted.

deploying

Landing leg is being deployed.

retracting

Landing leg is being retracted.

broken

Landing leg is broken.

### Launch Clamp¶

class LaunchClamp

A launch clamp. Obtained by calling SpaceCenter.Part.launch_clamp.

part

The part object for this launch clamp.

Attribute: Read-only, cannot be set SpaceCenter.Part
release()

Releases the docking clamp. Has no effect if the clamp has already been released.

### Light¶

class Light

A light. Obtained by calling SpaceCenter.Part.light.

part

The part object for this light.

Attribute: Read-only, cannot be set SpaceCenter.Part
active

Whether the light is switched on.

Attribute: Can be read or written boolean
color

The color of the light, as an RGB triple.

Attribute: Can be read or written Tuple of (number, number, number)
power_usage

The current power usage, in units of charge per second.

Attribute: Read-only, cannot be set number

### Parachute¶

class Parachute

A parachute. Obtained by calling SpaceCenter.Part.parachute.

part

The part object for this parachute.

Attribute: Read-only, cannot be set SpaceCenter.Part
deploy()

Deploys the parachute. This has no effect if the parachute has already been deployed.

deployed

Whether the parachute has been deployed.

Attribute: Read-only, cannot be set boolean
arm()

Deploys the parachute. This has no effect if the parachute has already been armed or deployed. Only applicable to RealChutes parachutes.

armed

Whether the parachute has been armed or deployed. Only applicable to RealChutes parachutes.

Attribute: Read-only, cannot be set boolean
state

The current state of the parachute.

Attribute: Read-only, cannot be set SpaceCenter.ParachuteState
deploy_altitude

The altitude at which the parachute will full deploy, in meters. Only applicable to stock parachutes.

Attribute: Can be read or written number
deploy_min_pressure

The minimum pressure at which the parachute will semi-deploy, in atmospheres. Only applicable to stock parachutes.

Attribute: Can be read or written number
class ParachuteState

The state of a parachute. See SpaceCenter.Parachute.state.

stowed

The parachute is safely tucked away inside its housing.

armed

The parachute is armed for deployment. (RealChutes only)

active

The parachute is still stowed, but ready to semi-deploy. (Stock parachutes only)

semi_deployed

The parachute has been deployed and is providing some drag, but is not fully deployed yet. (Stock parachutes only)

deployed

The parachute is fully deployed.

cut

The parachute has been cut.

class Radiator

A radiator. Obtained by calling SpaceCenter.Part.radiator.

part

The part object for this radiator.

Attribute: Read-only, cannot be set SpaceCenter.Part
deployable

Attribute: Read-only, cannot be set boolean
deployed

For a deployable radiator, True if the radiator is extended. If the radiator is not deployable, this is always True.

Attribute: Can be read or written boolean
state

The current state of the radiator.

Attribute: Read-only, cannot be set SpaceCenter.RadiatorState

Note

A fixed radiator is always SpaceCenter.RadiatorState.extended.

class RadiatorState

The state of a radiator. SpaceCenter.RadiatorState

extended

retracted

extending

retracting

broken

### Resource Converter¶

class ResourceConverter

A resource converter. Obtained by calling SpaceCenter.Part.resource_converter.

part

The part object for this converter.

Attribute: Read-only, cannot be set SpaceCenter.Part
count

The number of converters in the part.

Attribute: Read-only, cannot be set number
name(index)

The name of the specified converter.

Parameters: index (number) – Index of the converter. string
active(index)

True if the specified converter is active.

Parameters: index (number) – Index of the converter. boolean
start(index)

Start the specified converter.

Parameters: index (number) – Index of the converter.
stop(index)

Stop the specified converter.

Parameters: index (number) – Index of the converter.
state(index)

The state of the specified converter.

Parameters: index (number) – Index of the converter. SpaceCenter.ResourceConverterState
status_info(index)

Status information for the specified converter. This is the full status message shown in the in-game UI.

Parameters: index (number) – Index of the converter. string
inputs(index)

List of the names of resources consumed by the specified converter.

Parameters: index (number) – Index of the converter. List of string
outputs(index)

List of the names of resources produced by the specified converter.

Parameters: index (number) – Index of the converter. List of string
optimum_core_temperature

The core temperature at which the converter will operate with peak efficiency, in Kelvin.

Attribute: Read-only, cannot be set number
core_temperature

The core temperature of the converter, in Kelvin.

Attribute: Read-only, cannot be set number
thermal_efficiency

The thermal efficiency of the converter, as a percentage of its maximum.

Attribute: Read-only, cannot be set number
class ResourceConverterState

The state of a resource converter. See SpaceCenter.ResourceConverter.state().

running

Converter is running.

idle

Converter is idle.

missing_resource

Converter is missing a required resource.

storage_full

No available storage for output resource.

capacity

At preset resource capacity.

unknown

Unknown state. Possible with modified resource converters. In this case, check SpaceCenter.ResourceConverter.status_info() for more information.

### Resource Harvester¶

class ResourceHarvester

A resource harvester (drill). Obtained by calling SpaceCenter.Part.resource_harvester.

part

The part object for this harvester.

Attribute: Read-only, cannot be set SpaceCenter.Part
state

The state of the harvester.

Attribute: Read-only, cannot be set SpaceCenter.ResourceHarvesterState
deployed

Whether the harvester is deployed.

Attribute: Can be read or written boolean
active

Whether the harvester is actively drilling.

Attribute: Can be read or written boolean
extraction_rate

The rate at which the drill is extracting ore, in units per second.

Attribute: Read-only, cannot be set number
thermal_efficiency

The thermal efficiency of the drill, as a percentage of its maximum.

Attribute: Read-only, cannot be set number
core_temperature

The core temperature of the drill, in Kelvin.

Attribute: Read-only, cannot be set number
optimum_core_temperature

The core temperature at which the drill will operate with peak efficiency, in Kelvin.

Attribute: Read-only, cannot be set number
class ResourceHarvesterState

The state of a resource harvester. See SpaceCenter.ResourceHarvester.state.

deploying

The drill is deploying.

deployed

The drill is deployed and ready.

retracting

The drill is retracting.

retracted

The drill is retracted.

active

The drill is running.

### Reaction Wheel¶

class ReactionWheel

A reaction wheel. Obtained by calling SpaceCenter.Part.reaction_wheel.

part

The part object for this reaction wheel.

Attribute: Read-only, cannot be set SpaceCenter.Part
active

Whether the reaction wheel is active.

Attribute: Can be read or written boolean
broken

Whether the reaction wheel is broken.

Attribute: Read-only, cannot be set boolean
available_torque

The available torque, in Newton meters, that can be produced by this reaction wheel, in the positive and negative pitch, roll and yaw axes of the vessel. These axes correspond to the coordinate axes of the SpaceCenter.Vessel.reference_frame. Returns zero if the reaction wheel is inactive or broken.

Attribute: Read-only, cannot be set Tuple of (Tuple of (number, number, number), Tuple of (number, number, number))
max_torque

The maximum torque, in Newton meters, that can be produced by this reaction wheel, when it is active, in the positive and negative pitch, roll and yaw axes of the vessel. These axes correspond to the coordinate axes of the SpaceCenter.Vessel.reference_frame.

Attribute: Read-only, cannot be set Tuple of (Tuple of (number, number, number), Tuple of (number, number, number))

### RCS¶

class RCS

An RCS block or thruster. Obtained by calling SpaceCenter.Part.rcs.

part

The part object for this RCS.

Attribute: Read-only, cannot be set SpaceCenter.Part
active

Whether the RCS thrusters are active. An RCS thruster is inactive if the RCS action group is disabled (SpaceCenter.Control.rcs), the RCS thruster itself is not enabled (SpaceCenter.RCS.enabled) or it is covered by a fairing (SpaceCenter.Part.shielded).

Attribute: Read-only, cannot be set boolean
enabled

Whether the RCS thrusters are enabled.

Attribute: Can be read or written boolean
pitch_enabled

Whether the RCS thruster will fire when pitch control input is given.

Attribute: Can be read or written boolean
yaw_enabled

Whether the RCS thruster will fire when yaw control input is given.

Attribute: Can be read or written boolean
roll_enabled

Whether the RCS thruster will fire when roll control input is given.

Attribute: Can be read or written boolean
forward_enabled

Whether the RCS thruster will fire when pitch control input is given.

Attribute: Can be read or written boolean
up_enabled

Whether the RCS thruster will fire when yaw control input is given.

Attribute: Can be read or written boolean
right_enabled

Whether the RCS thruster will fire when roll control input is given.

Attribute: Can be read or written boolean
available_torque

The available torque, in Newton meters, that can be produced by this RCS, in the positive and negative pitch, roll and yaw axes of the vessel. These axes correspond to the coordinate axes of the SpaceCenter.Vessel.reference_frame. Returns zero if RCS is disable.

Attribute: Read-only, cannot be set Tuple of (Tuple of (number, number, number), Tuple of (number, number, number))
max_thrust

The maximum amount of thrust that can be produced by the RCS thrusters when active, in Newtons.

Attribute: Read-only, cannot be set number
max_vacuum_thrust

The maximum amount of thrust that can be produced by the RCS thrusters when active in a vacuum, in Newtons.

Attribute: Read-only, cannot be set number
thrusters

A list of thrusters, one of each nozzel in the RCS part.

Attribute: Read-only, cannot be set List of SpaceCenter.Thruster
specific_impulse

The current specific impulse of the RCS, in seconds. Returns zero if the RCS is not active.

Attribute: Read-only, cannot be set number
vacuum_specific_impulse

The vacuum specific impulse of the RCS, in seconds.

Attribute: Read-only, cannot be set number
kerbin_sea_level_specific_impulse

The specific impulse of the RCS at sea level on Kerbin, in seconds.

Attribute: Read-only, cannot be set number
propellants

The names of resources that the RCS consumes.

Attribute: Read-only, cannot be set List of string
propellant_ratios

The ratios of resources that the RCS consumes. A dictionary mapping resource names to the ratios at which they are consumed by the RCS.

Attribute: Read-only, cannot be set Map from string to number
has_fuel

Whether the RCS has fuel available.

Attribute: Read-only, cannot be set boolean

Note

The RCS thruster must be activated for this property to update correctly.

### Sensor¶

class Sensor

A sensor, such as a thermometer. Obtained by calling SpaceCenter.Part.sensor.

part

The part object for this sensor.

Attribute: Read-only, cannot be set SpaceCenter.Part
active

Whether the sensor is active.

Attribute: Can be read or written boolean
value

The current value of the sensor.

Attribute: Read-only, cannot be set string

### Solar Panel¶

class SolarPanel

A solar panel. Obtained by calling SpaceCenter.Part.solar_panel.

part

The part object for this solar panel.

Attribute: Read-only, cannot be set SpaceCenter.Part
deployable

Whether the solar panel is deployable.

Attribute: Read-only, cannot be set boolean
deployed

Whether the solar panel is extended.

Attribute: Can be read or written boolean
state

The current state of the solar panel.

Attribute: Read-only, cannot be set SpaceCenter.SolarPanelState
energy_flow

The current amount of energy being generated by the solar panel, in units of charge per second.

Attribute: Read-only, cannot be set number
sun_exposure

The current amount of sunlight that is incident on the solar panel, as a percentage. A value between 0 and 1.

Attribute: Read-only, cannot be set number
class SolarPanelState

The state of a solar panel. See SpaceCenter.SolarPanel.state.

extended

Solar panel is fully extended.

retracted

Solar panel is fully retracted.

extending

Solar panel is being extended.

retracting

Solar panel is being retracted.

broken

Solar panel is broken.

### Thruster¶

class Thruster

The component of an SpaceCenter.Engine or SpaceCenter.RCS part that generates thrust. Can obtained by calling SpaceCenter.Engine.thrusters or SpaceCenter.RCS.thrusters.

Note

Engines can consist of multiple thrusters. For example, the S3 KS-25x4 “Mammoth” has four rocket nozzels, and so consists of four thrusters.

part

The SpaceCenter.Part that contains this thruster.

Attribute: Read-only, cannot be set SpaceCenter.Part
thrust_position(reference_frame)

The position at which the thruster generates thrust, in the given reference frame. For gimballed engines, this takes into account the current rotation of the gimbal.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned position vector is in. The position as a vector. Tuple of (number, number, number)
thrust_direction(reference_frame)

The direction of the force generated by the thruster, in the given reference frame. This is opposite to the direction in which the thruster expels propellant. For gimballed engines, this takes into account the current rotation of the gimbal.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned direction is in. The direction as a unit vector. Tuple of (number, number, number)
thrust_reference_frame

A reference frame that is fixed relative to the thruster and orientated with its thrust direction (SpaceCenter.Thruster.thrust_direction()). For gimballed engines, this takes into account the current rotation of the gimbal.

• The origin is at the position of thrust for this thruster (SpaceCenter.Thruster.thrust_position()).
• The axes rotate with the thrust direction. This is the direction in which the thruster expels propellant, including any gimballing.
• The y-axis points along the thrust direction.
• The x-axis and z-axis are perpendicular to the thrust direction.
Attribute: Read-only, cannot be set SpaceCenter.ReferenceFrame
gimballed

Whether the thruster is gimballed.

Attribute: Read-only, cannot be set boolean
gimbal_position(reference_frame)

Position around which the gimbal pivots.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned position vector is in. The position as a vector. Tuple of (number, number, number)
gimbal_angle

The current gimbal angle in the pitch, roll and yaw axes, in degrees.

Attribute: Read-only, cannot be set Tuple of (number, number, number)
initial_thrust_position(reference_frame)

The position at which the thruster generates thrust, when the engine is in its initial position (no gimballing), in the given reference frame.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned position vector is in. The position as a vector. Tuple of (number, number, number)

Note

This position can move when the gimbal rotates. This is because the thrust position and gimbal position are not necessarily the same.

initial_thrust_direction(reference_frame)

The direction of the force generated by the thruster, when the engine is in its initial position (no gimballing), in the given reference frame. This is opposite to the direction in which the thruster expels propellant.

Parameters: reference_frame (SpaceCenter.ReferenceFrame) – The reference frame that the returned direction is in. The direction as a unit vector. Tuple of (number, number, number)

### Wheel¶

class Wheel

A wheel. Includes landing gear and rover wheels. Obtained by calling SpaceCenter.Part.wheel. Can be used to control the motors, steering and deployment of wheels, among other things.

part

The part object for this wheel.

Attribute: Read-only, cannot be set SpaceCenter.Part
state

The current state of the wheel.

Attribute: Read-only, cannot be set SpaceCenter.WheelState
radius

Radius of the wheel, in meters.

Attribute: Read-only, cannot be set number
grounded

Whether the wheel is touching the ground.

Attribute: Read-only, cannot be set boolean
has_brakes

Whether the wheel has brakes.

Attribute: Read-only, cannot be set boolean
brakes

The braking force, as a percentage of maximum, when the brakes are applied.

Attribute: Can be read or written number
auto_friction_control

Whether automatic friction control is enabled.

Attribute: Can be read or written boolean
manual_friction_control

Manual friction control value. Only has an effect if automatic friction control is disabled. A value between 0 and 5 inclusive.

Attribute: Can be read or written number
deployable

Whether the wheel is deployable.

Attribute: Read-only, cannot be set boolean
deployed

Whether the wheel is deployed.

Attribute: Can be read or written boolean
powered

Attribute: Read-only, cannot be set boolean
motor_enabled

Whether the motor is enabled.

Attribute: Can be read or written boolean
motor_inverted

Whether the direction of the motor is inverted.

Attribute: Can be read or written boolean
motor_state

Whether the direction of the motor is inverted.

Attribute: Read-only, cannot be set SpaceCenter.MotorState
motor_output

The output of the motor. This is the torque currently being generated, in Newton meters.

Attribute: Read-only, cannot be set number
traction_control_enabled

Whether automatic traction control is enabled. A wheel only has traction control if it is powered.

Attribute: Can be read or written boolean
traction_control

Setting for the traction control. Only takes effect if the wheel has automatic traction control enabled. A value between 0 and 5 inclusive.

Attribute: Can be read or written number
drive_limiter

Manual setting for the motor limiter. Only takes effect if the wheel has automatic traction control disabled. A value between 0 and 100 inclusive.

Attribute: Can be read or written number
steerable

Whether the wheel has steering.

Attribute: Read-only, cannot be set boolean
steering_enabled

Whether the wheel steering is enabled.

Attribute: Can be read or written boolean
steering_inverted

Whether the wheel steering is inverted.

Attribute: Can be read or written boolean
has_suspension

Whether the wheel has suspension.

Attribute: Read-only, cannot be set boolean
suspension_spring_strength

Suspension spring strength, as set in the editor.

Attribute: Read-only, cannot be set number
suspension_damper_strength

Suspension damper strength, as set in the editor.

Attribute: Read-only, cannot be set number
broken

Whether the wheel is broken.

Attribute: Read-only, cannot be set boolean
repairable

Whether the wheel is repairable.

Attribute: Read-only, cannot be set boolean
stress

Current stress on the wheel.

Attribute: Read-only, cannot be set number
stress_tolerance

Stress tolerance of the wheel.

Attribute: Read-only, cannot be set number
stress_percentage

Current stress on the wheel as a percentage of its stress tolerance.

Attribute: Read-only, cannot be set number
deflection

Current deflection of the wheel.

Attribute: Read-only, cannot be set number
slip

Current slip of the wheel.

Attribute: Read-only, cannot be set number
class WheelState

The state of a wheel. See SpaceCenter.Wheel.state.

deployed

Wheel is fully deployed.

retracted

Wheel is fully retracted.

deploying

Wheel is being deployed.

retracting

Wheel is being retracted.

broken

Wheel is broken.

class MotorState

The state of the motor on a powered wheel. See SpaceCenter.Wheel.motor_state.

idle

The motor is idle.

running

The motor is running.

disabled

The motor is disabled.

inoperable

The motor is inoperable.

not_enough_resources

The motor does not have enough resources to run.

## Trees of Parts¶

Vessels in KSP are comprised of a number of parts, connected to one another in a tree structure. An example vessel is shown in Figure 1, and the corresponding tree of parts in Figure 2. The craft file for this example can also be downloaded here.

Figure 1 – Example parts making up a vessel.

Figure 2 – Tree of parts for the vessel in Figure 1. Arrows point from the parent part to the child part.

### Traversing the Tree¶

The tree of parts can be traversed using the attributes SpaceCenter.Parts.root, SpaceCenter.Part.parent and SpaceCenter.Part.children.

The root of the tree is the same as the vessels root part (part number 1 in the example above) and can be obtained by calling SpaceCenter.Parts.root. A parts children can be obtained by calling SpaceCenter.Part.children. If the part does not have any children, SpaceCenter.Part.children returns an empty list. A parts parent can be obtained by calling SpaceCenter.Part.parent. If the part does not have a parent (as is the case for the root part), SpaceCenter.Part.parent returns nil.

The following Lua example uses these attributes to perform a depth-first traversal over all of the parts in a vessel:

local krpc = require 'krpc'
local conn = krpc.connect()
local vessel = conn.space_center.active_vessel

local root = vessel.parts.root
local stack = {{root,0}}
while #stack > 0 do
local part,depth = unpack(table.remove(stack))
print(string.rep(' ', depth) .. part.title)
for _,child in ipairs(part.children) do
table.insert(stack, {child, depth+1})
end
end


When this code is execute using the craft file for the example vessel pictured above, the following is printed out:

Command Pod Mk1
TR-18A Stack Decoupler
FL-T400 Fuel Tank
LV-909 Liquid Fuel Engine
TR-18A Stack Decoupler
FL-T800 Fuel Tank
LV-909 Liquid Fuel Engine
FL-T400 Fuel Tank
TT18-A Launch Stability Enhancer
FTX-2 External Fuel Duct
LV-909 Liquid Fuel Engine
Aerodynamic Nose Cone
FL-T400 Fuel Tank
TT18-A Launch Stability Enhancer
FTX-2 External Fuel Duct
LV-909 Liquid Fuel Engine
Aerodynamic Nose Cone
LT-1 Landing Struts
LT-1 Landing Struts
Mk16 Parachute


### Attachment Modes¶

Parts can be attached to other parts either radially (on the side of the parent part) or axially (on the end of the parent part, to form a stack).

For example, in the vessel pictured above, the parachute (part 2) is axially connected to its parent (the command pod – part 1), and the landing leg (part 5) is radially connected to its parent (the fuel tank – part 4).

The root part of a vessel (for example the command pod – part 1) does not have a parent part, so does not have an attachment mode. However, the part is consider to be axially attached to nothing.

The following Lua example does a depth-first traversal as before, but also prints out the attachment mode used by the part:

local krpc = require 'krpc'
local conn = krpc.connect()
local vessel = conn.space_center.active_vessel

local root = vessel.parts.root
local stack = {{root, 0}}
while #stack > 0 do
local part,depth = unpack(table.remove(stack))
local attach_mode
if part.axially_attached then
attach_mode = 'axial'
end
print(string.rep(' ', depth) .. part.title .. ' - ' .. attach_mode)
for _,child in ipairs(part.children) do
table.insert(stack, {child, depth+1})
end
end


When this code is execute using the craft file for the example vessel pictured above, the following is printed out:

Command Pod Mk1 - axial
TR-18A Stack Decoupler - axial
FL-T400 Fuel Tank - axial
LV-909 Liquid Fuel Engine - axial
TR-18A Stack Decoupler - axial
FL-T800 Fuel Tank - axial
LV-909 Liquid Fuel Engine - axial
TT18-A Launch Stability Enhancer - radial
FTX-2 External Fuel Duct - radial
LV-909 Liquid Fuel Engine - axial
Aerodynamic Nose Cone - axial
TT18-A Launch Stability Enhancer - radial
FTX-2 External Fuel Duct - radial
LV-909 Liquid Fuel Engine - axial
Aerodynamic Nose Cone - axial
Mk16 Parachute - axial


## Fuel Lines¶

Figure 5 – Fuel lines from the example in Figure 1. Fuel flows from the parts highlighted in green, into the part highlighted in blue.

Figure 4 – A subset of the parts tree from Figure 2 above.

Fuel lines are considered parts, and are included in the parts tree (for example, as pictured in Figure 4). However, the parts tree does not contain information about which parts fuel lines connect to. The parent part of a fuel line is the part from which it will take fuel (as shown in Figure 4) however the part that it will send fuel to is not represented in the parts tree.

Figure 5 shows the fuel lines from the example vessel pictured earlier. Fuel line part 15 (in red) takes fuel from a fuel tank (part 11 – in green) and feeds it into another fuel tank (part 9 – in blue). The fuel line is therefore a child of part 11, but its connection to part 9 is not represented in the tree.

The attributes SpaceCenter.Part.fuel_lines_from and SpaceCenter.Part.fuel_lines_to can be used to discover these connections. In the example in Figure 5, when SpaceCenter.Part.fuel_lines_to is called on fuel tank part 11, it will return a list of parts containing just fuel tank part 9 (the blue part). When SpaceCenter.Part.fuel_lines_from is called on fuel tank part 9, it will return a list containing fuel tank parts 11 and 17 (the parts colored green).

## Staging¶

Figure 6 – Example vessel from Figure 1 with a staging sequence.

Each part has two staging numbers associated with it: the stage in which the part is activated and the stage in which the part is decoupled. These values can be obtained using SpaceCenter.Part.stage and SpaceCenter.Part.decouple_stage respectively. For parts that are not activated by staging, SpaceCenter.Part.stage returns -1. For parts that are never decoupled, SpaceCenter.Part.decouple_stage returns a value of -1.

Figure 6 shows an example staging sequence for a vessel. Figure 7 shows the stages in which each part of the vessel will be activated. Figure 8 shows the stages in which each part of the vessel will be decoupled.

Figure 7 – The stage in which each part is activated.

Figure 8 – The stage in which each part is decoupled.