OpenRocket - "Hacking", Workarounds, Kludges & Cool Stuff

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

cautery

Well-Known Member
TRF Supporter
Joined
Nov 20, 2021
Messages
549
Reaction score
581
Location
Bossier Parish, LA
So, I am neck deep in OpenRocket now, and frankly, I like it. Especially since it is free. I have seen multiple folks post questions about database stuff, components, libraries, et al. So, I am opening this thread to document what I have (and will) discover about how this program works (on Windows) in its current state.

For now, I will try to keep topics separated below in individual posts.
 
Last edited:
HOWTO Add Thrust Curve Files:

Want to add a new motor file (*.rse or *.eng)? Did it "dupe", "digest" into stock entry, or ignore? Here's how to KNOW that your file added and that it registered fully.

Here is where you add the ".rse" or ".eng" files on a Windows System: "C:\Users\<user name>\AppData\Roaming\OpenRocket\ThrustCurves\"

Note:
To SEE the hidden "C:\Users\<user name>\AppData\" directory...
1) Go to "File Explorer --> View --> Options --> Change folder and search options.
2) On Pop-up Window "Folder Options", go to "View" tab, then down to "Hidden Files and Folders", and check "Show hidden files, folders, and drives".
3) Click "OK".

Faster Way:
  1. Open File Explorer from the taskbar
  2. Navigate to "C:\Users\<user name>\"
  3. Select View > Show > Hidden items.

ALTERNATIVELY, for ThrustCurves ONLY, you can use the OpenRocket "Preferences" to ADD a NEW VISIBLE "include" directory of your choosing. As I will also be adding component files, I will stick with putting them in the normally hidden ...\AppData\ tree.

When you download/save the file to the directory, edit...
1) the file name (so you'll know it is edited from clean download), and
2) the file content to REVEAL it is a NEW file in the software at runtime.

Let us look at the AeroTech I599N for instance:

Download Name: AeroTech_I599N.rse (https://www.thrustcurve.org/motors/AeroTech/I599N/)
Edited Filename: AeroTech_I599N_MINE.rse <--- I changed the file name so I KNOW it is MY edited (to guarantee a NEW entry) file.

Excerpt from file I edited (AeroTech_I599N_MINE.rse) RECOMMENDED**:

a) I edited the "mfg" parameter to "Aerotech-MINE" to guarantee a NEW motor entry.
b) I edited the "code" parameter to "I599N-MINE" so I can SEE/VERIFY the NEW entry.
c) I added some text to the "comments".
NONE of the edits change the "motor math".

Code:
<engine-database>
  <engine-list>
    <engine  mfg="Aerotech-MINE" code="I599N-MINE" Type="reloadable" dia="54." len="156." initWt="520.052"
propWt="194.999" delays="100" auto-calc-mass="1" auto-calc-cg="1"
avgThrust="649.618" peakThrust="797.44" throatDia="0." exitDia="0."
Itot="404.712" burn-time="0.62" massFrac="37.5" Isp="211.64" tDiv="10"
tStep="-1." tFix="1" FDiv="10" FStep="-1." FFix="1" mDiv="10" mStep="-1."
mFix="1" cgDiv="10" cgStep="-1." cgFix="1">
    <comments>Aerotech I599N from TRA Cert Data (Edited the "mfg" to get separate displayable entry, the "code" to prove)</comments>

** Software auto-magically generates a NEW Manufacturer Entry, which guarantees a NEW entry, AND gives you a way of ONLY seeing the thrust curve files YOU choose to add/see.

Screenshot from Motor Select Window showing NEW I599 motor highlighted and "stock" entry right above:

Screenshot 2021-12-20 122611.png

There ARE other potential options to accomplish this task, BUT....
WARNING: Not ALL changes in the motor file will result in a NEW entry. SOMETIMES it will temporarily create a new entry. SOME changes are not reflected at all, and SOME changes will be "digested" into the "stock" entry. The method above will guarantee separate entries.
 
Last edited:
HOWTO Add Components:

Want to add some new components? Do you have some "special" components that you use over and over that are not in the stock OpenRocket package? What about parts YOU make? Specific Parachutes, transitions, et al.. You CAN add all these things and more with a little effort. Here is how...

