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 Vessel.parts.

all#

A list of all of the vessels parts.

Attribute:

Read-only, cannot be set

Return type:

list(Part)

root#

The vessels root part.

Attribute:

Read-only, cannot be set

Return type:

Part

Note

See the discussion on Trees of Parts.

controlling#

The part from which the vessel is controlled. Returns None if the vessel has no control point, in which case it is oriented by its root part.

Attribute:

Can be read or written

Return type:

Part or None

Game Scenes:

Flight

Note

A vessel gets no control point when it is created by a decoupler or an undocking and none of its parts is a command module with crew aboard. A probe core does not give it one either. Assign this property to choose the control point, which is equivalent to “Control From Here” in game.

with_name(name)#

A list of parts whose Part.name is name.

Parameters:

name (str)

Return type:

list(Part)

with_title(title)#

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

Parameters:

title (str)

Return type:

list(Part)

with_tag(tag)#

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

Parameters:

tag (str)

Return type:

list(Part)

with_module(module_name)#

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

Parameters:

module_name (str)

Return type:

list(Part)

modules_with_name(module_name)#

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

Parameters:

module_name (str)

Return type:

list(Module)

antennas#

A list of all antennas in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Antenna)

Note

If RemoteTech is installed, this will always return an empty list. To interact with RemoteTech antennas, use the RemoteTech service APIs.

cargo_bays#

A list of all cargo bays in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(CargoBay)

control_surfaces#

A list of all control surfaces in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(ControlSurface)

decouplers#

A list of all decouplers in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Decoupler)

docking_ports#

A list of all docking ports in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(DockingPort)

engines#

A list of all engines in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(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

Return type:

list(Experiment)

fairings#

A list of all fairings in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Fairing)

intakes#

A list of all intakes in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Intake)

legs#

A list of all landing legs attached to the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Leg)

launch_clamps#

A list of all launch clamps attached to the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(LaunchClamp)

lights#

A list of all lights in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Light)

parachutes#

A list of all parachutes in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Parachute)

radiators#

A list of all radiators in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Radiator)

resource_drains#

A list of all resource drains in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(ResourceDrain)

rcs#

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

Attribute:

Read-only, cannot be set

Return type:

list(RCS)

reaction_wheels#

A list of all reaction wheels in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(ReactionWheel)

resource_converters#

A list of all resource converters in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(ResourceConverter)

resource_harvesters#

A list of all resource harvesters in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(ResourceHarvester)

robotic_controllers#

A list of all robotic controllers in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(RoboticController)

robotic_hinges#

A list of all robotic hinges in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(RoboticHinge)

robotic_pistons#

A list of all robotic pistons in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(RoboticPiston)

robotic_rotations#

A list of all robotic rotations in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(RoboticRotation)

robotic_rotors#

A list of all robotic rotors in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(RoboticRotor)

sensors#

A list of all sensors in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(Sensor)

solar_panels#

A list of all solar panels in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(SolarPanel)

wheels#

A list of all wheels in the vessel.

Attribute:

Read-only, cannot be set

Return type:

