[Plugin] MaterialConsolidator
57 posts
• Page 1 of 2 • 1, 2
[Plugin] MaterialConsolidator########################################################################### TIG (c) 2010-2019 All Rights Reserved. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,INCLUDING,WITHOUT LIMITATION,THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ########################################################################### materialconsolidator.rb ########################################################################### Type 'TIG::MaterialConsolidator.new' in the Ruby Console. OR 'Menu' > 'Tools' > 'Material Consolidator' All materials with the same 'properties' are consolidated into one, and the rest are purged... [the progress is reported in the Console/Command-line] It is one step undoable. The Status Bar and/or Ruby Console reports progress. The Ruby Console also lists the names of any purged materials. ########################################################################### Two materials are only considered duplicates if they have exactly matching 'properties'. These are:- materialType color RGB transparency [alpha] If 'material.texture', then also:- texture.filename texture.image_width texture.image_height texture.width texture.height The materials are all compared with each other. If ANY one of their properties don't match then the compared materials are NOT duplicates and therefore they are NOT consolidated. However, if ALL of the properties do match then the first 'duplicated material' in the list is 'kept'... all objects using these 'duplicated materials' will have them replaced with the 'kept' material [i.e. they are 'consolidated']... On completion any now unused 'duplicated materials' are purged... With v2.0 the exactness [tolerance] of the matches is also optional. When you start the tool a dialog asks you if you want to specify a tolerance, If you answer Yes a second dialog asks you to specify them... Its options are: RGB Red 0=exact ..255 variance range RGB Green 0=exact ..255 variance range RGB Blue 0=exact ..255 variance range Alpha 0=exact ..100 variance range Leaving everything set to the default 0 forces exact matches only... So if a material's Red is 127, 0 matches 127 exactly, and 10 matches 117 to 137, 255 matches all values of Red 0 to 255, although in this case 128 would have sufficed, because 0 to 255 are the outermost limits. The Alpha range of 100 reflects the possible 0 to 100 values allowed. Use with thought, undo if results are unexpected - e.g. you manage to wipe all transparent materials or make everything 'black' ! ########################################################################### Version: 1.0 20101218 First issue. 1.1 20101218 Menu added. 1.2 20101219 Listing/Sorting optimized, command-line prompts added. 1.3 20110116 Wrapped into a class 'MaterialConsolidator'. 2.0 20190722 Module wrapped, 'tolerances' added. 3.0 20190722 Tolerance rules tweaked. Get the latest version from the PluginStore: TIG
Re: [Plugin] MaterialConsolidator 20101218
What do you mean by "properties"? Re: [Plugin] MaterialConsolidator 20101218
Two materials are only considered duplicates if they have exactly matching 'properties'. These are:-
color RGB transparency [alpha]
texture.image_width texture.image_height texture.width texture.height If ANY one of their properties don't match then the compared materials are NOT duplicates and therefore they are NOT consolidated. However, if ALL of the properties do match then the first 'duplicated material' in the list is 'kept'... all objects using these 'duplicated materials' will have them replaced with the 'kept' material [i.e. they are 'consolidated']... On completion any now unused 'duplicated materials' are purged... TIG
Re: [Plugin] MaterialConsolidator 20101218Whoow TIG !
![]() ![]() ![]() Dear Santa, Thanks for this mighty plugin and if you don't mind I would like in completion a bike, some tricky soap (the kind which colors hands in black), for my dear sister ![]() ![]() DESIGNER AND ARTIST DEREI.UK
Re: [Plugin] MaterialConsolidator 20101218Thanks TIG for the explanation, it makes sense now.
![]() _______ Ah, and before I forget; many thanks for the plugin, too! ![]() Re: [Plugin] MaterialConsolidator 20101218thank you so much TIG! this is a blessing. i can't tell you how many times i've downloaded models from the 3d warehouse which seem to exponentially multiply the list of materials already in my model.
Re: [Plugin] MaterialConsolidator 20101218Hi TIG,
Are the faces that were painted with a "removed" material repainted with the consolidated one ? I mean suppose you have 2 faces, one is painted with material m1 and the other with material m2. If the materials have matching properties, one of them is purged, say m2. Does the face painted with m2 repainted with the remaining m1 material ? Thanks for all your work, Didier Bur
Ecole Nationale Supérieure d'Architecture de Nancy (F) Re: [Plugin] MaterialConsolidator 20101218
Yes! It ensures that only one material of the exact same 'properties' is used - this means that if m1==m2 then everything*** that used m2 now has m1 and m2 is purged if m1==m2==m3 etc m2 and m3 go and everything is m1... ---'everything' means all faces, edges, groups and component-instances etc... in the model and inside definitions too... TIG
Re: [Plugin] MaterialConsolidator 20101218Excellent!
![]() ![]() Thomas Thomassen — SketchUp Monkey & Coding addict
List of my plugins and link to the CookieWare fund
Re: [Plugin] MaterialConsolidator 20101218Another awesome and needed tool, any possibility to have it available in the 'tools' drop down menu? as typing into ruby consol everytime will require me to remember the command and I have already forgotten it.
Re: [Plugin] MaterialConsolidator 20101218![]()
+1 3D Printing with SketchUp Book
http://goo.gl/f7ooYh
Re: [Plugin] MaterialConsolidator v1.1 20101218Here's v1.1 viewtopic.php?p=295290#p295290
It now has 'Material Consolidator' under the 'Tools' menu... TIG
Re: [Plugin] MaterialConsolidator v1.1 20101218Oh, YES!!
![]() Thank you, TIG i7-4930K 3.4Ghz, 2x GTX780 6GB, 32GB DDR3-1600 ECC, OCZ Vertex 4 500GB, WD Black 3TB, 32TB NAS, 4x 27" Monitors, SpaceMouse Pro, X-keys XK-60
Re: [Plugin] MaterialConsolidator v1.1 20101218Hi TIG!
I have some important suggestion. The majority of people working in the 3D field use some prefixes in the mats\layers\camera names. It's extremely helpful to differ my stuff from the others.I for example name all my assets in this way: zzz_blahblah. And everything is inserted in the initial template file. So what I'm asking for is ability to set the default name prioty directly in the ruby file itself (just to set up it once and forget). In my case zzz_* formula would be dominant. What do you think? Re: [Plugin] MaterialConsolidator v1.1 20101218rv1974
At the moment the first material in the database is used in preference to any other matches [the names are not considered just the position in the list], so if you have 'zzz_Material', 'zzz_Material1' and 'xxx_Material99' that are all exact matching 'clones' and 'zzz_Material' is the first one then everything becomes 'zzz_Material' and the others are purged... I can't see how we would use 'prefixes' to sort materials [at the moment, as I said, the name is ignored and its 'order of being created' is used] ![]() TIG
Re: [Plugin] MaterialConsolidator v1.2 20101219Here's v1.2 viewtopic.php?p=295290#p295290
The listing and sorting algorithms have been optimized for speed and command-line/console progress messages added... TIG
Re: [Plugin] MaterialConsolidator v1.1 20101218
--- order of being created is already a nice thing. The workaround is to embed a simple planes matrix with user common used materials applied into initial template. Thank you. Re: [Plugin] MaterialConsolidator 20101218
What is a material "type"? I feel I'm missing something basilar, but I can't find this in the "modify material" window. Re: [Plugin] MaterialConsolidator 20101218
The materialType is accessible via the API - it returns values [0/1/2] depending on if the material is simply a 'plain-color', has a 'texture' or it has a texture and it has been 'colorized'... that's all... http://code.google.com/apis/sketchup/do ... terialType TIG
Re: [Plugin] MaterialConsolidator v1.2 20101219TIG, "thanks" for your reply, and "thanks" for your great and valuable work!
![]() Re: [Plugin] MaterialConsolidator v1.2 20101219I was thinking about this yesterday, as using FormFonts objects bloats my files with duplicate materials.
Thanks, TIG! ![]() -Miguel Lescano
Subscribe to my house plans YouTube channel! (30K+ subs) Re: [Plugin] MaterialConsolidator v1.3 20110116Here's v1.3 viewtopic.php?p=295290#p295290
It is now wrapped into its own class 'MaterialConsolidator'. TIG
Re: [Plugin] MaterialConsolidator v1.3 20110116thank you for this useful tool !
but one question: how do i delete unused materials that result from objects imported by the warehouse and which i dont use anymore? to be more exactly, i tried out several warehouse objects to fit my needs and mixed some of them. at the end i got 50+ textures loaded but maybe only 15 are in use. deleting all by hand would take some time. did i get something wrong ? cheers http://www.frenchtouchstudio.com
manager/modeler Re: [Plugin] MaterialConsolidator v1.3 20110116'Used' Materials are not 'purged'... Erase all unwanted Component Instances OR go to the Component Browser and find the unwanted component, right-click its icon and pick 'Delete' - this removes it from the model/browser/data-base. OR if there are no Instances left use Component Browser > Purge... pop-out to remove any unused Components It's recommended that you also use Layer Browser > Purge... pop-out to remove any unused Layers [that might have been associated with Components that you have just purged] NOW use Material Browser > Purge... pop-out to remove any unused Materials [that might have been associated with Components that you have just purged] OR simply use Model Info > Statistics > Purge Unused... to purge them all in one go - this also includes a purge of unused Styles. OR try my 'Purge' script which is similar but it lets you choose which kinds of thing to purge, and makes a 'report' of what's gone too... TIG
Re: [Plugin] MaterialConsolidator v1.3 20110116hell you react fast ! ;D
thx for your answer, will give it a try. http://www.frenchtouchstudio.com
manager/modeler Re: [Plugin] MaterialConsolidator v1.3 20110116Great plugin, thanks TIG. Not one I'll likely use very often but I just had need of it and it worked perfectly.
-Brodie steelblue http://www.steelbluellc.com
57 posts
• Page 1 of 2 • 1, 2
|
Who is online
Users browsing this forum: anas_mahli, ecati, Realistic Renderer, rubyreloaded, ttamerceyhanlier and 9 guests