Here is where you add the ".orc" file(s) on a Windows System: "C:\Users\<user name>\AppData\Roaming\OpenRocket\Components\"

Note:
To SEE the hidden "C:\Users\<user name>\AppData\" directory...
1) Go to "File Explorer --> View --> Options --> Change folder and search options.
2) On Pop-up Window "Folder Options", go to "View" tab, then down to "Hidden Files and Folders", and check "Show hidden files, folders, and drives".
3) Click "OK".

Faster Way:
  1. Open File Explorer from the taskbar
  2. Navigate to "C:\Users\<user name>\"
  3. Select View > Show > Hidden items.

I. Documentation:
--Component Databases - Explanation/Intro
--Component Database XML Format - Description of how the XML Format works
--Some .orc files to help see how it works - These were invaluable to figure stuff out, including possible parameters and arguments to parameters, et al.

II. Procedure:

A. Create a "MyComponents.orc" file in the right directory. It is a simple text file. You can use "Notepad" if you like. "Best" way may be to download a file from the link above that has the kind of component you want to work on and start there.

B. Edit your "MyComponents.orc" file to add your stuff. Here is the "test.orc" file I made. It contains a transition I am playing around with for use as a tail cone.

Here is MY "test.orc" file:

XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This is where the comments go.  Comments go inside this tag:  <!-- content -->

File hacked together by Clay Autery, TRA #22078,  [email protected], 2021.

-->

<OpenRocketComponent>
    <Version>0.1</Version>

     <Materials>
         <Material UnitsOfMeasure="g/cm3"> <!-- Display units.  I chose g/cm3 because I made it work. -->
             <Name>CF</Name>  <!-- Whatever you choose, but it is the connector key to any component that uses this material  -->
             <Density>1550</Density>  <!-- Density appears to be hard-coded as milligrams, thus the 1550 vs. 1.55 g/cm3 -->
             <Type>BULK</Type>
         </Material>
     </Materials>


     <Components>

         <Transition>  <!-- I wanted a tail cone to work with, so I chose to make a REVERSE transition -->
             <Manufacturer>MONTAC-Custom</Manufacturer>  <!-- My Parts -->
             <PartNumber>2022-00001</PartNumber> <!-- Any Numbering scheme -->
             <Description>Transition, Carbon Fiber, 2.276" to 1.75" size</Description>  <!-- Any text -->
             <Material Type="BULK">CF</Material>  <!-- Choose from YOUR materials above or don't use.  I'm specifying. -->
             <Shape>HAACK</Shape>  <!-- Conical, Parabolic, Haack, are options, there are others, but I have not fully documented -->
             <ForeOutsideDiameter Unit="in">2.276</ForeOutsideDiameter>
             <ForeShoulderDiameter Unit="in">0</ForeShoulderDiameter>  <!-- Not needed for tail cone -->
             <ForeShoulderLength Unit="in">0</ForeShoulderLength>  <!-- Not needed for tail cone -->
             <AftOutsideDiameter Unit="in">1.75</AftOutsideDiameter>  <!-- Get close and edit once you have final dims -->
             <AftShoulderDiameter Unit="in">0</AftShoulderDiameter>  <!-- Not needed for tail cone -->
             <AftShoulderLength Unit="in">0</AftShoulderLength>  <!-- Not needed for tail cone -->
             <Length Unit="in">2.00</Length>  <!-- Get close and edit once you have final dims -->
             <Thickness Unit="in">0.062</Thickness>
         <Finish>20</Finish>  <!-- Finish IS relevant here as this is an exterior part....  <number> is in micrometers (um) -->
             <CG>1</CG>  <!-- 1/2 length here.  Not super important on this CF transition, but if it were metal, you might want an accurate individual CG here -->
         </Transition>
    </Components>
</OpenRocketComponent>


Screen shots from OpenRocket with above component used:
(Click to see full size)

Transition: This is in my "54mm Minimum Diameter" draft file

Transition 2021-12-20 135142.png


All references to motors removed.
 
Last edited:
I recommend this approach for the vast majority of users.

Certainly if you only want to add motor files and have no desire to add components.
I cannot imagine NOT adding my specific components now. It saves SO MUCH WORK. No need to have separate sim files every time something changes.

