OpenRocket Tutorial: All about multi-selection

The Rocketry Forum

Help Support The Rocketry Forum:

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

neil_w

OpenRocketeer
TRF Supporter
Joined
Jul 14, 2015
Messages
16,704
Reaction score
11,547
Location
Northern NJ
Introduction
It has come to my attention that many (most?) OR users are unaware of what can be done with multi-selection (or more concisely, "multi-select") in the recent releases. And so here is a quick tutorial about how it works and what you can do with it in the latest versions of OpenRocket. It will cover features in both v22.02 and the upcoming 23.09 (currently in beta).

Notes
  1. For the remainder of this tutorial, I'll be using the Windows/Linux convention of "control-click". Mac users should translate to "command-click". Everything else is the same across platforms except where noted.
  2. I'll be focusing on operating on the Component Tree, i.e.:
    1695220291188.png
    You can also do some multi-selection in the rocket figure display, although that uses the mouse a bit different.

Basics
In a nutshell, multi-selection is the ability to select multiple components simultaneously. Most computer users are already familiar with this... you can use multi-selection when dealing with almost any list of things, like emails, or files, or whatever.

Generally, control-clicking the mouse will let you toggle the selection of individual items. In a few seconds I can do this:
1695220401619.png

Shift-clicking, on the other hand, will select the item you're clicking and all items between it and the most recent selected item, and unselect others. So, let's say I first select "Body tube" and then control-click on "Wadding". I get this:
1695220566272.png

Now I shift-click on "Inner Tube", and I end up with this:
1695220609810.png

I've now select a contiguous block from "Wadding" (most recently selected item) through "Inner Tube". Meanwhile, "Body Tube" was unselected.

Using shift-click and control-click, you can pretty quickly and easily select whatever collection of components you want.

Simple Operations
The first things we can do with multi-selection are the obvious editing functions. Most of what I'll describe now is available in four ways:

1) The big ol' edit buttons:
1695220927089.png

2) The Edit menu:
1695220949034.png

3) The keyboard shortcuts as shown in the Edit menu

4) The contextual menu (right-click on one of the selected items):
1695221064491.png
Note that is the contextual menu from 23.09 beta, so it may look a bit different than what you have now if you're on 22.02. We'll get to the differences later.

So, by whatever is your preferred method, you can delete, duplicate, copy, paste, or reposition the selected items in the list. To reposition items, there's a fifth method: simply drag the selected item(s) up and down within the list.

Again, most of this should be familiar to anyone that has used a modern computer. It's also not that interesting. Things will get more juicy in the next installment.
 
Last edited:
Multi-Editing
The first really cool thing you can do is multi-editing. That is, you can edit multiple components at a time. How does that work? Well, for any selected set of components, the config dialog will only show parameters that are shared among all the selected components. Changing any of those parameters will then affect all components.

Start multi-editing the same way you would edit a single component: select the components to be edited, then click the "Edit" button or any other of the methods described in the previous post.

Here are some examples.

Homogeneous Editing
Let's try editing two centering rings. Because the two component types are identical, *all* the parameters are in common between them, and therefore you can edit anything. Want to change these to 1/8" plywood rings? Just change Thickness and Material and they'll all be updated. Just don't touch the things you don't want changed. At present, the dialog does not show you which parameters are changed and which are not... maybe we can do something about that in the future. In the meantime, you'll need to keep track. If you mess up, you can always undo.
1695221864744.png

Note that the config editor reminds you that you're editing multiple components in two places: the title bar and in the lower left corner.

Heterogeneous Editing
What if we try to edit a nose cone and body tube together?
1695222127148.png
The only common parameters are Overrides, Appearance, and Comments. This is a pretty typical result of multi-editing different components. Even though both Nose Cone and Body Tube have some parameters that seem the same (e.g., outer diameter), at the moment they are considered different and cannot be multi-edited. We may revisit this in the future.

Multi-editing appearance is incredibly useful, however, when you're experimenting with the appearance of the rocket. Want to change the color of the whole rocket in one shot? Just select everything and change it all at once.

The Effect of Assembly Components
Unlike every other component type, assembly components (Stage, Boosters, and Pods) do not have appearance associated with them. Therefore, if you have included them in your selection, you will not be able to edit appearance anymore (since it is not common to *all* selected components). E.g.:
1695222392434.png

Therefore, if it is your goal to edit the entire rocket appearance and you start by multi-selecting everything, you'll need to then go back and manually unselect (via control-click) the assembly components. In this case, once I unselect "Sustainer" it goes back to looking like I want:
1695222503703.png
This is another behavior that can be revisited in the future.

Freeform Fins
A fun thing you can do is multi-edit Freeform fin shape. Here I've converted the trapezoidal fins to freeform, and then added another freeform set. When I open up the shape editor, I see the shape of the first selected fin (the trapezoidals).
1695223049073.png
Now, what happens if I move the top left vertex?
1695223083138.png
As you can see in the rocket figure, both fin sets have been reshaped. This is a bit weird, but can be useful in some circumstances.
 
Last edited:
New in 23.09: Select Components of Same Color
Those who like to use OR to play around with paint schemes will appreciate this new feature in 23.09. Here's my OR model of the Odd'l Break-Away, from my recent build:
1695223573199.png

I really like the mono paint scheme, but maybe I want to try some color instead of the gray. What I can do now is:
1) Select one gray component
1695223637575.png
2) In the Edit menu or the Context menu, choose "Select -> Components of same color":
1695223709090.png

And voila.
1695223728770.png

Now I can easily edit and change the colors of all of them at once, e.g.:
1695223775511.png
 
Last edited:
Exporting OBJ Files
A new and long-awaited feature in 23.09 is the ability to export OBJ files for 3D printing. This is available via the File -> Export -> Wavefront OBJ menu item or in the contextual menu at the very bottom:
1695229886442.png

In either case, the export applies to the currently selected objects. Therefore, you will often want to use multi-select to choose a set of objects to export, especially if you wish to create a single combined object out of them.

If you want to export the whole rocket, something you might do is just select the sustainer and export:
1695230058197.png

Now, as long as you leave "Export as separate files", you'll get a single file with the whole rocket. But there's a small problem: that will include mass and recovery objects, which you usually will not want as part of a print. How to fix this?

Well, rather than depending on selecting just the Sustainer, instead start with multi-selecting *everything*:
1695230155060.png

Then use control-click to unselect the mass and recovery objects (and anything else you don't want):
1695230210244.png

Now, when you export, you'll only get what you want. Note that "Sustainer" is still selected, but it doesn't matter once you have applied selections to its children.

You can use this method to create sub-assemblies for printing: just multi-select the components you want and then export as a single file.
 
Last edited:
OK, I think that covers it for now. Please hit me up with any questions you might have, and also let me know if tutorials like this are helpful. Did everyone already know about this stuff?

Amusing (?) footnote: @SiboVG was the implementer and driving force for nearly all of the multi-select and multi-edit stuff. I pushed back on quite a bit of it, thinking it would get too confusing and not be useful enough. How comically wrong I was, and how lucky that Sibo didn't relent until eventually he won me over. The biggest challenge with it is simply making users aware of what it can do, which I hope to address with this tutorial.
 
Last edited:
Additional notes
Couple of other details I want to call out.

1) When you edit a multi-selection, the set of parameters that are displayed will be the ones from the first component that was selected. This knowledge will come in handy with item #2.

2) Let's say I have a component that is the perfect of turquoise, and now I want to set another component to the same color. For instance, I think this would look better if the nose cone matched the fins:
1695299720363.png

How to do it?

Well, start by multi-selecting the fins and the nose (select the fins *first*) and edit:
1695299808822.png
As described in #1, the parameters you see are from the first component selected, which is the fins, and there's that lovely turquoise. So how do I set the nose to the same color?

