Select Objects By BitmapTex

17 votes
Version: 
1.6
Date Updated: 
05/26/2012
Author Name: 
Branko Živković

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• VERSION 1.6
v15
With this tool you can quickly perform certain operations that normally require more time to perform, such as:
. Selecting all scene objects by choosing a specified bitmap texture used in the current scene file. >>>
. Selecting objects with the same material as the first object in the selection.
. Selecting all scene objects by choosing a specified modifier from the other objects.
. Cleaning all unwanted modifiers or materials from selection.
. Attaching or detaching objects with given options.

Additional Info: 

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Usage:
All commands and options are self-explanatory.
If you have problems or questions please post them on this page.
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Update: [version 1.1]
-> Fixed some minor bugs
-> Optimized code
-> Added attach method (works with geometry objects only) with options:
...#1: Specify new name for attached object
...#2: Auto assigne material from the Material Editor (active mtl slot)
...#3: Place pivot at center of newly attached object
...#4: Automatically remove the texture filename from dropdown list
...#5: Add newly attached object to specified layer
NOTE: If the name (from edittext field) matches the layer name (from Layer Manager) then new object
will be added in that layer else it be placed in the new layer (with name from edittext).
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Update: [version 1.2]
-> Improved performance and code optimizations
-> New options:
...#1: *Advanced Select By Material* (perform searching inside groups)
...#2: *Convert Selections To Editable Poly* objects
...#3: Select all objects with specified modifier
...#4: Added cleaning method (for unwanted modifiers and materials)
...#5: Added *Detach* operation with some options
...#6: Object wirecolor colorpicker
...#7: *Assigne Random Wirecolor* when perform Attach | Detach operations
...#9: *Exclude Groups From The Process* option
NOTE: Attach | Detach operations works only with Editale Poly types of objects.
Detach operation not supports options:
-- *Exclude Groups From The Process*
-- *Remove Bitmap Name From List*
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Update: [version 1.3]
-> Code optimizations
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Update: [version 1.4]
-> Improved detach method (now supports multiple selected objects)
-> Also you have two new options (radiobuttons):
...#1: *Detach Selection To Elements*
...#2: *Detach By Face Material ID*
NOTE: All objects that have only one material ID assigned will be excluded from process.
...#1: *Sort List Names By Nodes Count* (sort texture list by greatest number of assigned textures first)
NOTE: if this option is not checked then list will be sorted alphabetically.
...#2: Added button for cleaning the texture dropdown list.
...#3: *Open / Close Layer Manager Dialog* checkbutton
...#4: *Clean Empty Layers* button
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Update: [version 1.5]
-> A few bugs fixed
-> New options:
...#1: *Select By Object Layer* (select all objects that are placed in the same layer as selected object)
...#2: *Select Faces By Face MtlID* (select all faces of EPoly that are used the same face ID as selected face)
...#3: *Detach Types* dropdown list (replaced radiobuttons)
-- *Selection To Elements*
-- *By Face Material ID*
-- *Selected Faces* [NEW] (supports multiple selected object with already selected faces)
NOTE: You can use this (last) option in combination with *Select Faces By Face MtlID* button.
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Update: [version 1.6]
-> New option:
...#1: *Assigne Sub-Material Name* (every detached object will have sub-material name)

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Requested: by asymptote

Version Requirement: 
2010+
AttachmentSize
bga_selectobjectsbybitmaptex_v.1.5.ms19.71 KB
bga_selectobjectsbybitmaptex_v.1.6.ms20.1 KB

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
ccrusher's picture

Great

Thanks a lot for this extremely handy script !!

I am not familiar with MAXScript, but is it possible to get some automation to it ?

My suggestion would be:

Collect BitmapTex-> for each entry in the list do for example select, attach and clean materials until the list is done.

It would be a huge timesaving function for our workflow.
Thx

barigazy's picture

I just test the script on

I just test the script on max2013x64 and works very well.

bga

kino's picture

Cannot populate texture list in 2013

I have max 2013 64-bit and the problem is that "collect scene bitmaptex's filenames" button does nothing. There is even no error message in maxscript listener. Any ideas?

With 2012 64-bit script works just fine, on a different computer that is.

asymptote's picture

no worries, i didn't realize

no worries, i didn't realize it would be a big job.

thx

barigazy's picture

Then for each operation would

Then for each operation would have to make a different macroscript.
I made this scipt on your request but I think it would be unnecessary in this case to chopping main code. Sorry.
If you have another idea for this script, then I'll take that into consideration.

bga

asymptote's picture

Cool, thanks for the update,

Cool, thanks for the update, is it possible to assign the individual functions to hot keys/buttons rather than launch the UI ? So i can make my own toolbar of most used functions.

thx

delvpier's picture

You're right about about AVG

Yes indeed, it was my mistake. I put AVG library in Plugin folder and now it's working in Max 9 32bits.

Thanks for your support and for all your scripts.

miauu's picture

delvpier, put the AVG in

delvpier, put the AVG in PLUGINS directori inmaxRoot folder.
I've just test it on max9 32 bit, and the SELECTION and CLEANING METHODS part of the script works. Sometimes n error occures, because Branko uses container, which is not a part of max9, so be aware.

delvpier's picture

Not working in Max 9 32bits

In fact, I had already AVG Library. I tried again but no luck.
Maybe it is because of a wrong installation of AVG ? I put it in stdplugs folder... am I wrong ?
I can do without it by exporting to Max 2013 64bits (I've it also) but it is quite frustrating to have to switch all the time between the two versions...

barigazy's picture

Thanks Kostadin for the

Thanks Kostadin for the support.

bga

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.