Here is a FASTER WAY.... You can turn "Show Hidden" on and off at will:

Faster Way:
  1. Open File Explorer from the taskbar
  2. Navigate to "C:\Users\<user name>\"
  3. Select View > Show > Hidden items.

IDEALLY, the Windows package should NOT install OpenRocket like it does.... The app should be in the appropriate Program Files Directory, Data in its correct place, AND the software would make provision for locating .orc, .rse, et al. files in whatever directory you choose and "include" them at runtime.
Unfortunately, I am NOT a programmer, and don't have the level of skill required to fix this.

OR, alternatively, it should allow you to install the application completely outside the application and registry tree, say in D:\Tools\OpenRocket\ and THEN allow you to put data files wherever you choose in preferences. <---- my preference.
 
Last edited:
Can you explain the reasoning behind using a distinct part, the "inner tube", to represent motor hardware? Its mass should be included in the motor file. As shown at ThrustCurve.org, and taking the I599 as an example, the total weight is 512 grams and the propellant weight is 195 grams. The other 317 grams is the hardware. So what purpose does the "inner tube" serve?
Aerotech 54/426M RMS Motor Hardware with (NO MOTOR): So you can see mass/CG/CP w/o motor. Mass Override the RMS Hardware with a "0" grams, and you can see rocket weight without motor or hardware.
View attachment 495730
But doesn't just unloading the motor accomplish the same thing? If you want to model the rocket with no motor loaded, don't load a motor. What am I missing?

Here is a FASTER WAY.... You can turn "Show Hidden" on and off at will:

Faster Way:
  1. Open File Explorer from the taskbar
  2. Navigate to "C:\Users\<user name>\"
  3. Select View > Show > Hidden items.
Showing all hidden files and folders can be a bad idea sometimes; it clutters the screen with things you're not interested in, and makes it easier than need be to mess with things that ought not be messed with. (Show hidden files and mess with them only when you really want to.)

Another way is to show hidden, then open properties for the folder you'll be placing files in and uncheck the hidden property. Then you can turn "show hidden" off again and the folder you want to see will still be there.
 
Last edited:
I can't reach the Apogee web site at the moment. (The work firewall prohibits it, and I don't have my phone.) Please check the "initWt" and "propWt" from Apogee and compare them to the "Total Weight" and "Prop. Weight" at ThrustCurve. For the I599, 317 grams sounds like an awful lot for the liner, O-rings, nozzle, etc. There may be a vocabulary disconnect going on.

(Motor hardware) + (Reload) = Motor
or
(Motor hardware) + (Motor) = Whatever you call the full assembly that goes into the rocket.

My suspicion is that when Apogee sells a reload they list the propellant weight and the (propellant + non-burnable consumables), where ThrustCurve lists the propellant weight and the full up assembly weight.

If you have the skill to build an HPR rocket, read my documentation, and create a properly formatted XML .rse file, pretty sure that you can deal with seeing hidden files and folders for a minute.
It may be I wasn't clear in my suggestion. For a minute, of course. That was sort of my point, or one half of it anyway.
That would work, but I just turn it on/off as needed for the whole directory. I do not want hidden directories changed to visible by default.
What I'm suggesting is seeing all the hidden stuff for a minute, and in that minute making a specific folder visible permanently, not hidden folders in general. Only the one you'll be using a lot to add stuff. Then everything else goes back to not visible, and you don't have to keep turning the "show hidden" switch on, off, on, off over and over. To each his own.
 
Perhaps I am confused, but I am under the impression that the Total Weight ("initWt") for RELOADABLE motors does NOT include the motor hardware. The software has no idea what case, closures, et al. that you are using.

Pretty sure the initWt - propWt = (non-burned parts like liner, nozzle, o-rings, et al.)

Called Apogee and asked them.... They said that "initWt" does not include "motor case" (more correctly, "motor hardware").

If both Apogee and I are wrong, I'd love to know. 😊

Total weight includes the typical hardware.

Since you asked, the Apogee person and you are both wrong. :)
 
I SPECIFICALLY do NOT want to make a "hidden" folder permanently visible.... ever. It is not "Best Practices" IS/IT-wise.
My personal opinion is that best practice is to avoid mucking around inside AppData whenever possible. I understand that for adding parts you have no choice, though (this is something we should change in OR in the future; probably should offer a similar mechanism to motor files).
 