list(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 Parts.

name#

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

Attribute:

Read-only, cannot be set

Return type:

str

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

Return type:

str

config#

The static configuration of the part, as found in its part cfg file. This provides access to data that is not exposed elsewhere, such as the configuration of the part’s modules. Returns None if the part has no associated configuration node.

Attribute:

Read-only, cannot be set

Return type:

ConfigNode

tag#

The name tag for the part. Can be set to a custom string using the in-game user interface. Throws an exception if no name tag part module is installed.

Attribute:

Can be read or written

Return type:

str

Note

The name tag part module is provided by KSPCommunityPartModules 0.5 or later, or by kOS, which shares this string.

flag_url#

The asset URL for the part’s flag.

Attribute:

Can be read or written

Return type:

str

highlighted#

Whether the part is highlighted.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

Note

The highlighting is removed when the client that enabled it disconnects.

highlight_color#

The color used to highlight the part.

Attribute:

Can be read or written

Return type:

StdLib.ColorRGB

Game Scenes:

Flight

cost#

The cost of the part, in units of funds.

Attribute:

Read-only, cannot be set

Return type:

float

vessel#

The vessel that contains this part.

Attribute:

Read-only, cannot be set

Return type:

Vessel

Game Scenes:

Flight

parent#

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

Attribute:

Read-only, cannot be set

Return type:

Part or None

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 Part.parent, can be used to traverse the vessels parts tree.

Attribute:

Read-only, cannot be set

Return type:

list(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

Return type:

bool

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

Return type:

bool

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

Return type:

int

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

Return type:

int

Note

See the discussion on Staging.

massless#

Whether the part is massless.

Attribute:

Read-only, cannot be set

Return type:

bool

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

Return type:

float

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

Return type:

float

shielded#

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

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

dynamic_pressure#

The dynamic pressure acting on the part, in Pascals.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

static_pressure#

The static pressure acting on the part, in Pascals. Below the waterline this includes the pressure of the water.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

displacement#

The volume of water the part displaces when fully submerged, in \(m^3\).

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

See Part.displaced_volume for the volume it is displacing now.

buoyancy_multiplier#

The multiplier applied to the buoyant force on the part. One for most parts.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

buoyant_force_at(density, gravity)#

The buoyant force on the part when fully submerged in a fluid of the given density, in Newtons.

Parameters:
  • density (float) – The density of the fluid, in \(kg/m^3\).

  • gravity (float) – The acceleration due to gravity, in \(m/s^2\).

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

Applies buoyancy_scalar and Part.buoyancy_multiplier, so the result is what the game would do to the part rather than what Archimedes’ principle alone gives.

splashed#

Whether the part is in contact with water.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

submerged_portion#

The fraction of the part below the waterline, between 0 and 1.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

displaced_volume#

The volume of water the part is displacing, in \(m^3\).

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

depth#

The depth of the part below the waterline, in meters, measured at Part.center_of_displacement(). Negative above the waterline. Returns zero if the body the vessel is at has no ocean.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

min_depth#

The depth of the shallowest point of the part below the waterline, in meters. Returns zero if the body the vessel is at has no ocean.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

max_depth#

The depth of the deepest point of the part below the waterline, in meters. Returns zero if the body the vessel is at has no ocean.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

Note

The game ramps the buoyant force in over the first fraction of a meter of this depth.

submerged_dynamic_pressure#

The dynamic pressure of the water acting on the part, in Pascals.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

submerged_drag_multiplier#

The multiplier applied to the drag on the part while it is submerged.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

Note

The game sets this high on splashdown and eases it down as the part moves through the water. It climbs back once the part slows to a crawl, so a hull under way reads lower than one lying still.

submerged_lift_multiplier#

The multiplier applied to the lift on the part while it is submerged.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

water_angular_drag_multiplier#

The multiplier applied to the angular drag on the part while it is submerged.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

Part of the part’s configuration rather than a live readout, so it reads the same in the editor and at a body with no ocean.

impact_tolerance#

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

Attribute:

Read-only, cannot be set

Return type:

float

temperature#

Temperature of the part, in Kelvin.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

skin_temperature#

Temperature of the skin of the part, in Kelvin.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

max_temperature#

Maximum temperature that the part can survive, in Kelvin.

Attribute:

Read-only, cannot be set

Return type:

float

max_skin_temperature#

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

Attribute:

Read-only, cannot be set

Return type:

float

max_pressure#

Maximum pressure that the part can survive, in Pascals.

Attribute:

Read-only, cannot be set

Return type:

float

Note

With part pressure limits enabled in the difficulty settings, the part is destroyed when Part.static_pressure plus Part.dynamic_pressure exceeds this.

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

crew_capacity#

The number of crew members that can occupy the part.

Attribute:

Read-only, cannot be set

Return type:

int

crew#

The crew members occupying the part.

Attribute:

Read-only, cannot be set

Return type:

list(CrewMember)

Game Scenes:

Flight

available_seats#

How many open seats the part has.

Attribute:

Read-only, cannot be set

Return type:

int

Game Scenes:

Flight

resources#

A Part.resources object for the part.

Attribute:

Read-only, cannot be set

Return type:

Resources

crossfeed#

Whether this part is crossfeed capable.

Attribute:

Read-only, cannot be set

Return type:

bool

is_fuel_line#

Whether this part is a fuel line.

Attribute:

Read-only, cannot be set

Return type:

bool

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

Return type:

list(Part)

Game Scenes:

Flight

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

Return type:

list(Part)

Game Scenes:

Flight

Note

See the discussion on Fuel Lines.

modules#

The modules for this part.

Attribute:

Read-only, cannot be set

Return type:

list(Module)

antenna#

An Part.antenna if the part is an antenna, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Antenna or None

Note

If RemoteTech is installed, this will always return None. To interact with RemoteTech antennas, use the RemoteTech service APIs.

cargo_bay#

A Part.cargo_bay if the part is a cargo bay, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

CargoBay or None

control_surface#

A Part.control_surface if the part is an aerodynamic control surface, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

ControlSurface or None

decoupler#

A Part.decoupler if the part is a decoupler, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Decoupler or None

docking_port#

A Part.docking_port if the part is a docking port, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

DockingPort or None

engine#

An Part.engine if the part is an engine, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Engine or None

experiment#

An Part.experiment if the part contains a single science experiment, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Experiment or None

Note

Throws an exception if the part contains more than one experiment. In that case, use Part.experiments to get the list of experiments in the part.

experiments#

A list of Part.experiment objects that the part contains.

Attribute:

Read-only, cannot be set

Return type:

list(Experiment) or None

fairing#

A Part.fairing if the part is a fairing, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Fairing or None

intake#

An Part.intake if the part is an intake, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Intake or None

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 Part.rcs.

leg#

A Part.leg if the part is a landing leg, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Leg or None

launch_clamp#

A Part.launch_clamp if the part is a launch clamp, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

LaunchClamp or None

light#

A Part.light if the part is a light, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Light or None

parachute#

A Part.parachute if the part is a parachute, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Parachute or None

radiator#

A Part.radiator if the part is a radiator, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Radiator or None

resource_drain#

A Part.resource_drain if the part is a resource drain, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

ResourceDrain or None

rcs#

A Part.rcs if the part is an RCS block/thruster, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

RCS or None

reaction_wheel#

A Part.reaction_wheel if the part is a reaction wheel, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

ReactionWheel or None

resource_converter#

A Part.resource_converter if the part is a resource converter, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

ResourceConverter or None

resource_harvester#

A Part.resource_harvester if the part is a resource harvester, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

ResourceHarvester or None

robotic_controller#

A Part.robotic_controller if the part is a robotic controller, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

RoboticController or None

robotic_hinge#

A Part.robotic_hinge if the part is a robotic hinge, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

RoboticHinge or None

robotic_piston#

A Part.robotic_piston if the part is a robotic piston, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

RoboticPiston or None

robotic_rotation#

A Part.robotic_rotation if the part is a robotic rotation servo, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

RoboticRotation or None

robotic_rotor#

A Part.robotic_rotor if the part is a robotic rotor, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

RoboticRotor or None

sensor#

A Part.sensor if the part is a sensor, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Sensor or None

solar_panel#

A Part.solar_panel if the part is a solar panel, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

SolarPanel or None

wheel#

A Part.wheel if the part is a wheel, otherwise None.

Attribute:

Read-only, cannot be set

Return type:

Wheel or None

position(reference_frame)#

The position of the part in the given reference frame.

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

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 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 in flight, this is equivalent to Part.position().

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

bounding_box(reference_frame)#

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

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned position vectors are in.

Returns:

The positions of the minimum and maximum vertices of the box.

Return type:

BoundingBox

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

This is computed from the meshes that make up the parts model, and covers only this part - the models of any child parts are excluded. If the part has no visible model, the box has zero volume and is centered on the Part.center_of_mass() of the part.

direction(reference_frame)#

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

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned direction is in.

Returns:

The direction as a unit vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

velocity(reference_frame)#

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

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned velocity vector is in.

Returns:

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.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

rotation(reference_frame)#

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

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned rotation is in.

Returns:

The rotation as a quaternion of the form \((x, y, z, w)\).

Return type:

tuple(float, float, float, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

lift(reference_frame)#

The aerodynamic lift currently acting on the part.

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned vector is in.

Returns:

A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

Note

Not available when the Ferram Aerospace Research mod is installed.

drag(reference_frame)#

The aerodynamic drag currently acting on the part.

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned vector is in.

Returns:

A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

Note

Not available when the Ferram Aerospace Research mod is installed.

center_of_buoyancy(reference_frame)#

The point the buoyant force on the part acts at, in the given reference frame.

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

A submerged part reports the point the game applied the force at, which it shifts towards the submerged part of the hull. Any other part reports its configured center of buoyancy.

center_of_displacement(reference_frame)#

The point the depth of the part is measured at, in the given reference frame.

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

buoyant_force(reference_frame)#

The buoyant force currently acting on the part.

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned vector is in.

Returns:

A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

Note

The buoyant force on its own. The water drag and lift the game applies alongside it are reported by Part.submerged_drag_multiplier and Part.submerged_lift_multiplier.

moment_of_inertia#

The moment of inertia of the part in \(kg.m^2\) around its center of mass in the parts center of mass reference frame (Part.center_of_mass_reference_frame).

Attribute:

Read-only, cannot be set

Return type:

tuple(float, float, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

inertia_tensor#

The inertia tensor of the part around its center of mass, in the parts center of mass reference frame (Part.center_of_mass_reference_frame). Returns the 3x3 matrix as a list of elements, in row-major order.

Attribute:

Read-only, cannot be set

Return type:

list(float)

Game Scenes:

Flight, Editor Vab, Editor Sph

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.

  • The origin is at the position of the part, as returned by Part.position().

  • The axes rotate with the part.

  • The x, y and z axis directions depend on the design of the part.

Attribute:

Read-only, cannot be set

Return type:

ReferenceFrame

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

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

../../../_images/part.png

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.

  • The origin is at the center of mass of the part, as returned by Part.center_of_mass().

  • The axes rotate with the part.

  • The x, y and z axis directions depend on the design of the part.

Attribute:

Read-only, cannot be set

Return type:

ReferenceFrame

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

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

add_force(force, position, reference_frame)#

Warning

Deprecated. Use Debug.AddForce instead.

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 (ReferenceFrame) – The reference frame that the force and position are in.

Returns:

An object that can be used to remove or modify the force.

Return type:

Force

Game Scenes:

Flight

Note

The force is removed when the client that added it disconnects.

instantaneous_force(force, position, reference_frame)#

Warning

Deprecated. Use Debug.InstantaneousForce instead.

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 (ReferenceFrame) – The reference frame that the force and position are in.

Game Scenes:

Flight

Note

The force is applied instantaneously in a single physics update.

glow#

Whether the part is glowing.

Attribute:

Write-only, cannot be read

Return type:

bool

Game Scenes:

Flight

auto_strut_mode#

Auto-strut mode.

Attribute:

Read-only, cannot be set

Return type:

AutoStrutMode

has_real_fuels_tank#

Whether the part is a fuel tank managed by RealFuels. The remaining properties in this section are only available when it is.

Attribute:

Read-only, cannot be set

Return type:

bool

highly_pressurized#

Whether the tank is highly pressurized, which is what a pressure-fed engine needs to draw from (see Engine.pressure_fed). Throws an exception if the part is not a RealFuels fuel tank (see Part.has_real_fuels_tank).

Attribute:

Read-only, cannot be set

Return type:

bool

boiloff_rate#

The rate at which the tank’s cryogenic contents are boiling off, in kilograms per second of in-game time, measured over the last update RealFuels computed it in. The contents keep boiling off under time warp, where that update covers a much longer span of in-game time than a physics frame does. The rate is zero for a tank holding nothing cryogenic, for one still being fed by a launch clamp, whose temperature RealFuels holds down instead, and in the editor. Throws an exception if the part is not a RealFuels fuel tank (see Part.has_real_fuels_tank).

Attribute:

Read-only, cannot be set

Return type:

float

class AutoStrutMode#

The state of an auto-strut. Part.auto_strut_mode

off#

Off

root#

Root

heaviest#

Heaviest

grandparent#

Grandparent

force_root#

ForceRoot

force_heaviest#

ForceHeaviest

force_grandparent#

ForceGrandparent

class Force#

Obtained by calling Debug.AddForce.

part#

The part that this force is applied to.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight

force_vector#

The force vector, in Newtons.

Attribute:

Can be read or written

Returns:

A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

position#

The position at which the force acts, in reference frame Force.reference_frame.

Attribute:

Can be read or written

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

reference_frame#

The reference frame of the force vector and position.

Attribute:

Can be read or written

Return type:

ReferenceFrame

Game Scenes:

Flight

remove()#

Remove the force.

Game Scenes:

Flight

Note

Any further use of this object throws an exception.

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

Return type:

str

part#

The part that contains this module.

Attribute:

Read-only, cannot be set

Return type:

Part

config#

The static configuration of the module, as found in the part’s cfg file. This provides access to data that is not exposed as a field, such as the resources produced by a generator. Returns None if the module’s configuration node cannot be found.

Attribute:

Read-only, cannot be set

Return type:

ConfigNode

field_list#

A list of all the fields of the module, including those not visible in the right-click menu of the part. Filter by PartField.visible to get just the visible ones.

Attribute:

Read-only, cannot be set

Return type:

list(PartField)

event_list#

A list of all the events of the module, including those not currently visible or active. Events are the clickable buttons visible in the right-click menu of the part. Filter by PartEvent.visible and PartEvent.active to get just the ones shown in the menu.

Attribute:

Read-only, cannot be set

Return type:

list(PartEvent)

action_list#

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

Attribute:

Read-only, cannot be set

Return type:

list(PartAction)

class PartField#

A field of a part module. Obtained by calling Module.field_list.

module#

The part module that contains this field.

Attribute:

Read-only, cannot be set

Return type:

Module

name#

The identifier of the field. This is stable and does not change between game versions, unlike PartField.gui_name.

Attribute:

Read-only, cannot be set

Return type:

str

gui_name#

The name of the field, as displayed in the right-click menu of the part. This may be empty for fields that are not visible in the menu.

Attribute:

Read-only, cannot be set

Return type:

str

visible#

Whether the field is visible in the right-click menu of the part, in the current scene (flight or editor).

Attribute:

Read-only, cannot be set

Return type:

bool

type#

The type of the field.

Attribute:

Read-only, cannot be set

Return type:

FieldType

value#

The value of the field, as a string. This works for fields of any type, and returns the same string that is shown in the right-click menu of the part.

Attribute:

Can be read or written

Return type:

str

Note

Setting the value using this property is only permitted for string fields. Use the typed properties (PartField.bool_value, PartField.int_value, PartField.float_value, PartField.double_value) to set fields of other types.

bool_value#

The value of a boolean field.

Attribute:

Can be read or written

Return type:

bool

Note

The getter throws an exception if the field is not a boolean field (see PartField.type).

int_value#

The value of an integer field.

Attribute:

Can be read or written

Return type:

int

Note

The getter throws an exception if the field is not an integer field (see PartField.type).

float_value#

The value of a single precision floating point field.

Attribute:

Can be read or written

Return type:

float

Note

The getter throws an exception if the field is not a single precision floating point field (see PartField.type).

double_value#

The value of a double precision floating point field.

Attribute:

Can be read or written

Return type:

float

Note

The getter throws an exception if the field is not a double precision floating point field (see PartField.type).

reset()#

Set the value of the field to its original value.

Note

The original value is the value the field had when the part was loaded. Works for any field, including those not visible in the right-click menu.

class FieldType#

The type of a part module field. See PartField.type.

boolean#

A boolean field. Access using PartField.bool_value.

integer#

An integer field. Access using PartField.int_value.

float#

A single precision floating point field. Access using PartField.float_value.

double#

A double precision floating point field. Access using PartField.double_value.

string#

A string field. Access using PartField.value.

unknown#

A field whose type is not one of the above. Its value can still be read as a string using PartField.value.

class PartEvent#

An event of a part module. Events are the clickable buttons visible in the right-click menu of the part. Obtained by calling Module.event_list.

module#

The part module that contains this event.

Attribute:

Read-only, cannot be set

Return type:

Module

name#

The identifier of the event. This is stable and does not change between game versions, unlike PartEvent.gui_name.

Attribute:

Read-only, cannot be set

Return type:

str

gui_name#

The name of the event, as displayed in the right-click menu of the part.

Attribute:

Read-only, cannot be set

Return type:

str

visible#

Whether the event is visible in the right-click menu of the part, in the current scene (flight or editor).

Attribute:

Read-only, cannot be set

Return type:

bool

active#

Whether the event is currently active.

Attribute:

Read-only, cannot be set

Return type:

bool

trigger()#

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

class PartAction#

An action of a part module. These are the part actions that can be assigned to action groups in the in-game editor. Obtained by calling Module.action_list.

module#

The part module that contains this action.

Attribute:

Read-only, cannot be set

Return type:

Module

name#

The identifier of the action. This is stable and does not change between game versions, unlike PartAction.gui_name.

Attribute:

Read-only, cannot be set

Return type:

str

gui_name#

The name of the action, as displayed in the in-game editor.

Attribute:

Read-only, cannot be set

Return type:

str

activated#

Activate or deactivate the action. Equivalent to triggering the action from an action group. Set to True to activate the action, or False to deactivate it.

Attribute:

Write-only, cannot be read

Return type:

bool

Config Node#

class ConfigNode#

Represents a configuration node, as found in a part’s configuration file. A node has a name, a set of named values and a set of child nodes. This is used to access the static configuration of a part or part module, for example via Part.config and Module.config.

name#

The name of the configuration node. For example “MODULE”.

Attribute:

Read-only, cannot be set

Return type:

str

values#

The values stored in the node, as a dictionary mapping names to values.

Attribute:

Read-only, cannot be set

Return type:

dict(str, str)

Note

If a name appears more than once, only the first value is included. Use ConfigNode.get_values() to get all of the values with a given name.

has_value(name)#

Returns True if the node has a value with the given name.

Parameters:

name (str) – Name of the value.

Return type:

bool

get_value(name)#

Returns the value with the given name. If there is more than one value with the given name, the first is returned. Throws an exception if there is no value with the given name.

Parameters:

name (str) – Name of the value.

Return type:

str

get_values(name)#

Returns all of the values with the given name, as a list.

Parameters:

name (str) – Name of the values.

Return type:

list(str)

nodes#

The child nodes contained in this node.

Attribute:

Read-only, cannot be set

Return type:

list(ConfigNode)

has_node(name)#

Returns True if the node has a child node with the given name.

Parameters:

name (str) – Name of the child node.

Return type:

bool

get_node(name)#

Returns the child node with the given name. If there is more than one child node with the given name, the first is returned. Throws an exception if there is no child node with the given name.

Parameters:

name (str) – Name of the child node.

Return type:

ConfigNode

get_nodes(name)#

Returns all of the child nodes with the given name, as a list.

Parameters:

name (str) – Name of the child nodes.

Return type:

list(ConfigNode)

Specific Types of Part#

The following classes provide functionality for specific types of part.

Antenna#

Note

If RemoteTech is installed, use the RemoteTech service APIs to interact with antennas. This class is only for stock KSP antennas.

class Antenna#

An antenna. Obtained by calling Part.antenna.

part#

The part object for this antenna.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

state#

The current state of the antenna.

Attribute:

Read-only, cannot be set

Return type:

DeployableState

Game Scenes:

Flight

deployable#

Whether the antenna is deployable.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

deployed#

Whether the antenna is deployed.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

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

Return type:

bool

Game Scenes:

Flight

transmit()#

Transmit data.

Game Scenes:

Flight

cancel()#

Cancel current transmission of data.

Game Scenes:

Flight

allow_partial#

Whether partial data transmission is permitted.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

power#

The power of the antenna.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

combinable#

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

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

combinable_exponent#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

packet_interval#

Interval between sending packets in seconds.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

packet_size#

Amount of data sent per packet in Mits.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

packet_resource_cost#

Units of electric charge consumed per packet sent.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

Cargo Bay#

class CargoBay#

A cargo bay. Obtained by calling Part.cargo_bay.

part#

The part object for this cargo bay.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

state#

The state of the cargo bay.

Attribute:

Read-only, cannot be set

Return type:

DeployableState

Game Scenes:

Flight

Note

This describes where the bay’s doors are, which is not the same as whether the parts inside are sheltered: a bay whose open end has nothing attached to it never shelters anything, however tightly shut it is. Use Part.shielded for that.

A cargo bay is never DeployableState.broken, as the game does not track damage for them.

open#

Whether the cargo bay is open.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

Control Surface#

class ControlSurface#

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

part#

The part object for this control surface.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

pitch_enabled#

Whether the control surface has pitch control enabled.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

yaw_enabled#

Whether the control surface has yaw control enabled.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

roll_enabled#

Whether the control surface has roll control enabled.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

authority_limiter#

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

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

inverted#

Whether the control surface movement is inverted.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

deployed#

Whether the control surface has been fully deployed. Throws an exception if set while ControlSurface.deflection_override is enabled, which holds the surface deployed.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

deploy_angle#

The deploy angle of the control surface, in degrees.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

Note

Applied when ControlSurface.deployed is true, and clamped to the range given by ControlSurface.min_deploy_angle and ControlSurface.max_deploy_angle. While ControlSurface.deflection_override is enabled, ControlSurface.deflection drives the angle. A value set here takes effect when the override is released.

min_deploy_angle#

The minimum ControlSurface.deploy_angle of the control surface, in degrees.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

max_deploy_angle#

The maximum ControlSurface.deploy_angle of the control surface, in degrees.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

deflection_override#

Whether the control surface deflection is being set directly, bypassing the vessel’s normal flight control. When enabled, the surface holds the deflection set by ControlSurface.deflection instead of responding to pitch, yaw and roll control inputs. The prior state is restored when the override is released, when the controlling client disconnects, or when the vessel changes.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

deflection#

The deflection command applied when ControlSurface.deflection_override is enabled, as a value between -1 and 1, mapped onto the surface’s deploy angle range.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

surface_area#

Surface area of the control surface in \(m^2\).

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

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 Vessel.reference_frame.

Attribute:

Read-only, cannot be set

Return type:

AxisRange

Game Scenes:

Flight

Decoupler#

class Decoupler#

A decoupler. Obtained by calling Part.decoupler

part#

The part object for this decoupler.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

decouple()#

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

Return type:

Vessel

Game Scenes:

Flight

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 active_vessel no longer refer to the active vessel.

decoupled#

Whether the decoupler has fired.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

staged#

Whether the decoupler is enabled in the staging sequence.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

impulse#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

is_omni_decoupler#

Whether the decoupler is an omni-decoupler (e.g. stack separator)

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

attached_part#

The part attached to this decoupler’s explosive node.

Attribute:

Read-only, cannot be set

Return type:

Part or None

Game Scenes:

Flight, Editor Vab, Editor Sph

Deployable State#

The deployment state shared by antennas, cargo bays, landing legs, radiators, resource harvesters, solar panels and wheels.

class DeployableState#

The state of a deployable part. Antenna.state, CargoBay.state, Leg.state, Radiator.state, ResourceHarvester.state, SolarPanel.state, Wheel.state

deployed#

The part is fully deployed. A cargo bay in this state is fully open. Parts that cannot be retracted, such as fixed radiators, solar panels, antennas, landing legs and wheels, are always in this state.

retracted#

The part is fully retracted. A cargo bay in this state is closed and locked.

deploying#

The part is being deployed. A cargo bay in this state is opening.

retracting#

The part is being retracted. A cargo bay in this state is closing.

broken#

The part is broken. Cargo bays and resource harvesters never report this state, as the game does not track damage for them.

Docking Port#

class DockingPort#

A docking port. Obtained by calling Part.docking_port

part#

The part object for this docking port.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

state#

The current state of the docking port.

Attribute:

Read-only, cannot be set

Return type:

DockingPortState

Game Scenes:

Flight

docked_part#

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

Attribute:

Read-only, cannot be set

Return type:

Part or None

Game Scenes:

Flight

undock()#

Undocks the docking port and returns the new 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:

Vessel

Game Scenes:

Flight

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 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

Return type:

float

Game Scenes:

Flight

has_shield#

Whether the docking port has a shield.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

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

Return type:

bool

Game Scenes:

Flight

can_rotate#

Whether the docking port can be commanded to rotate while docked.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

maximum_rotation#

Maximum rotation angle in degrees.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

minimum_rotation#

Minimum rotation angle in degrees.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

rotation_target#

Rotation target angle in degrees.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

rotation_locked#

Lock rotation. When locked, allows auto-strut to work across the joint.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

position(reference_frame)#

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

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

direction(reference_frame)#

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

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned direction is in.

Returns:

The direction as a unit vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

rotation(reference_frame)#

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

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned rotation is in.

Returns:

The rotation as a quaternion of the form \((x, y, z, w)\).

Return type:

tuple(float, float, float, float)

Game Scenes:

Flight

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

Return type:

ReferenceFrame

Game Scenes:

Flight

Note

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

../../../_images/docking-port.png

Docking port reference frame origin and axes#

../../../_images/docking-port-inline.png

Inline docking port reference frame origin and axes#

class DockingPortState#

The state of a docking port. See 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 (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 Part.engine.

Note

For RCS thrusters Part.rcs.

part#

The part object for this engine.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

active#

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

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

thrust#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

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 Engine.thrust_limit and atmospheric conditions into account.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

available_thrust_at(pressure)#

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 given pressure into account.

Parameters:

pressure (float) – Atmospheric pressure in atmospheres

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

max_thrust_at(pressure)#

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%. Takes the given pressure into account.

Parameters:

pressure (float) – Atmospheric pressure in atmospheres

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

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, 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

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

thrusters#

The components of the engine that generate thrust.

Attribute:

Read-only, cannot be set

Return type:

list(Thruster)

Game Scenes:

Flight

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 Engine.available_thrust, 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

Return type:

float

Game Scenes:

Flight

specific_impulse_at(pressure)#

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

Parameters:

pressure (float) – Atmospheric pressure in atmospheres

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

vacuum_specific_impulse#

The vacuum specific impulse of the engine, in seconds.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

kerbin_sea_level_specific_impulse#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

propellant_names#

The names of the propellants that the engine consumes.

Attribute:

Read-only, cannot be set

Return type:

list(str)

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

dict(str, float)

Game Scenes:

Flight

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

Return type:

list(Propellant)

Game Scenes:

Flight

has_fuel#

Whether the engine has any fuel available.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

flameout#

Whether the engine has flamed out - it is active but has run out of propellant, so it is producing no thrust. This is the signal a client can use to decide when to activate the next stage. Note that on a vessel with drop tanks or asparagus staging some engines can flame out while others keep burning.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

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), or independent throttle may be enabled.

When the engine’s independent throttle is enabled (see Engine.independent_throttle), can be used to set the throttle percentage.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

throttle_locked#

Whether the 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

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

independent_throttle#

Whether the independent throttle is enabled for the engine.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

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

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

has_modes#

Whether the engine has multiple modes of operation.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

mode#

The name of the current engine mode.

Attribute:

Can be read or written

Return type:

str

Game Scenes:

Flight

modes#

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

Attribute:

Read-only, cannot be set

Return type:

dict(str, Engine)

Game Scenes:

Flight

toggle_mode()#

Toggle the current engine mode.

Game Scenes:

Flight

auto_mode_switch#

Whether the engine will automatically switch modes.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

gimballed#

Whether the engine is gimballed.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

gimbal_override#

Whether the gimbal is being controlled directly, bypassing the vessel’s normal flight controls. When enabled, the gimbal deflection is set by Engine.gimbal_actuation instead of the normal control inputs. The override is automatically released if the controlling client disconnects or the vessel changes. Has no effect if the engine is not gimballed.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

gimbal_actuation#

The gimbal actuation command applied when Engine.gimbal_override is enabled, in the pitch, roll and yaw axes. Each component is a normalized control input between -1 and 1. The physical deflection is scaled by Engine.gimbal_range and Engine.gimbal_limit. When the gimbal is not being overridden, returns the current actuation.

Attribute:

Can be read or written

Return type:

tuple(float, float, float)

Game Scenes:

Flight

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 Vessel.reference_frame. Returns zero if the engine is inactive, or not gimballed.

Attribute:

Read-only, cannot be set

Return type:

AxisRange

Game Scenes:

Flight

can_reverse_thrust#

Whether the engine has a recognized thrust reverser. This is True for stock engines with a thrust reverser (such as the J-33 “Wheesley” and J-90 “Goliath” turbofan engines) and for selected mod engines. It is False for engines whose reverser is not recognized, as KSP provides no standard way to detect one.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

thrust_reversed#

Whether the engine’s thrust reverser is engaged, reversing the direction of thrust. While the reverser is still moving, this reports the state it is moving to, so a read immediately after a set returns the value that was set and setting the same value again has no effect. Throws an exception if the engine does not have a thrust reverser (see Engine.can_reverse_thrust).

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

toggle_thrust_reversal()#

Toggle the engine’s thrust reverser. Throws an exception if the engine does not have a thrust reverser (see Engine.can_reverse_thrust).

Game Scenes:

Flight

has_real_fuels#

Whether the engine is managed by RealFuels. The remaining properties in this section are only available when it is.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

ignitions#

The number of times the engine can still be ignited, or -1 if it can be ignited an unlimited number of times. Throws an exception if the engine is not managed by RealFuels (see Engine.has_real_fuels).

Attribute:

Read-only, cannot be set

Return type:

int

Game Scenes:

Flight, Editor Vab, Editor Sph

ignition_resources#

The resources the engine consumes each time it ignites, keyed by resource name, with the amount of each that is required. The engine uses up an ignition and fails to light if they are not available. Throws an exception if the engine is not managed by RealFuels (see Engine.has_real_fuels).

Attribute:

Read-only, cannot be set

Return type:

dict(str, float)

Game Scenes:

Flight, Editor Vab, Editor Sph

has_ullage#

Whether the engine’s propellant is subject to ullage, so that it must be settled before the engine will run reliably. Throws an exception if the engine is not managed by RealFuels (see Engine.has_real_fuels).

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

propellant_stability#

How settled the propellant feeding the engine is, from 0 (fully unsettled) to 1 (fully settled). Acceleration along the engine’s thrust axis settles it, and coasting and rotation unsettle it. Throws an exception if the engine is not managed by RealFuels (see Engine.has_real_fuels).

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

propellant_reliability#

The probability that the propellant feeding the engine behaves normally, from 0 to 1. This is Engine.propellant_stability scaled by the game’s ullage difficulty setting, and is the value RealFuels itself tests against when deciding whether the engine runs. Throws an exception if the engine is not managed by RealFuels (see Engine.has_real_fuels).

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

pressure_fed#

Whether the engine is fed by tank pressure rather than by a pump, and so needs to draw from a highly pressurized tank. Throws an exception if the engine is not managed by RealFuels (see Engine.has_real_fuels).

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

has_feed_pressure#

Whether the tanks feeding the engine supply the pressure it needs. Always True for an engine that is not pressure fed. Throws an exception if the engine is not managed by RealFuels (see Engine.has_real_fuels).

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

class Propellant#

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

name#

The name of the propellant.

Attribute:

Read-only, cannot be set

Return type:

str

Game Scenes:

Flight

current_amount#

The current amount of propellant consumed in the current physics update.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

current_requirement#

The required amount of propellant for the current physics update.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

total_resource_available#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

total_resource_capacity#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

ignore_for_isp#

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

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

ignore_for_thrust_curve#

If this propellant should be ignored for thrust curve calculations.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

draw_stack_gauge#

If this propellant has a stack gauge or not.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

is_deprived#

If this propellant is deprived.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

ratio#

The propellant ratio.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

Experiment#

class Experiment#

Obtained by calling Part.experiment.

part#

The part object for this experiment.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

name#

Internal name of the experiment, as used in part cfg files.

Attribute:

Read-only, cannot be set

Return type:

str

Game Scenes:

Flight

title#

Title of the experiment, as shown on the in-game UI.

Attribute:

Read-only, cannot be set

Return type:

str

Game Scenes:

Flight

run()#

Run the experiment.

Game Scenes:

Flight

transmit()#

Transmit all experimental data contained by this part.

Game Scenes:

Flight

dump()#

Dump the experimental data contained by the experiment.

Game Scenes:

Flight

reset()#

Reset the experiment.

Game Scenes:

Flight

deployed#

Whether the experiment has been deployed.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

rerunnable#

Whether the experiment can be re-run.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

inoperable#

Whether the experiment is inoperable.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

has_data#

Whether the experiment contains data.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

data#

The data contained in this experiment.

Attribute:

Read-only, cannot be set

Return type:

list(ScienceData)

Game Scenes:

Flight

biome#

The name of the biome the experiment is currently in.

Attribute:

Read-only, cannot be set

Return type:

str

Game Scenes:

Flight

available#

Determines if the experiment is available given the current conditions.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

science_subject#

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

Attribute:

Read-only, cannot be set

Return type:

ScienceSubject or None

Game Scenes:

Flight

class ScienceData(data_amount, science_value, transmit_value)#

Obtained by calling Experiment.data.

data_amount#

Data amount.

Return type:

float

science_value#

Science value.

Return type:

float

transmit_value#

Transmit value.

Return type:

float

class ScienceSubject(id, title, is_complete, science, science_cap, data_scale, subject_value, scientific_value)#

Obtained by calling Experiment.science_subject.

id#

The identifier of the subject, e.g. crewReport@KerbinSrfLandedLaunchPad.

Return type:

str

title#

The title of the subject, as shown in the science archives.

Return type:

str

is_complete#

Whether the subject has been fully researched. This is true once the science banked for the subject reaches the science cap. As the banked science (see ScienceSubject.science) is only updated after transmission/recovery, this reflects fully mining the subject over repeated experiments, not whether a single run has produced data. To check whether a run has produced data, and how valuable it is, use Experiment.has_data and ScienceData.transmit_value.

Return type:

bool

science#

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

Return type:

float

science_cap#

Total science allowable for this subject.

Return type:

float

data_scale#

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

Return type:

float

subject_value#

Multiplier for specific Celestial Body/Experiment Situation combination.

Return type:

float

scientific_value#

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

Return type:

float

Fairing#

class Fairing#

A fairing. Obtained by calling Part.fairing. Supports both stock fairings, and those from the ProceduralFairings mod.

part#

The part object for this fairing.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

jettison()#

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

Game Scenes:

Flight

jettisoned#

Whether the fairing has been jettisoned.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

Intake#

class Intake#

An air intake. Obtained by calling Part.intake.

part#

The part object for this intake.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

open#

Whether the intake is open.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

speed#

Speed of the flow into the intake, in \(m/s\).

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

flow#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

area#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

Leg#

class Leg#

A landing leg. Obtained by calling Part.leg.

part#

The part object for this landing leg.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

state#

The current state of the landing leg.

Attribute:

Read-only, cannot be set

Return type:

DeployableState

Game Scenes:

Flight

deployable#

Whether the leg is deployable.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

deployed#

Whether the landing leg is deployed.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

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

Return type:

bool

Game Scenes:

Flight

Launch Clamp#

class LaunchClamp#

A launch clamp. Obtained by calling Part.launch_clamp.

part#

The part object for this launch clamp.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

release()#

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

Game Scenes:

Flight

Light#

class Light#

A light. Obtained by calling Part.light.

part#

The part object for this light.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

active#

Whether the light is switched on.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

color#

The color of the light.

Attribute:

Can be read or written

Return type:

StdLib.ColorRGB

Game Scenes:

Flight, Editor Vab, Editor Sph

Whether blinking is enabled.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

The blink rate of the light.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

power_usage#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

Parachute#

class Parachute#

A parachute. Obtained by calling Part.parachute.

part#

The part object for this parachute.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

deploy()#

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

Game Scenes:

Flight

deployed#

Whether the parachute has been deployed.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

arm()#

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

Game Scenes:

Flight

armed#

Whether the parachute has been armed or deployed.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

cut()#

Cuts the parachute.

Game Scenes:

Flight

state#

The current state of the parachute.

Attribute:

Read-only, cannot be set

Return type:

ParachuteState

Game Scenes:

Flight

deploy_altitude#

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

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

safe_state#

Whether it is currently safe to deploy the parachute, given the vessel’s flight conditions. Computed by KSP from the current airspeed, pressure and temperature. Only applicable to stock parachutes. Note that KSP reports ParachuteSafeState.unsafe for the first second after the vessel unpacks, before its thermal data is valid.

Attribute:

Read-only, cannot be set

Return type:

ParachuteSafeState

Game Scenes:

Flight

class ParachuteState#

The state of a parachute. See Parachute.state.

stowed#

The parachute is safely tucked away inside its housing.

armed#

The parachute is armed for deployment.

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 ParachuteSafeState#

The safety state of deploying a parachute. See Parachute.safe_state.

safe#

The parachute is safe to deploy.

risky#

Deploying the parachute is risky, and it may break off.

unsafe#

The parachute is unsafe to deploy, and will break off.

none#

The safety state is not available, because the vessel is not in an atmosphere or the parachute has already been deployed or cut.

Radiator#

class Radiator#

A radiator. Obtained by calling Part.radiator.

part#

The part object for this radiator.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

deployable#

Whether the radiator is deployable.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

bool

Game Scenes:

Flight

state#

The current state of the radiator.

Attribute:

Read-only, cannot be set

Return type:

DeployableState

Game Scenes:

Flight

Note

A fixed radiator is always DeployableState.deployed.

Resource Converter#

class ResourceConverter#

A resource converter. Obtained by calling Part.resource_converter.

part#

The part object for this converter.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

count#

The number of converters in the part.

Attribute:

Read-only, cannot be set

Return type:

int

Game Scenes:

Flight

name(index)#

The name of the specified converter.

Parameters:

index (int) – Index of the converter.

Return type:

str

Game Scenes:

Flight

active(index)#

True if the specified converter is active.

Parameters:

index (int) – Index of the converter.

Return type:

bool

Game Scenes:

Flight

start(index)#

Start the specified converter.

Parameters:

index (int) – Index of the converter.

Game Scenes:

Flight

stop(index)#

Stop the specified converter.

Parameters:

index (int) – Index of the converter.

Game Scenes:

Flight

state(index)#

The state of the specified converter.

Parameters:

index (int) – Index of the converter.

Return type:

ResourceConverterState

Game Scenes:

Flight

status_info(index)#

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

Parameters:

index (int) – Index of the converter.

Return type:

str

Game Scenes:

Flight

inputs(index)#

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

Parameters:

index (int) – Index of the converter.

Return type:

list(str)

Game Scenes:

Flight

outputs(index)#

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

Parameters:

index (int) – Index of the converter.

Return type:

list(str)

Game Scenes:

Flight

optimum_core_temperature#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

core_temperature#

The core temperature of the converter, in Kelvin.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

thermal_efficiency#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

class ResourceConverterState#

The state of a resource converter. See 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 ResourceConverter.status_info() for more information.

Resource Harvester#

class ResourceHarvester#

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

part#

The part object for this harvester.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

state#

The deployment state of the harvester. Whether it is drilling is reported separately by ResourceHarvester.active.

Attribute:

Read-only, cannot be set

Return type:

DeployableState

Game Scenes:

Flight

Note

A harvester is never DeployableState.broken, as the game does not track damage for them.

deployed#

Whether the harvester is deployed.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

active#

Whether the harvester is actively drilling.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

Note

A value set while the harvester is deploying is applied when the deploy completes, so it can be set immediately after setting ResourceHarvester.deployed without waiting for the deploy animation. Setting it has no effect while the harvester is retracted or retracting.

extraction_rate#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

thermal_efficiency#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

core_temperature#

The core temperature of the drill, in Kelvin.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

optimum_core_temperature#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

Reaction Wheel#

class ReactionWheel#

A reaction wheel. Obtained by calling Part.reaction_wheel.

part#

The part object for this reaction wheel.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

active#

Whether the reaction wheel is active.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

broken#

Whether the reaction wheel is broken.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

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 Vessel.reference_frame. Returns zero if the reaction wheel is inactive or broken.

Attribute:

Read-only, cannot be set

Return type:

AxisRange

Game Scenes:

Flight

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 Vessel.reference_frame.

Attribute:

Read-only, cannot be set

Return type:

AxisRange

Game Scenes:

Flight, Editor Vab, Editor Sph

authority_limiter#

The authority limiter for the reaction wheel, as a percentage of maximum torque. A value between 0 and 1.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

Resource Drain#

class ResourceDrain#

A resource drain. Obtained by calling Part.resource_drain.

part#

The part object for this resource drain.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

available_resources#

List of available resources.

Attribute:

Read-only, cannot be set

Return type:

list(Resource)

Game Scenes:

Flight

set_resource(resource, enabled)#

Whether the given resource should be drained.

Parameters:
Game Scenes:

Flight

check_resource(resource)#

Whether the provided resource is enabled for draining.

Parameters:

resource (Resource)

Return type:

bool

Game Scenes:

Flight

drain_mode#

The drain mode.

Attribute:

Can be read or written

Return type:

DrainMode

Game Scenes:

Flight

min_rate#

Minimum possible drain rate

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

max_rate#

Maximum possible drain rate.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

rate#

Current drain rate.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

start()#

Activates resource draining for all enabled parts.

Game Scenes:

Flight

stop()#

Turns off resource draining.

Game Scenes:

Flight

class DrainMode#

Resource drain mode. See ResourceDrain.drain_mode.

part#

Drains from the parent part.

vessel#

Drains from all available parts.

Robotic Controller#

class RoboticController#

A robotic controller. Obtained by calling Part.robotic_controller.

part#

The part object for this controller.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

enabled#

Whether the controller is enabled.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

playing#

Whether the controller’s sequence is currently playing.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

position#

The current position along the sequence, in seconds.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

length#

The length of the sequence, in seconds.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

play_speed#

The speed at which the sequence is played back, as a multiple of normal speed.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

play()#

Start playing the controller’s sequence.

Game Scenes:

Flight

stop()#

Stop playing the controller’s sequence.

Game Scenes:

Flight

has_part(part)#

Whether the controller has a part.

Parameters:

part (Part)

Return type:

bool

Game Scenes:

Flight

axes()#

The axes for the controller.

Return type:

list(RoboticAxis)

Game Scenes:

Flight

add_axis(module, field_name)#

Add an axis to the controller.

Parameters:
  • module (Module) – The part module that the axis belongs to.

  • field_name (str) – The name of the axis field, as returned by RoboticController.axes().

Returns:

Returns True if the axis is added successfully.

Return type:

bool

Game Scenes:

Flight

add_key_frame(module, field_name, time, value)#

Add key frame value for controller axis.

Parameters:
  • module (Module) – The part module that the axis belongs to.

  • field_name (str) – The name of the axis field, as returned by RoboticController.axes().

  • time (float) – The time of the key frame.

  • value (float) – The value of the key frame.

Returns:

Returns True if the key frame is added successfully.

Return type:

bool

Game Scenes:

Flight

clear_axis(module, field_name)#

Clear axis.

Parameters:
  • module (Module) – The part module that the axis belongs to.

  • field_name (str) – The name of the axis field, as returned by RoboticController.axes().

Returns:

Returns True if the axis is cleared successfully.

Return type:

bool

Game Scenes:

Flight

class RoboticAxis(module, field_name)#

An axis of a robotic controller.

module#

The part module the axis belongs to.

Return type:

Module

field_name#

The name of the field the axis controls.

Return type:

str

Robotic Hinge#

class RoboticHinge#

A robotic hinge. Obtained by calling Part.robotic_hinge.

part#

The part object for this robotic hinge.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

target_angle#

Target angle.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

current_angle#

Current angle.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

min_angle#

The minimum angle the hinge can move to, in degrees.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

max_angle#

The maximum angle the hinge can move to, in degrees.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

rate#

Target movement rate in degrees per second.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

damping#

Damping percentage.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

locked#

Lock movement.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

motor_engaged#

Whether the motor is engaged.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

is_moving#

Whether the servo is currently moving.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

move_home()#

Move hinge to its built position.

Game Scenes:

Flight

Robotic Piston#

class RoboticPiston#

A robotic piston part. Obtained by calling Part.robotic_piston.

part#

The part object for this robotic piston.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

target_extension#

Target extension of the piston.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

current_extension#

Current extension of the piston.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

min_extension#

The minimum extension of the piston, in meters.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

max_extension#

The maximum extension of the piston, in meters.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

rate#

Target movement rate in meters per second.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

damping#

Damping percentage.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

locked#

Lock movement.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

motor_engaged#

Whether the motor is engaged.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

is_moving#

Whether the servo is currently moving.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

move_home()#

Move piston to its built position.

Game Scenes:

Flight

Robotic Rotation#

class RoboticRotation#

A robotic rotation servo. Obtained by calling Part.robotic_rotation.

part#

The part object for this robotic rotation servo.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

target_angle#

Target angle.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

current_angle#

Current angle.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

min_angle#

The minimum angle the servo can rotate to, in degrees.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

max_angle#

The maximum angle the servo can rotate to, in degrees.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

allow_full_rotation#

Whether the servo is allowed to rotate freely through a full revolution, ignoring the angle limits.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

rate#

Target movement rate in degrees per second.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

damping#

Damping percentage.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

locked#

Lock Movement

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

motor_engaged#

Whether the motor is engaged.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

is_moving#

Whether the servo is currently moving.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

move_home()#

Move rotation servo to its built position.

Game Scenes:

Flight

Robotic Rotor#

class RoboticRotor#

A robotic rotor. Obtained by calling Part.robotic_rotor.

part#

The part object for this robotic rotor.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

target_rpm#

Target RPM.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

current_rpm#

Current RPM.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

inverted#

Whether the rotor direction is inverted.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

torque_limit#

Torque limit percentage.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

max_torque#

The maximum torque the rotor can generate, in kilonewtons.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

brake_percentage#

The percentage of braking force applied to the rotor.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight

locked#

Lock movement.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

motor_engaged#

Whether the motor is engaged.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

is_moving#

Whether the rotor is currently moving.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

RCS#

class RCS#

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

part#

The part object for this RCS.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

active#

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

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

enabled#

Whether the RCS thrusters are enabled.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

pitch_enabled#

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

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

yaw_enabled#

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

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

roll_enabled#

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

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

forward_enabled#

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

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

up_enabled#

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

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

right_enabled#

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

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

input_override#

Whether the RCS control is being set directly, bypassing the vessel’s normal flight controls. When enabled, the rotation and translation demand is set by RCS.rotation_override and RCS.translation_override instead of the normal control inputs. The override is automatically released if the controlling client disconnects or the vessel changes. Precision mode leaves an overridden block at full thrust.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

rotation_override#

The rotation demand applied when RCS.input_override is enabled, in the pitch, roll and yaw axes. Each component is a normalized control input between -1 and 1.

Attribute:

Can be read or written

Return type:

tuple(float, float, float)

Game Scenes:

Flight

translation_override#

The translation demand applied when RCS.input_override is enabled, in the right, up and forward axes. Each component is a normalized control input between -1 and 1.

Attribute:

Can be read or written

Return type:

tuple(float, float, float)

Game Scenes:

Flight

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 Vessel.reference_frame. Returns zero if RCS is disable.

Attribute:

Read-only, cannot be set

Return type:

AxisRange

Game Scenes:

Flight

Note

Precision mode weakens the block, and the available torque follows it. A block driven by RCS.input_override is exempt, so RCS.override_wrench() can report the larger torque an override reaches.

available_force#

The available force, in Newtons, that can be produced by this RCS, in the positive and negative x, y and z axes of the vessel. These axes correspond to the coordinate axes of the Vessel.reference_frame. Returns zero if RCS is disabled.

Attribute:

Read-only, cannot be set

Return type:

AxisRange

Game Scenes:

Flight

Note

Precision mode weakens the block, and the available force follows it. A block driven by RCS.input_override is exempt, so RCS.override_wrench() can report the larger force an override reaches.

force#

The force being applied by the RCS thrusters, in Newtons. The vector is in the vessel’s reference frame (Vessel.reference_frame). Returns zero if the RCS is inactive.

Attribute:

Read-only, cannot be set

Return type:

tuple(float, float, float)

Game Scenes:

Flight

torque#

The torque being applied by the RCS thrusters about the vessel’s center of mass, in Newton meters. The vector is in the vessel’s reference frame (Vessel.reference_frame). Returns zero if the RCS is inactive.

Attribute:

Read-only, cannot be set

Return type:

tuple(float, float, float)

Game Scenes:

Flight

override_wrench(rotation, translation)#

The force and torque the given demands would produce, in Newtons and Newton meters.

Parameters:
Returns:

The force, and the torque about the vessel’s center of mass, in the vessel’s reference frame (Vessel.reference_frame), or zero if the RCS is inactive.

Return type:

Wrench

Game Scenes:

Flight

Note

The demands do not have to be applied. The prediction leaves out full thrust, which RCS.force and RCS.torque include.

available_thrust#

The amount of thrust, in Newtons, that would be produced by the thruster when activated. Returns zero if the thruster does not have any fuel. Takes the thrusters current RCS.thrust_limit and atmospheric conditions into account.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

max_thrust#

The maximum amount of thrust that can be produced by the RCS thrusters when active, in Newtons, with the RCS.thrust_limit set to 100%. Takes atmospheric conditions into account.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

thrust_limit#

The thrust limiter of the thruster. A value between 0 and 1.

Attribute:

Can be read or written

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

thrusters#

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

Attribute:

Read-only, cannot be set

Return type:

list(Thruster)

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

vacuum_specific_impulse#

The vacuum specific impulse of the RCS, in seconds.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

kerbin_sea_level_specific_impulse#

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

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight, Editor Vab, Editor Sph

propellants#

The names of resources that the RCS consumes.

Attribute:

Read-only, cannot be set

Return type:

list(str)

Game Scenes:

Flight, Editor Vab, Editor Sph

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

Return type:

dict(str, float)

Game Scenes:

Flight

has_fuel#

Whether the RCS has fuel available.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

Sensor#

class Sensor#

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

part#

The part object for this sensor.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

active#

Whether the sensor is active.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

value#

The current value of the sensor.

Attribute:

Read-only, cannot be set

Return type:

str

Game Scenes:

Flight

Note

This is the same readout string shown in the part’s right-click menu in-game, and is intended for display rather than for parsing. Both its units and the way it formats numbers follow the language the game is running in, so it is not stable across locales. For programmatic access to the underlying quantities, use Part.temperature (temperature sensors), Flight.g_force (accelerometers) or Flight.static_pressure (barometers).

Solar Panel#

class SolarPanel#

A solar panel. Obtained by calling Part.solar_panel.

part#

The part object for this solar panel.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight, Editor Vab, Editor Sph

deployable#

Whether the solar panel is deployable.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight, Editor Vab, Editor Sph

deployed#

Whether the solar panel is extended.

Attribute:

Can be read or written

Return type:

bool

Game Scenes:

Flight

state#

The current state of the solar panel.

Attribute:

Read-only, cannot be set

Return type:

DeployableState

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

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

Return type:

float

Game Scenes:

Flight

Thruster#

class Thruster#

The component of an Engine or RCS part that generates thrust. Can obtained by calling Engine.thrusters or 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 Thruster.part that contains this thruster.

Attribute:

Read-only, cannot be set

Return type:

Part

Game Scenes:

Flight

thrust#

The thrust being produced by the thruster, in Newtons.

Attribute:

Read-only, cannot be set

Return type:

float

Game Scenes:

Flight

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 (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

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 (ReferenceFrame) – The reference frame that the returned direction is in.

Returns:

The direction as a unit vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

thrust_reference_frame#

A reference frame that is fixed relative to the thruster and orientated with its thrust direction (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 (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

Return type:

ReferenceFrame

Game Scenes:

Flight

gimballed#

Whether the thruster is gimballed.

Attribute:

Read-only, cannot be set

Return type:

bool

Game Scenes:

Flight

gimbal_position(reference_frame)#

Position around which the gimbal pivots.

Parameters:

reference_frame (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

gimbal_angle#

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

Attribute:

Read-only, cannot be set

Return type:

tuple(float, float, float)

Game Scenes:

Flight

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 (ReferenceFrame) – The reference frame that the returned position vector is in.

Returns:

The position as a vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

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 (ReferenceFrame) – The reference frame that the returned direction is in.

Returns:

The direction as a unit vector.

Return type:

tuple(float, float, float)

Game Scenes:

Flight

Wheel#

class Wheel#

A wheel. Includes landing gear and rover wheels. Obtained by calling 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

Return type:

Part

state#

The current state of the wheel.

Attribute:

Read-only, cannot be set

Return type:

DeployableState

radius#

Radius of the wheel, in meters.

Attribute:

Read-only, cannot be set

Return type:

float

grounded#

Whether the wheel is touching the ground.

Attribute:

Read-only, cannot be set

Return type:

bool

has_brakes#

Whether the wheel has brakes.

Attribute:

Read-only, cannot be set

Return type:

bool

brakes#

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

Attribute:

Can be read or written

Return type:

float

auto_friction_control#

Whether automatic friction control is enabled.

Attribute:

Can be read or written

Return type:

bool

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

Return type:

float

deployable#

Whether the wheel is deployable.

Attribute:

Read-only, cannot be set

Return type:

bool

deployed#

Whether the wheel is deployed.

Attribute:

Can be read or written

Return type:

bool

powered#

Whether the wheel is powered by a motor.

Attribute:

Read-only, cannot be set

Return type:

bool

motor_enabled#

Whether the motor is enabled.

Attribute:

Can be read or written

Return type:

bool

motor_inverted#

Whether the direction of the motor is inverted.

Attribute:

Can be read or written

Return type:

bool

motor_state#

Whether the direction of the motor is inverted.

Attribute:

Read-only, cannot be set

Return type:

MotorState

motor_output#

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

Attribute:

Read-only, cannot be set

Return type:

float

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

Return type:

bool

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

Return type:

float

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

Return type:

float

steerable#

Whether the wheel has steering.

Attribute:

Read-only, cannot be set

Return type:

bool

steering_enabled#

Whether the wheel steering is enabled.

Attribute:

Can be read or written

Return type:

bool

steering_inverted#

Whether the wheel steering is inverted.

Attribute:

Can be read or written

Return type:

bool

steering_angle_auto#

Whether the steering angle is automatically limited based on the vessel’s speed, reducing the maximum angle as the vessel moves faster. See also Wheel.steering_angle_limit.

Attribute:

Can be read or written

Return type:

bool

steering_angle_limit#

The steering angle limit.

Attribute:

Can be read or written

Return type:

float

steering_response_time#

Steering response time.

Attribute:

Can be read or written

Return type:

float

has_suspension#

Whether the wheel has suspension.

Attribute:

Read-only, cannot be set

Return type:

bool

suspension_spring_strength#

Suspension spring strength, as set in the editor.

Attribute:

Read-only, cannot be set

Return type:

float

suspension_damper_strength#

Suspension damper strength, as set in the editor.

Attribute:

Read-only, cannot be set

Return type:

float

broken#

Whether the wheel is broken.

Attribute:

Read-only, cannot be set

Return type:

bool

repairable#

Whether the wheel is repairable.

Attribute:

Read-only, cannot be set

Return type:

bool

stress#

Current stress on the wheel.

Attribute:

Read-only, cannot be set

Return type:

float

stress_tolerance#

Stress tolerance of the wheel.

Attribute:

Read-only, cannot be set

Return type:

float

stress_percentage#

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

Attribute:

Read-only, cannot be set

Return type:

float

deflection#

Current deflection of the wheel.

Attribute:

Read-only, cannot be set

Return type:

float

slip#

Current slip of the wheel.

Attribute:

Read-only, cannot be set

Return type:

float

class MotorState#

The state of the motor on a powered wheel. See 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.

../../../_images/parts.png

Figure 1 – Example parts making up a vessel.#

../../../_images/parts-tree.png

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 Parts.root, Part.parent and 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 Parts.root. A parts children can be obtained by calling Part.children. If the part does not have any children, Part.children returns an empty list. A parts parent can be obtained by calling Part.parent. If the part does not have a parent (as is the case for the root part), Part.parent returns None.

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

import krpc

conn = krpc.connect()
vessel = conn.space_center.active_vessel

root = vessel.parts.root
stack = [(root, 0)]
while stack:
    part, depth = stack.pop()
    print(" " * depth, part.title)
    for child in part.children:
        stack.append((child, depth + 1))

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
      TT-70 Radial Decoupler
       FL-T400 Fuel Tank
        TT18-A Launch Stability Enhancer
        FTX-2 External Fuel Duct
        LV-909 Liquid Fuel Engine
        Aerodynamic Nose Cone
      TT-70 Radial Decoupler
       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 Python example does a depth-first traversal as before, but also prints out the attachment mode used by the part:

import krpc

conn = krpc.connect()
vessel = conn.space_center.active_vessel

root = vessel.parts.root
stack = [(root, 0)]
while stack:
    part, depth = stack.pop()
    if part.axially_attached:
        attach_mode = "axial"
    else:  # radially_attached
        attach_mode = "radial"
    print(" " * depth, part.title, "-", attach_mode)
    for child in part.children:
        stack.append((child, depth + 1))

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
      TT-70 Radial Decoupler - radial
       FL-T400 Fuel Tank - radial
        TT18-A Launch Stability Enhancer - radial
        FTX-2 External Fuel Duct - radial
        LV-909 Liquid Fuel Engine - axial
        Aerodynamic Nose Cone - axial
      TT-70 Radial Decoupler - radial
       FL-T400 Fuel Tank - radial
        TT18-A Launch Stability Enhancer - radial
        FTX-2 External Fuel Duct - radial
        LV-909 Liquid Fuel Engine - axial
        Aerodynamic Nose Cone - axial
   LT-1 Landing Struts - radial
   LT-1 Landing Struts - radial
 Mk16 Parachute - axial

Fuel Lines#

../../../_images/parts-fuel-lines.png

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

../../../_images/parts-fuel-lines-tree.png

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 Part.fuel_lines_from and Part.fuel_lines_to can be used to discover these connections. In the example in Figure 5, when 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 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#

For vessel-level summaries (delta-v, thrust, fuel, and resources grouped per stage), use the Stage class via Vessel.stages and Vessel.decouple_stages.

../../../_images/parts-staging.png

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 Part.stage and Part.decouple_stage respectively. For parts that are not activated by staging, Part.stage returns -1. For parts that are never decoupled, 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.

../../../_images/parts-staging-activate.png

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

../../../_images/parts-staging-decouple.png

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