[Plugin] ImageTrimmer
-
speechlessly amazing!
-
Here's v1.1 http://forums.sketchucation.com/viewtopic.php?p=294815#p294815
It's got an 'outline simplifier' option added.
This is also available a separate tool to simplify the outlines of existing ImageTrimmed components.
See the notes for details...
[Thanks to ThomThom and Douglas-Peucker fro the simplification algorithm ideas...] -
@cadfather said:
not sure what happened but when run, the script opened edge 'detector.jar' file and there it stayed..
it opened with winrar so will check this outYou need to have Java enabled on you computer - it usually is...
Did you extract most files into SKMtools subfolder as the instructions...
The script doesn't open 'EdgeDector.jar' - rather it should 'execute' it as it's a very small app that does just one thing ?
What OS system are you using ? XP ??
What version of IE do you have ?
What version of SUp ? I guess NOT 9.1 -
not sure what happened but when run, the script opened edge 'detector.jar' file and there it stayed..
it opened with winrar so will check this outEDIT: yes if winrar (i guess any other zipping app as well) is set to open jar files too - trimmer will run winrar -- uncheking the file association makes trimmer work fine
-
well TIG, with the likes of you, it feels like SU 10.2!
-
Thanks for the interesting plugin and the inspiration TIG!
@tig said:
I only taught myself Java in the last week or two
Two weeks is not that much. I will give it a try!
-
CADfather
I have looked at your '.jar' issue... I can reproduce it! IF I let a 'zip/unzip' application like AlZip or WinRar 'poach' the '.jar' file-type as one that it will open. If so then when Ruby tries to 'open' a '.jar' file instead of it 'executing' in Java [like it should], it 'opens' in the decompression application...
The solution = look at your WinRar settings and ensure '.jar' is NOT one of its file-types for opening...
-
thanks TIG, that's exactly what i did - (perhaps wasn't too clear in the edit)
one specu-question: could you, adjust the sampling rate/area of the script? suppose you didn't want so much precision, it could perhaps speed up the trimming process - having said that, the simplifier is well integrated
once the trim is achieved -
@cadfather said:
thanks TIG, that's exactly what i did - (perhaps wasn't too clear in the edit)
one specu-question: could you, adjust the sampling rate/area of the script? suppose you didn't want so much precision, it could perhaps speed up the trimming process - having said that, the simplifier is well integrated
once the trim is achievedSorry - didn't see the 'edit' !
It first has to 'get' all of the edges of the solid/transparent areas - it's 'easier' to draw all of the edges as boundaries to these pixels - this is the most complex outline - a Factor 2 simplification will often improve the steppiness of these edges, BUT it can trim small solid areas or leave small transparent areas... Most of the time in the initial processing is finding which edge bits get faces or 'holes' and of course therefore which are part of which 'loops'... The 'simplifier' works on the face perimeter loops once they are made - it's much easier than trying to decide which edges could be the loops initially... You will have seen that the simplifier at Factor 2 reprocesses the faces' loops quite quickly... I can see how to easily recast the code to allow simplification before processing -
i see.. still a pretty amazing feat.. in fact so are the images produced in the folder.. Thanks again
-
@cadfather said:
i see.. still a pretty amazing feat.. in fact so are the images produced in the folder.. Thanks again
The Image's original 'image' file, 'edged' .png and a .dat file [01s] are put into the temporary folder [it is removed IF it's empty] made inside the SKP model's folder. If you answer 'No' when asked if you want to remove temporary files you can open/use them. I didn't automate this deletion because you might want the Image's 'image' file and/or the 'edged' .png. The .dat file does go but it's just a load of 0s and 1s !!! If you leave one of the dialogs open you can always read/copy it before it 'goes'
-
very useful indeed..
-
What am I doing wrong? I have a .png. I made it a component, selected it and then clicked on Image trimmer and get a warning 'Image trimmer: You selected an Image first.', so I exploded and tried again with same warning, I tried simplyfier and it works, but trimming does not, what am I doing wrong?
-
@solo said:
What am I doing wrong? I have a .png. I made it a component, selected it and then clicked on Image trimmer and get a warning 'Image trimmer: You selected an Image first.', so I exploded and tried again with same warning, I tried simplyfier and it works, but trimming does not, what am I doing wrong?
You don't use 'ImageTrimmer' on a 'Component' - you use it on a plain imported [unexploded] 'Image' - check in Entity Info to see what it is...
After it's 'trimmed' that Image is copied as a Material applied to Faces inside a new Component...
so then you can no longer 'trim' it, but of course you can 'simplify' the outlines later within the Component... -
Oxer, you might try importing the image as an image and then immediately running the plugin on it. See if that does what you want.
-
Hello TIG!
I don't know how use the plugin, i do this:
- I import a png file like image.
- I make a new component, its name the same like image.
- I make a new material with the png file with the same name, and i apply this material to the face inside the component.
- I select the image into SU and run the plugin.
Nothing happens, only the plugin creates a folder named "TrimmedImages" in the same directory that Model file, it contains the png file.
What i do bad?
I use Mac with OSX 10.6 and SU 8.
EDIT: Appears this message in Console Ruby
-
@dave r said:
Oxer, you might try importing the image as an image and then immediately running the plugin on it. See if that does what you want.
I have done so too, but appears a message error in Ruby Console.
-
@oxer said:
Hello TIG!
I don't know how use the plugin, i do this:
- I import a png file like image.
- I make a new component, its name the same like image.
- I make a new material with the png file with the same name, and i apply this material to the face inside the component.
- I select the image into SU and run the plugin.
Nothing happens, only the plugin creates a folder named "TrimmedImages" in the same directory that Model file, it contains the png file.
What i do bad?
I use Mac with OSX 10.6 and SU 8.
EDIT: Appears this message in Console Ruby
[attachment=0:2kel5wb4]<!-- ia0 -->Consola.jpg<!-- ia0 -->[/attachment:2kel5wb4]NO!
- Import the Image. [no need to make other things yourself]
- Place/Scale it like you want.
- Select the Image.
- Run 'ImageTrimmer' [the clue is in its name!]
- It makes a new Component Instance that has trimmed Faces matching the Image's transparent areas with the Image now applied as a new Material.
- You then choose to stand-up the new component, delete temporary files or 'simplify' the outlines.
- Later, you can Select the new Component Instance and use the 'simplify' tool on its outlines...
Please run it with the Ruby Console open - there might be a MAC error.
Check that .jar files are 'executable' Java files on your OS and not inadvertently set to open with your 'Zip/UnZip' application...
From the Ruby messages it seems that the 'EdgeDetector.jar' file isn't in the correct directory ?? There should be one file called 'SKMtools.rb' in the 'Plugins' folder and then a sub-folder in the 'Plugins' folder called 'SKMtools' that contains various .rb and .jar files etc. Your error message is saying it can't find the specified .jar file. Is it there? If so does the file path contain accented characters etc [unlikely] - that can cause Ruby's File operations to fail!
-
Oxer
PS: are you sure you have your files/folders in the correct 'Plugins' ? Type/Copy+Paste this into the Ruby Console to check the correct path to your Plugins folder...
Sketchup.find_support_file("Plugins")
-
@tig said:
Oxer
PS: are you sure you have your files/folders in the correct 'Plugins' ? Type/Copy+Paste this into the Ruby Console to check the correct path to your Plugins folder...
Sketchup.find_support_file("Plugins")
Yes, i have all file into Plugins folder
Advertisement