My personal opinion is that best practice is to avoid mucking around inside AppData whenever possible. I understand that for adding parts you have no choice, though (this is something we should change in OR in the future; probably should offer a similar mechanism to motor files).

I agree for the average user. Unfortunately, IF you want to add components to the database, /AppData is where you have to add data to make it happen for now. I would not have chosen the installation schema that was chosen for the Windows Package..... I am "assuming" there were reasons for doing it the way it has been done.

I simply had to solve the issue for me, and realized that OTHERS had asked the question before. :)
 
The file formats came from an earlier time, when there were no other case options.
Why change what works, having to modify *all* existing files- including old ones that aren't necessarily available- when it's simple to manually account for the increased hardware mass when using spacers?
I consider it a reasonable assumption.
 
ALL references to motor/thrust files removed.
The forest was getting lost behind a single tree.

IF I could delete entire posts, I would.

Bottom Line:
You have the docs to add motor/thrust files to OpenRocket.
You have the docs to add components to OpenRocket.
 
Last edited:
Is there any simulation program that will allow you to scan in a outline of a rocket and have it be plugged in to the system with out having to draw each segment of the rocket out? Then scale it for all of the dimensions, that seems like that's a lot of work..... especially if you already have all of the dimensions down on the drawing.
 
Is there any simulation program that will allow you to scan in a outline of a rocket and have it be plugged in to the system with out having to draw each segment of the rocket out? Then scale it for all of the dimensions, that seems like that's a lot of work..... especially if you already have all of the dimensions down on the drawing.

No sir. Not one of which I am aware.
That'd be a trick piece of software though. :cool: 👍:D
As someone who is from the "old school" when we ACTUALLY learned how to draw/draft, I identify with your position.

I STILL hand-draw stuff out on paper FIRST before I even think about putting it in a CAD app, et al.
The software is awesome, but something in my DNA requires me to draft manually if I want the creative parts to function. ;)
 
Nice tips. Have you considered trying to continue development on the source? Fork your own version, add all the features like this, etc.

No sir. I am most definitely NOT a developer/coder. I'm going to likely dig into the application files to try and further understand how it is put together, but I simply don't have the time or the skills to further develop the app. IF I can help document what is already there, I will count myself successful.

As long as it can "do" what I need it to do, I will stick with it. :)
 
No sir. I am most definitely NOT a developer/coder. I'm going to likely dig into the application files to try and further understand how it is put together, but I simply don't have the time or the skills to further develop the app. IF I can help document what is already there, I will count myself successful.

As long as it can "do" what I need it to do, I will stick with it. :)

Me either, unless they want it in rusty old-school C or assembly. I'm a computer networking guy, just wish someone would take it on and bring it up to date.
 
Since you asked, the Apogee person and you are both wrong. :)
This is the last I'll say on the subject. No, the Apogee person is not wrong, but it's a matter of apples and oranges.
  • (Apples) Apogee is giving the pre- and post-burn weights of the product they're selling, which is a reload kit. The hardware set is a separate product, so it has a separate weight.
  • (Oranges) A motor file must give the pre- and post-burn weights of the fully assembled motor, which both include the hardware.
 
For Mac users out there, to get to the folders for Components, Plugins, andThrustcurves, you can do the following:
  • go to the Finder
  • with the Option key held down, select the Go menu and choose Library (folder)
  • in the Library folder, open Application Support > OpenRocket
  • you will see the Components, Plugins, and the Thrustcurves folders
As a shortcut, you can choose 'Go to Folder' (also under the Go menu) and enter (copy and paste works):

~/Library/Application Support/OpenRocket

which will open the support folder. You can also change the Thurstcurves folder under Preferences > General to a folder of your choosing that is easier to find.


Tony
 
Is there any way to get a list of motors "built into" OR?

Not an efficient way....

Best way I know is to install the program, open a new file, add a tube and set it as a motor mount, then go to Motors & Config tab, and click on select motor....
Then either filter it down, or select all manufactures and then scroll through taking screen shots.

There IS a way to go search through .ser files (if you can find the right one, and they happen to be uncompiled text source files, which is highly unlikely).
 
Last edited:
Back
Top