X-Ray Selection Tools

im from MAX.i love it

I want to turn it into a switch

Default box select tool in x-ray mode first tries to select edges that are completely inside the selection box. And then, if none edges was found, tries to select edges that intersect the selection box.

I modifier the tool to always select intersected edges as you requested. And it has the option on the tool settings to revert default blender behavior.

And I added the option to disable x-ray in the 1.3 version.

Box Select X-Ray 1.4.2 alpha.zip (33.5 KB)
Box Select X-Ray 1.3.3 alpha.zip (29.9 KB)

The difference between 1.3 and 1.4 is that in 1.3 I run the default box select, then after it finished I run my code to select elements that was missed in the default box select

In 1.4 I don’t use the default box select at all, I draw the selection rectangle using the custom shader. So elements need to be selected only once and that might be faster. But I noticed that the shader itself is a bit slower than the shader from the default box select. Probably because the second one is executed in C, not in python. Because of these reasons I would like to keep two versions until it becomes clear which one should be kept


I’ll try to implement this in next release, until now please use this version Box Select X-Ray 1.2.1.zip (32.4 KB)
You can find the button to switch the behavior in the tool settings panel

1 Like

Thanks for this add-on Cirno, I’ve been trying to find an elegant way of getting this behavior in Blender for months now. I’m having problems with it mapped to fit with my interaction model though.
I use a variation of industry standard with alt+LMB to control the viewport and LMB to use Blender’s ‘front-facing’ select. In addition to this I’d like to have Box Select X-Ray mapped to MMB for selecting through an object.
In v1.2 this works for regular selections using just MMB but extending or subtracting from the selection with shift+MMB or ctrl+MMB leaves the box select stuck open when you release the button. It requires a further click with any mouse button and no keys to close the selection and perform the extend/subtract operation.
1.4 is totally broken for me, whereby even regular selections don’t work using the interaction model described above.

This method for selection is based on the workflow I learned in Silo and NVil and I think even Modo works the same way, therefor I believe there will be many people interested in using this add-on in this way and it would be great if you could support it.

Use 1.2 and add this hotkey in the end of the hotkeys list

1 Like

Hmm… everything seems to work now in 1.4.2. Basically, everything within the box is selected and works like how other apps work now …in edit mode at least. Actually, this could even be better than other apps now. :smile:

Question: How difficult would it be to implement this same functionality in object mode? (Basically disabling select through in solid view.)

I don’t know yet, I’ll try to implement it in my free time.


Thanks Cirno! This has made it fully functional :smiley:
Only thing was in your screenshot it shows ‘Press’ but I had to set this to ‘Release’ for it to work.

Woops. I spoke a bit too soon. This doesn’t work on multiple objects in edit mode. I can confirm because I can select all faces on all the objects with Blender’s regular box select tool using X-ray mode. I didn’t forget to select the multiple objects in object mode before I switch to edit mode. It would be nice if you could just work on all the objects in edit mode without selecting everything in object mode first. There’s already the hide object function if I didn’t want to work on these objects in edit mode. Their selection workflow is inconsistent. Hopefully, they’ll do something about all this, but I have a feeling an addon dev will beat them to the punch. :wink:

Both versions seem to be doing their job flawlessly. Great job!

I haven’t experienced any lag with any of the versions, but that may be due to my tests only involving simple primitive meshes of course. I would be very curious to hear any findings on this performance topic.

Whatever the case, you’ve done a stellar job here Cirno. Don’t feel shy to put a price on this addon, even if it’s 1 buck. You deserve all the love. I am currently using a custom build of Blender, but this addon alone will finally allow me to install a fresh new stable 2.82 and try it out in more complex scenes. This migration could take a while though. If I find anything, I’ll let you know in the coming weeks.

Edit: My tests only involved selecting things in Edit Mode. Haven;t played around in Object Mode a lot yet.

This is great. 1.4.1 works as expected on verts and faces, but not on edges. I’m having the same issues as Justo, but to be honest, I rarely box select edges. It’s always either verts or faces.

Select Box X-Ray 1.3.4 alpha.zip (30.5 KB)
Select Box X-Ray 1.4.3 alpha.zip (33.7 KB)


Cirno already corrected the edge selections :slight_smile: There are now two new versions since 1.4.1. In other words, Cirno is the goat

Also, you rarely box select edges? Bad Danny, bad. You remind me of a certain strangely-behaviored Irish Polycounter… ;p

I agree. I’d gladly pay for something like this because I find the default Blender behavior frustrating in some situations. I’m legit excited to try this out.

I’d prefer the add-on to stay free, this way (being more accessible), more Blender users are able to use it.

So does this let you select faces then and not have to select centers? Is that what I’m understanding? I’ve been using the HeavyPoly script that does the same, but you have to select face centers which is annoying/too bad.

Yes, it does. It also allows you to select by face centers too if you want to switch back. Try the latest zips Cirno shared in this thread.

Very cool. I might have to remove my other script/disable for now. I was trying to mess with it, but I think both scripts are conflicting/doing weird stuff.

Edit: Is this right? I see a ton of entries. Seems like almost duplicate?

Edge selections are generally loop/ring selections. Box selecting them is rarely beneficial considering the perpendicular edges , especially in Blender with its hybrid sub-object selection system(verts selections are also edge selections)

He’s my evil alter-ego. :smiley: