[Plugin] ComponentReporter+.rb
-
thanks for your help
i tried the ++ version and it does the same thing.
if i put components in the drawing and then run a report it shows those components in all the CSVs. i then delete all the components in the drawing and add different components. save the file. when i now run the report, component+report.csv adds the new components to the deleted ones, it doesnt delete the components that arent in the drawing anymore. however both parentage and instances CSVs show the correct components.
can anyone else test this scenario on their systems so i can be sure its not something quirky to my system?
also wondering, what is the difference between + and ++ for componentreporter.
just wanted to say that, other than that small hickup, this is an amazing plugin for me as im trying to draw garden designs for community groups. i have all my irrigation components tracked by this plugin. cheers
-
Hey TIG
thanks for the great plugin
however I discoverd a little bug
if I have an ΓΆ in the folder name, the plugin tells me that the file I want to write to is in use.
This is true for the + version and the ++ versionPyro
-
This isn't an error - it's a known limitation of the version of Ruby used by Sketchup.
File paths or file-names containing special characters - like accented letters - cause many 'File' operations to fail.
So you should avoid them because otherwise they will cause file-writing errors or tests for files existing etc to fail.
The reporters' trap for a fail, but assume that the fail is because the file is open, as that's the common cause... -
ah okay, my bad. Didn't know that. I'll take more care naming my folders in the future
-
First post so apologies if I'm in the wrong spot or otherwise. I'm working with the free version of Sketchup for some woodworking projects. I've created components and would like to print out a list and quantities of these. I've downloaded ComponentReporter ++ for this and have run into an error -- I keep getting the "file already open" error. I've checked the folder names, no odd characters. Any guidance would be appreciated. Thanks.
-
@mustangsk said:
First post so apologies if I'm in the wrong spot or otherwise. I'm working with the free version of Sketchup for some woodworking projects. I've created components and would like to print out a list and quantities of these. I've downloaded ComponentReporter ++ for this and have run into an error -- I keep getting the "file already open" error. I've checked the folder names, no odd characters. Any guidance would be appreciated. Thanks.
The code tries to make [or 'open'] the CSV file in the same folder as the original SKP, so that it can write the data. If it fails to do this you get the message telling you... The most common reason for the failure is that you have the CSV file already open in Excel. This locks it and prevents anything else writing data to the file - hence the message. Closing the 'open' CSV and then retrying to use it should allow the operation to complete. Another possibility is that the SKP name and/or folder-path contain some non-standard characters [like a 'Γ©' or 'Γ§'] - the version of Ruby shipped with SketchUp can't cope with these in file/folder paths in its 'File' methods...
Another possibility is that the folder containing the SKP has limited security settings and the system is preventing you from writing the new CSV into it ?? Check/change its settings to 'FULL' in its icon's Properties > Security > Edit dialog...
Also what is the exact SKP file's name/path and the file/folder-path reported in the error message? -
I'm running on Mac OSX (just switched from Windows, so I'm struggling with that). This if the first time I've used the plugin -- no csv files open in Excel. The path on the dialog window is:/component test-Component+Report.csv
Thought this might be due to running the free version? I'll check the security setting in the window (need to figure that out first on the Mac). I appreciate the quick reply and help. -
Have you saved the model before trying to do this ?
It should use the model's path as the folder for the CSV file...
":/component test-Component+Report.csv"
Doesn't seem right to me ???
I doubt you have unfettered access-rights to the root-directory ?
If you open this SKP and copy+paste + <enter> this into the Ruby Console what do you get ?
m=Sketchup.active_model;p m.title;p File.dirname(m.path);
It should be
"component test"
then a full path to the folder that contains the SKP ?
This should also used for the CSV file's folder-path...
Do you have full-rights to that folder?Can you also put these two lines into the Ruby Console separately and post the paths...
Sketchup.find_support_file('plugins')
and then
Sketchup.find_support_file('ocean_extension.rb', 'plugins')
Also this to check where Sketchup is actually installed...
Sketchup.find_support_file('.')
and then this
Dir.pwd
-
Result of the first:
m=Sketchup.active_model;p m.title;p File.dirname(m.path);
"component test"
"/Applications/Google SketchUp 8/Models"
nilResult of the second:
Sketchup.find_support_file('plugins')
/Library/Application Support/Google SketchUp 8/SketchUp/pluginsResult of the third:
Sketchup.find_support_file('ocean_extension.rb', 'plugins')
/Library/Application Support/Google SketchUp 8/SketchUp/plugins/ocean_extension.rbResult of the fourth:
Sketchup.find_support_file('.')
/Users/briancurry/Library/Application Support/Google SketchUp 8/SketchUp/.Result of the fifth:
Dir.pwd
/Hope this help. Appreciate all the help.
-
Next one into the Ruby Console:
$LOAD_PATH
exactly as written... -
Brian, where is the SKP file you're trying to run the component report on? It appears it is in the Applications folder. What happens if you try running it on a model that is saved in Documents? I did that on my Mac and it works just fine. Perhaps the plugin can't write to the folder where the Component Test file is.
FWIW, I use a plugin specifically designed for woodworking for this. Still, you should be able to get this to work.
Edit: I was in a rush getting ready for work when I tested this. I didn't look as closely as I should have at where the files ended up. They ended up in the wrong location and on Mountain Lion I expect the location is not accessible by the plugin.
Curious.
-
Thanks Dave...
I was going to suggest something else like 'CutLister' etc and get you involved...
BUT we do need to sort out his setup and usage first...
If anything the model SKP files ought to be in subfolders inside the Models folder...
Most users would have them in that file path at all ??? -
On my Mac most of the SKP files I create are stored in the Documents folder. The only ones that end up in applications are local component files for the Components browser. Those are saved there by dragging from In Model to the local collection in the Components browser. I'm guessing that with Mountain Lion, that directory is not accessible in the way it needs to be for Component Reporter to write to it. We see this all the time with the Plugins folder. It seems to need permissions changed from Read Only to Read & Write.
Brian, if you are keeping your models in the Applications folder, I would suggest you don't do that.
-
This tool is 7 years old - I only just noted that you aren't trying the current version...
As noted in earlier posts in this thread there is now ComponentReporter++.rb.
This '+' tool had issues with MACs and was effectively replaced by the '++' version.
However, here is a '+' version [v1.7] that is MAC friendly !
-
TIG, this version now puts the CSV files in the same location as the SKP file.
Excellent work. Thank you sir.
-
Results:
$LOAD_PATH
["/Library/Application Support/Google SketchUp 8/SketchUp/Plugins", "/Library/Application Support/Google SketchUp 8/SketchUp/Tools"]The version I had downloaded was the "++" version. I was trying different locations for the file in case it was a location issue (really just shooting in the dark). I tried locating the file in the "documents" folder, same result.
I removed the "++" version and replaced with the "+" version, located the model file in the "documents" folder -- everything worked fine. CSV files were placed in the same folder as the model file.
A couple of dumb questions: SKP file is a sketchup model file? And SKP is the same as a model file?
A little embarrassing -- I'm very new to a Mac (1 month). I've been a Windows user for forever and work with some high end modeling software on a daily basis (ProEngineer, CATIA). I'm still trying to get a handle on file locations, permissions, read/write, etc. with the Mac. I was looking for a way to create components (pieces, part), create assemblies from them and generate a bill of material (BOM) of the parts (components). I think the cutlist would take the additional step of fitting the models to boards or sheet goods (?) -- which may be my next step.
Anyway, I'll give it a go. Very appreciative for all the help.
-
Brian, it sounds like you now have TIGs latest version working which is good.
As to your question about the SKP file, yes, SKP is used to refer to the SketchUp model file. That's because the file extension is .skp.
The CutList plugin I was referring to will generate a BOM and can sort into wood, sheet materials and parts when the model is properly set up. Take a look at this link for some details. The plugin will also generate files to be imported into CutList Plus which can do sheet goods optimization.
-
I've checked and both of the + and ++ versions now work fine on PC & MAC...
-
Guys, thanks again for the help. Dave -- will CutList work on the free version of SketchUP?
-
Yes. It will work on the free version.
Advertisement