Well, the editor will only apply *changes* to the selection. So in this case, click on the color swatch, which opens up the color selector, and then simply say "OK". This doesn't actually change the color, but it registers as a changed parameter. Say "OK" and now you have the beautiful result:1695299972041.png

OK, maybe that *wasn't* the perfect shade of turquoise.

For numeric parameters, the best way to register a change is just to click the up/down buttons up and then down, returning it to the original value but registering it as a change.
 
Neil --

One of the koolest things that you ever showed me is how change all the launch parameters at once and then to resim all my motors at once via Multi-Select.

Before learning the Multi-Selection trick, it was painful to re-sim all the motors I add to my rockets.

Thank you @neil_w !

-- kjh
 
Neil --

One of the koolest things that you ever showed me is how change all the launch parameters at once and then to resim all my motors at once via Multi-Select.

Before learning the Multi-Selection trick, it was painful to re-sim all the motors I add to my rockets.

Thank you @neil_w !

-- kjh
lol I totally forgot about multi sim editing! Will add that one later.
 
Other stuff: Sims and Motor Configurations
Thanks to @kjhambrick for reminding me about this.

It's not just components that can be multi-edited. You can also use it for sims and motor configurations.

First let's talk about sims, because this is genuinely useful. Recall that if you edit the simulation preferences...
1695394898033.png
...you'll not that nice bold red text that reminds you that the changes will only apply to newly created sims. If you want to change the conditions of existing sims, you can multi-select sims in the table and then edit them all at once. So let's say you mistakenly set the launch rod too short, or some other obvious mistake that you want to correct on all the sims... just select them and edit, and the changes will apply to all the selected items.

There are probably fewer occasions where multi-editing motor configurations would be useful, but it's possible. You can select some set of motors in the table...
1695395244361.png
...then click "Select motor" and the resulting selection will be applied to all the selected configurations.
 
Thanks Neil.

This feature was a god-send !

I used this recently to change my launch site conditions for all my motors and sims from Hutto ( 30.617158375589348, -97.49690197952224 ) at 643 ft AGL / 991 mB to San Angelo ( 31.330532249720157, -100.29773833082429 ) at 1926 ft AGL / 949 mB.

Since I fly dual deployment the ejection delays don't matter but I might want to swap a parachute for a good landing speed when the launch site is at a higher altitude.

Thanks again !

-- kjh
 
Not mentioned above (keep remembering/discovering new things!) is the fact that you can multi-edit the "Recovery" and "Stages" subtabs in "Motors and configurations", e.g.:
1695398115819.png
 
What I would really love would be a way to change the "position relative to" of multiple selected components at once. That would make playing around with different tube lengths much easier for a complex rocket with many parts.
 
What I would really love would be a way to change the "position relative to" of multiple selected components at once. That would make playing around with different tube lengths much easier for a complex rocket with many parts.
I'm not sure I understand why you'd want to (or need to) change the value of that particular parameter in that way. Could you elaborate?
 
I'm not sure I understand why you'd want to (or need to) change the value of that particular parameter in that way. Could you elaborate?
Suppose a zipperless-style dual deploy rocket with a floating avbay sunk into one of the tubes. I have various recovery hardware (shock cords, quicklinks, chutes, blankets, etc.) for both drogue and main bays. Quite likely as I've worked on the design, I've used "position relative to top of parent component" and "position relative to bottom of parent component" willy-nilly, and whether I did or not, I certainly won't remember for sure how they're all positioned later.

Now suppose I do some packing tests and realize I don't need such a large drogue bay. I want to shorten the body tube where the avbay and both recovery bays reside, but I want all (or most) components to remain in place relative to the top of the parent component. As it stands, I have to click into each individual component and insure it's set relative to top before I shorten the body tube.

I run into similar situations all the time in OpenRocket. It would be extremely nice instead if I could highlight all relevant components I want referenced to a specific alignment point and set the relative position of all of them at once. Of course I have no idea how simple or complex that would be to add to the UI.
 
Back
Top