File Specification
This page describes the specification of OpenRocket’s design file format (.ork), and the OpenRocket component
file format (.orc).
OpenRocket Design File (.ork)
The OpenRocket design file format is a human-readable XML format that describes a rocket design. It contains all the information needed to recreate the design in OpenRocket, including the rocket’s components, materials, and simulation settings. The file format is designed to be extensible, allowing for the addition of new features and properties in a backward-compatible way.
Note
Not every parameter in the XML file is explained here. Please refer to the
core/src/main/java/info/openrocket/core/file/openrocket package in the
source code.
Developer Reference
The code for reading and writing .ork files is located in:
Reading (.ork → Rocket model):
Main loader:
core/src/main/java/info/openrocket/core/file/openrocket/importt/OpenRocketLoader.javaContent handler:
core/src/main/java/info/openrocket/core/file/openrocket/importt/OpenRocketContentHandler.javaComponent handlers:
core/src/main/java/info/openrocket/core/file/openrocket/importt/ComponentHandler.javaParameter handlers:
core/src/main/java/info/openrocket/core/file/openrocket/importt/ComponentParameterHandler.javaSpecialized handlers: Various handler classes in the
importt/directory (e.g.,SimulationConditionsHandler.java,WindHandler.java,MotorHandler.java)
Writing (Rocket model → .ork):
Main saver:
core/src/main/java/info/openrocket/core/file/openrocket/OpenRocketSaver.javaComponent savers:
core/src/main/java/info/openrocket/core/file/openrocket/savers/directoryBase saver:
core/src/main/java/info/openrocket/core/file/openrocket/savers/RocketComponentSaver.javaSpecific component savers: Individual saver classes for each component type (e.g.,
NoseConeSaver.java,BodyTubeSaver.java,FinSetSaver.java)
File Architecture
The OpenRocket design file (.ork) is a ZIP archive containing an XML format file and any associated graphics files.
While OpenRocket also accepts the .ork.gz extension, the plain .ork extension is recommended.
To examine the contents of an .ork file:
Rename the file extension from
.orkto.zipExtract the contents using any ZIP extraction tool
The main rocket design is stored in the XML file named rocket.ork
Version Control
The file format uses semantic versioning, indicated by the version attribute in the root <openrocket> tag.
The version number follows these rules:
Major version increases indicate backward-incompatible changes
Minor version increases indicate backward-compatible additions
The version is internally stored as an integer, divided by 100 (e.g., version “1.10” is stored as 110)
For maximum compatibility, files should be saved using the oldest format version that supports all required features
The creator attribute optionally specifies the software and version used to create the file.
Version History
The following table lists the version history of the OpenRocket design file format (taken from fileformat.txt file in the root directory of our repository).
Version |
Release |
Changes |
|---|---|---|
1.0 |
OpenRocket 0.9.0 |
Initial public release |
1.1 |
OpenRocket 0.9.4 |
|
1.2 |
OpenRocket 1.1.1 |
Added |
1.3 |
OpenRocket 1.1.9 |
Added |
1.4 |
OpenRocket 12.03 |
|
1.5 |
OpenRocket 12.09 |
|
1.6 |
OpenRocket 13.04 |
|
1.7 |
OpenRocket 15.03 |
|
1.8 |
OpenRocket 22.02 |
|
1.9 |
OpenRocket 23.09 |
Added component IDs for flight event sources |
1.10 |
OpenRocket 24.12 |
|
1.11 |
OpenRocket 26.xx |
|
Root Structure
The following shows the root XML structure of an OpenRocket design file:
<?xml version='1.0' encoding='utf-8'?>
<openrocket version="1.12" creator="OpenRocket 26.xx">
<rocket>
<!-- Rocket definition -->
</rocket>
<simulations>
<!-- Simulation data -->
</simulations>
<photostudio>
<!-- PhotoStudio settings -->
</photostudio>
<docprefs>
<!-- Document preferences -->
</docprefs>
</openrocket>
The file must begin with the XML declaration:
<?xml version='1.0' encoding='utf-8'?>
Then follows the actual content of the OpenRocket design file, starting with the <openrocket> tag with the following
content:
rocket: Rocket definition (see Rocket)simulations: Simulation data (see Simulation Data)photostudio: PhotoStudio settings (see PhotoStudio Settings)docprefs: Document preferences (see Document Preferences)
Rocket
The <rocket> contains metadata of the rocket (name, designer…), motor configurations in the design, and all the
rocket component definitions:
<rocket>
<!-- Rocket definition -->
<name>[ROCKET NAME]</name>
<id>[UUID]</id>
<axialoffset method="absolute">0.0</axialoffset>
<position type="absolute">0.0</position>
<designer>[DESIGNER]</designer>
<designtype>[DESIGN TYPE]</designtype>
<kitname>[KIT NAME]</kitname>
<revision>[REVISION]</revision>
<motorconfiguration configid="[CONFIG ID]">
<!-- Motor configuration -->
</motorconfiguration>
<subcomponents>
<!-- Rocket components -->
</subcomponents>
</rocket>
The <rocket> element contains the following primary attributes:
name: Name of the rocket designid: Unique identifier (UUID) - automatically generated by OpenRocketaxialoffset: Absolute position offsetdesigner: Designer’s namedesigntype: Design type (e.g., scratch, kit, makeitgo, educational, sport, competition)kitname: Name of the kit if applicablerevision: Revision information for the designmotorconfiguration: One or more motor configurationssubcomponents: Container for all the rocket components in the design
Motor Configuration
Each <motorconfiguration> element defines a specific motor setup:
<motorconfiguration configid="[UUID]" default="true|false">
<stage number="0" active="true|false"/>
</motorconfiguration>
Rocket Components
Common Component Attributes
Most components share these common attributes:
id: Unique identifier (UUID) - automatically generated by OpenRocketname: Component namefinish: Surface finish typematerial: Material specifications including:type: (bulk, surface, line)density: Material densitygroup: Material categoryshearModulus: In-plane shear modulus in Pa (optional)
Position and Offset Attributes:
axialoffset: Position along the rocket’s axisposition: Legacy position attributeradialdirection: Angular direction for radial componentsradialposition: Distance from center axis
Appearance Settings
Components can have appearance settings defined using the <appearance> tag:
<appearance>
<paint red="51" green="51" blue="51" alpha="255"/>
<shine>0.5</shine>
<decal name="decals/BodyStripe.png" rotation="0.0" edgemode="CLAMP">
<center x="0.0" y="0.0"/>
<offset x="0.0" y="-0.2"/>
<scale x="1.0" y="10.0"/>
</decal>
</appearance>
Inside Appearance
Components can have internal appearance defined separately from external (e.g. for tubes or fins):
<insideappearance>
<edgessameasinside>false</edgessameasinside>
<insidesameasoutside>false</insidesameasoutside>
<paint red="187" green="187" blue="187" alpha="255"/>
<shine>0.3</shine>
<decal name="decals/mainBodyWrap2.png" rotation="0.0" edgemode="REPEAT">
<center x="0.0" y="0.0"/>
<offset x="0.0" y="0.0"/>
<scale x="1.0" y="1.0"/>
</decal>
</insideappearance>
Motor Mount
Components such as body tubes and inner tubes can be used as motor mounts. If they are, a <motormount> element will
be present in the XML component block:
<bodytube>
<!-- Other Body Tube definitions -->
<motormount>
<ignitionevent>automatic</ignitionevent>
<ignitiondelay>0.0</ignitiondelay>
<overhang>0.003</overhang>
<motor configid="[UUID]">
<type>single</type>
<manufacturer>Estes</manufacturer>
<digest>22aec01287ea1e3b8c6f66b26fe5fea6</digest>
<designation>A8</designation>
<diameter>0.018</diameter>
<length>0.07</length>
<delay>3.0</delay>
</motor>
<ignitionconfiguration configid="[UUID]">
<ignitionevent>automatic</ignitionevent>
<ignitiondelay>0.0</ignitiondelay>
</ignitionconfiguration>
</motormount>
</bodytube>
Embedded Thrust Curve Data
As of file format version 1.11, OpenRocket embeds the full thrust curve motor data as .rse (RockSim engine)
files in the thrustcurves/ directory of the .ork zip archive. Each motor is stored as
thrustcurves/<digest>.rse, where <digest> matches the <digest> element in the XML. This makes designs
self-contained when sharing custom or experimental motors.
The .ork zip structure looks like:
mymodel.ork (zip)
├── rocket.ork (XML)
├── preview.png (optional)
├── thrustcurves/
│ ├── <digest1>.rse
│ └── <digest2>.rse
└── textures/ (optional decal images)
Motor Loading Precedence
When loading a motor from an .ork file, OpenRocket uses the following precedence order:
Motor database lookup — the motor’s manufacturer, designation, and digest are used to find a match in the local motor database. If found, the database version is used (it may have more accurate or updated data).
Embedded .rse file — if the motor is not in the database, OpenRocket looks for a
thrustcurves/<digest>.rseentry in the .ork zip archive and parses it.
This precedence is implemented in MotorHandler.getMotor()
(see core/src/main/java/.../file/openrocket/importt/MotorHandler.java).
Fin Sets
<freeformfinset>
The <freeformfinset> element defines the Freeform Fin Set component:
<freeformfinset>
<name>Freeform fin set</name>
<id>[UUID]</id>
<position type="bottom">0.0</position>
<finish>normal</finish>
<material type="bulk" density="500.0">Basswood</material>
<fincount>5</fincount>
<rotation>0.0</rotation>
<thickness>0.003</thickness>
<crosssection>airfoil</crosssection>
<cant>0.0</cant>
<filletradius>0.0</filletradius>
<filletmaterial type="bulk" density="680.0">Cardboard</filletmaterial>
<finpoints>
<point x="0.0" y="0.0"/>
<point x="0.03882760416666667" y="0.056620833333333336"/>
<point x="0.11000052083333334" y="0.05582708333333333"/>
<point x="0.07951041666666667" y="0.0"/>
</finpoints>
</freeformfinset>
<trapezoidfinset>
The <trapezoidfinset> element defines the Trapezoidal Fin Set component:
<trapezoidfinset>
<name>Trapezoidal fin set</name>
<id>[UUID]</id>
<position type="bottom">0.0</position>
<finish>normal</finish>
<material type="bulk" density="680.0">Cardboard</material>
<fincount>3</fincount>
<rotation>0.0</rotation>
<thickness>0.003</thickness>
<crosssection>square</crosssection>
<cant>0.0</cant>
<filletradius>0.0</filletradius>
<filletmaterial type="bulk" density="680.0">Cardboard</filletmaterial>
<rootchord>0.05</rootchord>
<tipchord>0.05</tipchord>
<sweeplength>0.025</sweeplength>
<height>0.03</height>
</trapezoidfinset>
<ellipticalfinset>
The <ellipticalfinset> element defines the Elliptical Fin Set component:
<ellipticalfinset>
<name>Elliptical fin set</name>
<id>[UUID]</id>
<position type="bottom">0.0</position>
<finish>normal</finish>
<material type="bulk" density="680.0">Cardboard</material>
<fincount>3</fincount>
<rotation>0.0</rotation>
<thickness>0.003</thickness>
<crosssection>square</crosssection>
<cant>0.0</cant>
<filletradius>0.0</filletradius>
<filletmaterial type="bulk" density="680.0">Cardboard</filletmaterial>
<rootchord>0.05</rootchord>
<height>0.05</height>
</ellipticalfinset>
<tubefinset>
The <tubefinset> element defines the Tube Fin Set component:
<tubefinset>
<name>Tube Fin Set</name>
<id>[UUID]</id>
<instancecount>6</instancecount>
<fincount>6</fincount>
<radiusoffset method="coaxial">0.0</radiusoffset>
<angleoffset method="fixed">0.0</angleoffset>
<rotation>0.0</rotation>
<axialoffset method="bottom">0.0</axialoffset>
<position type="bottom">0.0</position>
<finish>normal</finish>
<material type="bulk" density="680.0" group="PaperProducts">Cardboard</material>
<fincount>6</fincount>
<rotation>0.0</rotation>
<radius>auto</radius>
<length>0.1</length>
<thickness>0.002</thickness>
</tubefinset>
Inner Components
<innertube>
The <innertube> element defines the Inner Tube component:
<innertube>
<name>Inner Tube</name>
<id>[UUID]</id>
<axialoffset method="bottom">0.0</axialoffset>
<position type="bottom">0.0</position>
<material type="bulk" density="680.0" group="PaperProducts">Cardboard</material>
<length>0.07</length>
<radialposition>0.0</radialposition>
<radialdirection>0.0</radialdirection>
<outerradius>0.0095</outerradius>
<thickness>5.000000000000004E-4</thickness>
<clusterconfiguration>single</clusterconfiguration>
<clusterscale>1.0</clusterscale>
<clusterrotation>0.0</clusterrotation>
</innertube>
<tubecoupler>
The <tubecoupler> element defines the Tube Coupler component:
<tubecoupler>
<name>Tube Coupler</name>
<id>[UUID]</id>
<axialoffset method="bottom">0.03175</axialoffset>
<material type="bulk" density="943.0">Phenolic</material>
<length>0.0635</length>
<outerradius>auto</outerradius>
<thickness>5.0E-4</thickness>
</tubecoupler>
<centeringring>
The <centeringring> element defines the Centering Ring component:
<centeringring>
<name>Centering Ring</name>
<id>[UUID]</id>
<instancecount>1</instancecount>
<axialoffset method="bottom">-0.05715</axialoffset>
<material type="bulk" density="657.0">Fiber</material>
<length>0.00635</length>
<outerradius>0.016269</outerradius>
<innerradius>auto</innerradius>
</centeringring>
<bulkhead>
The <bulkhead> element defines the Bulkhead component:
<bulkhead>
<name>Bulkhead</name>
<id>[UUID]</id>
<instancecount>1</instancecount>
<instanceseparation>0.0</instanceseparation>
<axialoffset method="bottom">0.0</axialoffset>
<position type="bottom">0.0</position>
<material type="bulk" density="680.0" group="PaperProducts">Cardboard</material>
<length>0.002</length>
<radialposition>0.0</radialposition>
<radialdirection>0.0</radialdirection>
<outerradius>auto</outerradius>
</bulkhead>
<engineblock>
The <engineblock> element defines the Engine Block component:
<engineblock>
<name>Engine Block</name>
<id>[UUID]</id>
<axialoffset method="bottom">-0.0635</axialoffset>
<material type="bulk" density="657.0">Fiber</material>
<length>0.00635</length>
<outerradius>0.008992</outerradius>
<thickness>7.366E-4</thickness>
</engineblock>
Mass Components
<parachute>
The <parachute> element defines the Parachute component:
<parachute>
<name>Parachute</name>
<id>[UUID]</id>
<axialoffset method="top">0.032</axialoffset>
<packedlength>0.042</packedlength>
<packedradius>0.009</packedradius>
<cd>auto</cd>
<material type="surface" density="0.067">Ripstop nylon</material>
<deployevent>ejection</deployevent>
<deployaltitude>200.0</deployaltitude>
<deploydelay>0.0</deploydelay>
<diameter>0.3</diameter>
<linecount>6</linecount>
<linelength>0.3</linelength>
<linematerial type="line" density="0.0018">Elastic cord</linematerial>
</parachute>
<streamer>
The <streamer> element defines the Streamer component:
<streamer>
<name>Streamer</name>
<id>[UUID]</id>
<axialoffset method="top">0.0</axialoffset>
<position type="top">0.0</position>
<packedlength>0.025</packedlength>
<packedradius>0.0125</packedradius>
<radialposition>0.0</radialposition>
<radialdirection>0.0</radialdirection>
<cd>auto</cd>
<material type="surface" density="0.067" group="Fabrics">Ripstop nylon</material>
<deployevent>ejection</deployevent>
<deployaltitude>200.0</deployaltitude>
<deploydelay>0.0</deploydelay>
<striplength>0.5</striplength>
<stripwidth>0.05</stripwidth>
</streamer>
<shockcord>
The <shockcord> element defines the Shock Cord component:
<shockcord>
<name>Shock Cord</name>
<id>[UUID]</id>
<axialoffset method="top">0.044449999999999996</axialoffset>
<position type="top">0.044449999999999996</position>
<packedlength>0.019049999999999997</packedlength>
<packedradius>0.0065405</packedradius>
<radialposition>0.0</radialposition>
<radialdirection>0.0</radialdirection>
<cordlength>0.3047999999999995</cordlength>
<material type="line" density="0.00297638" group="ThreadsLines">Elastic rubber band (flat 3.2 mm, 1/8 in)</material>
</shockcord>
<masscomponent>
<masscomponent>
<name>Unspecified</name>
<id>[UUID]</id>
<position type="top">0.11</position>
<packedlength>0.05</packedlength>
<packedradius>0.0225</packedradius>
<radialposition>0.0</radialposition>
<radialdirection>0.0</radialdirection>
<mass>0.061</mass>
<masscomponenttype>masscomponent</masscomponenttype>
</masscomponent>
Simulation Data
The <simulations> section contains flight simulation data. Each simulation is enclosed in a <simulation> tag:
<simulations>
<simulation status="loaded">
<name>Simulation 1</name>
<simulator>RK4Simulator</simulator>
<calculator>BarrowmanCalculator</calculator>
<conditions>
<configid>[UUID]</configid>
<launchrodlength>1.0</launchrodlength>
<launchintowind>true</launchintowind>
<launchrodangle>0.0</launchrodangle>
<launchroddirection>90.0</launchroddirection>
<windaverage>2.0</windaverage>
<windturbulence>0.1</windturbulence>
<winddirection>1.5707963267948966</winddirection>
<wind model="average">
<speed>2.0</speed>
<direction>1.5707963267948966</direction>
<standarddeviation>0.2</standarddeviation>
</wind>
<windmodeltype>Average</windmodeltype>
<launchaltitude>0.0</launchaltitude>
<launchlatitude>45.0</launchlatitude>
<launchlongitude>0.0</launchlongitude>
<geodeticmethod>flat</geodeticmethod>
<simulationsteppermethod>rk4</simulationsteppermethod>
<atmosphere model="isa"/>
<timestep>0.05</timestep>
<maxtime>1200.0</maxtime>
</conditions>
<flightdata maxaltitude="50.605" maxvelocity="29.249" maxacceleration="143.659"
maxmach="0.086" timetoapogee="3.443" flighttime="15.89"
groundhitvelocity="4.583" launchrodvelocity="15.366"
deploymentvelocity="2.634" optimumdelay="2.763">
<!-- Flight data points -->
</flightdata>
</simulation>
<!-- Other simulations go here -->
<simulation>
<!-- Simulation 2 content -->
</simulation>
<simulations>
Wind Models
OpenRocket supports two wind models: average wind and multi-level wind.
Average Wind Model:
<wind model="average">
<speed>2.0</speed>
<direction>1.5707963267948966</direction>
<standarddeviation>0.2</standarddeviation>
</wind>
Multi-Level Wind Model (added in version 1.10):
<wind model="multilevel" altituderef="agl">
<windlevel altitude="0.0" speed="2.0" direction="1.57" standarddeviation="0.2"/>
<windlevel altitude="100.0" speed="3.0" direction="1.57" standarddeviation="0.3"/>
<windlevel altitude="500.0" speed="5.0" direction="1.60" standarddeviation="0.4"/>
</wind>
The altituderef attribute can be:
agl: Above Ground Level (relative to launch site)msl: Mean Sea Level (absolute altitude)
Each <windlevel> defines wind conditions at a specific altitude with:
altitude: Altitude value (in meters)speed: Wind speed (in m/s)direction: Wind direction (in radians)standarddeviation: Standard deviation for wind turbulence
Note
Legacy parameters <windaverage>, <windturbulence>, and <winddirection> are still written for backward compatibility with older OpenRocket versions.
PhotoStudio Settings
<photostudio>
<!-- Orientation settings -->
<roll>value</roll> <!-- Roll angle -->
<yaw>value</yaw> <!-- Yaw angle -->
<pitch>value</pitch> <!-- Pitch angle -->
<advance>value</advance> <!-- Advance position -->
<!-- View settings -->
<viewAlt>value</viewAlt> <!-- View altitude -->
<viewAz>value</viewAz> <!-- View azimuth -->
<viewDistance>value</viewDistance> <!-- Camera distance -->
<fov>value</fov> <!-- Field of view -->
<!-- Lighting settings -->
<lightAlt>value</lightAlt> <!-- Light altitude -->
<lightAz>value</lightAz> <!-- Light azimuth -->
<sunlight red="R" green="G" blue="B" alpha="A"/> <!-- Sunlight color -->
<ambiance>value</ambiance> <!-- Ambient light intensity -->
<skyColor red="R" green="G" blue="B" alpha="A"/> <!-- Sky color -->
<!-- Effects settings -->
<motionBlurred>true/false</motionBlurred> <!-- Motion blur enabled -->
<flame>true/false</flame> <!-- Flame effect enabled -->
<flameColor red="R" green="G" blue="B" alpha="A"/> <!-- Flame color -->
<smoke>true/false</smoke> <!-- Smoke effect enabled -->
<smokeColor red="R" green="G" blue="B" alpha="A"/> <!-- Smoke color -->
<sparks>true/false</sparks> <!-- Spark effect enabled -->
<exhaustScale>value</exhaustScale> <!-- Exhaust size scale -->
<flameAspectRatio>value</flameAspectRatio> <!-- Flame shape ratio -->
<!-- Spark properties -->
<sparkConcentration>value</sparkConcentration> <!-- Spark density -->
<sparkWeight>value</sparkWeight> <!-- Spark size -->
<!-- Environment settings -->
<sky>value</sky> <!-- Sky rendering mode -->
</photostudio>
Colors are specified using RGBA values, each in the range 0-255.
Document Preferences
The <docprefs> section contains document-wide settings, including material definitions:
<docprefs>
<docmaterials>
<material>BULK|My Custom Material 1|680.0|1.2E9|Custom</material>
<material>BULK|My Custom Metal|0.0018|7.5E10|Metals</material>
</docmaterials>
</docprefs>
Material string format:
{type}|{name}|{density}|{inPlaneShearModulus}|{group}Older files may omit
inPlaneShearModulusand store{type}|{name}|{density}|{group}
OpenRocket Component File (.orc)
The OpenRocket component file format is a human-readable XML format that defines standard rocket components and their specifications. This file format allows rocket components to be stored in a database, making it easier for users to select pre-defined components rather than entering specifications manually.
Developer Reference
The code for reading and writing .orc files is located in:
Reading (.orc → ComponentPreset objects):
Main loader:
core/src/main/java/info/openrocket/core/preset/xml/OpenRocketComponentLoader.javaRoot DTO:
core/src/main/java/info/openrocket/core/preset/xml/OpenRocketComponentDTO.javaComponent DTOs: Individual DTO classes for each component type (e.g.,
BodyTubeDTO.java,NoseConeDTO.java,ParachuteDTO.java)Material DTO:
core/src/main/java/info/openrocket/core/preset/xml/MaterialDTO.javaBase component DTO:
core/src/main/java/info/openrocket/core/preset/xml/BaseComponentDTO.java
Writing (ComponentPreset objects → .orc):
Main saver:
core/src/main/java/info/openrocket/core/preset/xml/OpenRocketComponentSaver.javaUses JAXB marshalling from the same DTO classes listed above
Note
The .orc file format uses JAXB (Jakarta XML Binding) annotations for serialization/deserialization, while the .ork format uses SAX parsing for reading and direct XML writing for saving.
File Architecture
The OpenRocket component file (.orc) is a plain XML file that contains component definitions. When OpenRocket is
built, these files are serialized into a single binary file (system.ser) that is included in the OpenRocket jar.
Root Structure
The following shows the root XML structure of an OpenRocket component file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OpenRocketComponent>
<Version>0.1</Version>
<Materials>
<!-- Material definitions -->
</Materials>
<Components>
<!-- Component definitions -->
</Components>
</OpenRocketComponent>
Materials
The <Materials> section defines materials used within the component database:
<Materials>
<Material UnitsOfMeasure="g/cm3">
<Name>Material Name</Name>
<Density>0.0</Density>
<ShearModulus>0.0</ShearModulus>
<Type>BULK</Type>
<Group>MaterialGroup</Group>
</Material>
</Materials>
Material properties:
- UnitsOfMeasure: Density units (supported formats):
Bulk density: g/cm3, kg/m3, lb/ft3
Areal density: g/cm2, oz/in2
Line density: g/cm, oz/in
Type: Material type (BULK, SURFACE, or LINE)Group: Material group for categorization (optional)ShearModulus: In-plane shear modulus in Pa (optional, defaults to 0.0 when omitted)
Components
Common Component Attributes
All components share these common attributes:
<Manufacturer>Text</Manufacturer>
<PartNumber>Text</PartNumber>
<Description>Text</Description>
<Material Type="BULK" Group="MaterialGroup">Material Name</Material>
<Mass Unit="kg">0.035892</Mass>
<Filled>true</Filled>
<Thumbnail>base64EncodedImageData</Thumbnail>
Common attributes:
Manufacturer: Manufacturer namePartNumber: Part/model numberDescription: Component description (optional)Material: Material definition withTypeattribute (BULK, SURFACE, or LINE) and optionalGroupattributeMass: Component mass withUnitattribute (optional)Filled: Boolean indicating if the component is filled (optional)Thumbnail: Base64-encoded PNG image data for component preview (optional)
Component Types
Body Tube
<BodyTube>
<InsideDiameter Unit="m">0.0657352</InsideDiameter>
<OutsideDiameter Unit="m">0.06604</OutsideDiameter>
<Length Unit="m">0.36195</Length>
</BodyTube>
Nose Cone
<NoseCone>
<Shape>ELLIPSOID</Shape>
<ShapeParameter>1.0</ShapeParameter>
<Filled>true</Filled>
<OutsideDiameter Unit="m">0.06604</OutsideDiameter>
<BaseDiameter Unit="m">0.06604</BaseDiameter>
<ShoulderDiameter Unit="m">0.064922</ShoulderDiameter>
<ShoulderLength Unit="m">0.0381</ShoulderLength>
<ShoulderThickness Unit="m">0.003175</ShoulderThickness>
<Length Unit="m">0.1016</Length>
<Thickness Unit="m">0.003175</Thickness>
</NoseCone>
Supported nose cone shapes:
CONICAL
ELLIPSOID
HAACK
OGIVE
PARABOLIC
POWER
Note
HAACK, OGIVE, PARABOLIC, and POWER types support a shape parameter that can be set in the UI but cannot be specified in the .orc file.
Transition
<Transition>
<Shape>OGIVE</Shape>
<Filled>true</Filled>
<ForeOutsideDiameter Unit="m">0.067056</ForeOutsideDiameter>
<ForeShoulderDiameter Unit="m">0.064973</ForeShoulderDiameter>
<ForeShoulderLength Unit="m">0.0254</ForeShoulderLength>
<ForeShoulderThickness Unit="m">0.003175</ForeShoulderThickness>
<AftOutsideDiameter Unit="m">0.03175</AftOutsideDiameter>
<AftShoulderDiameter Unit="m">0.0</AftShoulderDiameter>
<AftShoulderLength Unit="m">0.0</AftShoulderLength>
<AftShoulderThickness Unit="m">0.003175</AftShoulderThickness>
<Length Unit="m">0.1524</Length>
<Thickness Unit="m">0.003175</Thickness>
</Transition>
Centering Ring
<CenteringRing>
<InsideDiameter Unit="m">0.0187452</InsideDiameter>
<OutsideDiameter Unit="m">0.0240792</OutsideDiameter>
<Thickness Unit="m">0.003175</Thickness>
<Length Unit="m">0.00635</Length>
</CenteringRing>
Bulkhead
<BulkHead>
<Filled>true</Filled>
<OutsideDiameter Unit="m">0.028701999999999995</OutsideDiameter>
<Length Unit="m">0.038099999999999995</Length>
</BulkHead>
Engine Block
<EngineBlock>
<InsideDiameter Unit="m">0.013131799999999999</InsideDiameter>
<OutsideDiameter Unit="m">0.017983199999999998</OutsideDiameter>
<Thickness Unit="m">0.003175</Thickness>
<Length Unit="m">0.003175</Length>
</EngineBlock>
Launch Lug
<LaunchLug>
<InsideDiameter Unit="m">0.0055626</InsideDiameter>
<OutsideDiameter Unit="m">0.006096</OutsideDiameter>
<Length Unit="m">0.0508</Length>
</LaunchLug>
Parachute
<Parachute>
<Diameter Unit="m">0.6095999999999999</Diameter>
<DragCoefficient>0.80</DragCoefficient>
<Sides>8</Sides>
<LineCount>8</LineCount>
<LineLength Unit="m">0.7493</LineLength>
</Parachute>
Streamer
<Streamer>
<Length Unit="m">0.5</Length>
<Width Unit="m">0.05</Width>
<Thickness Unit="m">0.00005</Thickness>
</Streamer>
Tube Coupler
<TubeCoupler>
<InsideDiameter Unit="m">0.0</InsideDiameter>
<OutsideDiameter Unit="m">0.017907</OutsideDiameter>
<Thickness Unit="m">0.003175</Thickness>
<Length Unit="m">0.019049999999999997</Length>
</TubeCoupler>
Units of Measure
OpenRocket supports various units of measure for component specifications:
Length: mm, cm, m, in, in/64, ft
Distance: m, km, ft, yd, mi, nmi
Velocity: m/s, km/h, ft/s, mph
Mass: g, kg, oz, lb
Angle: deg, rad, arcmin
Force: N, lbf, kgf
Impulse: Ns, lbf*s
Important Notes
Material definitions only have scope within the current datafile.
When a component is first created in a .ork file, the material definition is copied from the .orc file. Subsequent changes to the material definition in the .orc file will not automatically update existing components in .ork files.
To update a component’s material properties, you must manually reselect the component preset from the database.
The XML schema for .orc files is not formally defined in an XSD file.