[Plugin] Components manager plugin
-
@inteloide said:
Change wouldn't be so long, actually the plugins always upload file, even if the definition is update to date, so just by check before that file date = definition date, then issue is solved.
I don't really understand what you mean by this...
Also, when you refer to upload you mean saving to file (on sketchup it's called "save as" on the context menu) or getting the definition updated from file into model (wich is called "reload" in component context menu).
In the previous context "upload" looks like "save as" but in this next context "upload" seems to be "reload".
@inteloide said:
Also, I was thinking that plugin is also purging all definitions each time it upload a definition : this cost a lot of time too. I will also change this to purge only and updating end.
@inteloide said:
- Add a model/component history text input, to allow writing your model improvments and components improvments.
If it is very simple to add those notes and simple to read them, it could be useful.
@inteloide said:
The idea would be to have an host window which can accept different sub-windows from different plugins. Each plugin could be loaded separately but when you have installed the host window (host plugin), every other plugins (made by me, of course) will fit in the same window (you would be able to change from one to the other by clicking an icon). Then it keep clear your workspace !
So additionnal function like "model/component history" still stay in the same window.
Good idea, no ?Yes it's a good idea if all plugins share related objectives, otherwise, it might be confusing to have a window that has two completely different uses. It's not very Sketchup like.
@inteloide said:
Just update version 1.8.0, with following improvments :
Added : Revision level management option added !
Added : Option to start or not automatically the manager (default=no)
Added : Option to refresh or not the list when start automatically the manager (default=yes)
Optimized : The return of the update progress in Sketchup state bar !
Optimized : In all definitions reload, component definition are reloaded, from file, only if different from model definition.
Optimized : Simplify refreshing date display scriptI'll try to implement this for version 1.8.0
Seems to be a nice update... Thanks!
JQL
-
I have some little feature requests for you to consider:
1 - Would it be possible to find a component in the list by clicking it in the model? Just like outliner...
2 - Would it be possible to change component's names directly on the list?
3 - Would it be hard to double click or click an icon on the list and the file/component that is selected would open in a new Sketchup session for editing and then reload when saved, like editing a texture in external image editor? (there's a plugin that does this already but breaks file path association. It's called Component Edit Window.)
4 - Would it be possible to creat filters on the list that would only show updated components or outdated or components that were associated with a file or whatever other options you have. Tick on a box and you only see green icons, tick other box and you only see blue, click on both and you see both icons on the list.I hope you find this interesting, thanks and best regards,
JQL
-
@greatoe said:
Then after a restart of Sketchup, the following error window shows.
Hello Greatoe,
Just post version 1.8.1 which should correct the message you had.
After that...mistery... ;o)
Please send me further errors (you can start ruby console in parrallel to see any error you may have).About version 1.8.1 version, few modifications actually :
Corrected : Add option for MAC user, should help tp start the plugin, pay attention when saving files.
Optimized : Simplify access to tool through Plugins menu -
JQL, first thank you for your ideas
To answer you :
1 - Yes, it's not easy to find in the list a definition name, but... I'll try
2 - Yes, good simple idea ! I vote for ;o)
3 - Good idea again, should not be so complex.
4 - Humm...some programming hours below that...I'll tryAlso, more traduction could be add if users help me to translate (all texts are in Plugins\BGSketchup\Composants\Rb\Localization.rb)
Inteloide
-
I can help you with Portuguese translation:
Here is the file: I also took the chance to checke the English translation and made some changes that you should only consider as suggestions for a more intuitive aproach to your plugin if you think they're worse, please disregard them. (I think I didn't mess with code or the spaces you had).
The main suggestion on translation are as follows:
1 - I believe most sketchup users have no idea of what are definitions but (almost) everyone knows about components so I replaced "definitions" with "components" on all strings.
2 - I simplified some strings to make them similar to usual english strings in most software. The less words the best people understand them immediately.I hope this helps and thanks for all your hard work.
JQL
EDIT: Sorry forgot the file, here it is saved as UTF-8 without BOM:
-
Hi JQL,
Thanks for English and Portuguese translation. Your English is definitevely better than mine !! It's true that I used words that may not be easy to understand for somebody else than ...me, I should correct my French translation too ! hé hé ;o)
About your proposal, I implented (using Jquery javascript) a right click function, with actions like save, upload, edit. Edit open a new Sketchup instance openning the component definition. I can make sketchup to wait the new sketchup window to close (to know if component was modified), but the old window looks freeze until new window is not close... Maybe an option could be good for user to decide not to freeze the sketchup window which start the new sketchup window.
Thank you for your support.
-
No problem,
With those kind of features it's really going to be one of the most essential plugins in my workflow.
I think you're right, freezing the first window is bad has there might be things you need to copy as references for editing in the other window. I think the other plugin I mentioned would close the 2nd window when saving the model, wich is also bad as you might want to save progress, but not yet update original model with xref.
I think the best procedure would be only to automate opening a new window and not any other process as you can simply save and reload.
What might happen is that when you open second window, a dialog could show on the first window asking:
You're editing file ".../component.skp" Do you want to reload it now?
then you could have 3 buttons on the dialog:
1 - OK - reloads when you press it.
2 - Cancel - the window goes away and you can keep working in both SU sessions reloading whenever you wish or simply overwriting file again at any time.
3 - Not now! - This might pop up a reminder from time to time, telling you that you have a component being edited in another window. This is useful for when you edit the window but forget to reload it in the main model.This reminder could be the same as above that would show up from time to time if you keep pressing Not now! button. You could be able to configure options for the time that would take for this popup to show or if it would be turned off, as it may interfere in some users workflow.
I'm sorry, for so much requests, but as you keep implementing ideas, I keep having them... so it's a nonstop procedure.
Thanks again,
JQL
-
Your plugin is now in the PluginStore
You are added to the Plugin Author group so you can see this forum...
http://sketchucation.com/forums/viewforum.php?f=382
You can also see this....
-
@rich o brien said:
Your plugin is now in the PluginStore
You are added to the Plugin Author group so you can see this forum...
http://sketchucation.com/forums/viewforum.php?f=382
You can also see this....
Thank you very much !
-
Hello !
Last modifications :
1.9.0:
Added : Right-click menu to do different actions
Added : Rename function in the right-click menu
Added : Adding function to open new SU instance to modify a component + message when coming back to previous SU instance
Added : Auto-select in the list selected component in the model
Added : Now it asks to create a new revision level when saving definition (and option is activated).
Corrected : Bug when upload a component with a revision level
Corrected : Bug with bright and dark red icon color
Corrected : Some translation were missing1.8.3: Corrected : Implement string conversion to Java when upload text titles in Html page 1.8.2: Non official version...deleted
-
I tried the last version
it works fine
but i get an error message in the ruby console when i use my plugin mult_dim_tool
"Error: #<NoMethodError: undefined method
entities' for #<Sketchup::ComponentInstance:0x95a0a9c>> C:/Archivos de programa/Google/Google SketchUp 8/Plugins/BGSketchup/Composants/Rb/Composants_Main.rb:764:in
onElementAdded'"Actually, i get the same message when i use any plugin
Any idea?
-
Hello JQL,
Problem solved : another old bug (entities of a component instance, which doesn't work on SU 2013).
Just post version 1.9.1, which make the plugins close from final release !!
Actually it was post officially in pluginstore a little bit too early.
I will also change pluginstore to reflect this version.By now, I won't add new features until bugs are completely close. I will also verify that it works on Mac computers (with greatoe).
**
Version 1.9.1 :**
Corrected : Bug in options for "auto-select in list",
Corrected : The component selected on model is now clearly shown in the list
Corrected : Observers error onElementAdded, thanks to JQL
Corrected : If you don't want to check file existance, when clicking on a item in the list, the file was checked. Not anymore !
Corrected : Options file was kept opened after reading option, this produced troubles when saving new options. Now solved.
Optimized : Ruby consol only shown on my computer, as I forget sometime to hide it when I release verions ;o) -
Ahh then that's why I kept having to close ruby console... Going to keep testing this!
Thanks!
JQL
-
@jql said:
4 - Would it be possible to creat filters on the list that would only show updated components or outdated or components that were associated with a file or whatever other options you have. Tick on a box and you only see green icons, tick other box and you only see blue, click on both and you see both icons on the list.
Except this one, which is a quite bit complex, all your requests are done !
As I just spend more than 4 hours to correct a tinny bug (to show the component in the list when cliking on the model), I will have some rest now.
I will use this plugins at work now and may make another updates if bugs are found for next week-end.
I have to think about other plugins to develop :
- 6 axis robot manager, which calculate axis angles ! (90% done actually)
- But also tiny plugins, like a plugin that optimize loading big models (like for my robot (> 50 Mb !) by replacing big component by simply box and load the big component by a right click...
But that's for other topics !
Thank you JQL for all bugs you have found by now ! I hope this plugins will be use by other and they will give me their feedback !
-
LOL Inteloide I gave you a bad time and it seems I'm going to pester you a little longer so I know what you might be thinking of me right now...
But here it goes: you know this select feature request that made you fight with a bug for hours, in what seemed to be a battle of epic proportions? There is a thing that I suspect isn't behaving as it should!
If you have a component in model that is inside a group, in a model with several nested groups and you select it, if it's inside the first group in the list, everything is ok and it is shown in the list. However if the component's parent is not in the first branch of the list, the component is only selected if the whole list is expanded.
Take a look at picture for better understanding of the question.
Other thing I noticed is that when I save a component I have to be careful to always write the extension. Save as "Yellow" isn't enough, as the path gets saved as "c:\blablabla\Yellow" and your plugin only accepts "c:\blablabla\Yellow.skp".
Another thing that works is if I use context menu and use "save as", as the path gets correctly saved.
Final question for now is how is the version level management working? I think it's indeed an excellent idea. It's beautiful for backup or version comparison... Very well thought! However, I can't get it to auto name versions when saving...
EDIT: I changed options but didn't restart Sketchup. Is it needed? I'll try again.
This is getting an incredible plugin! Congratulations!
JQL
-
Hello JQL,
Could you send me your file, please ?
It will be easier for me to correct bugs.
Thank you -
Of course! It's been modified on some more experiments, but still has the same structure.
Thanks,
JQL
-
Hello JQL,
Just post a new version that correct all bugs you had.
Updates are :
Corrected : When clicking on model to component within groups, component was not shown
Corrected : When selecting multiple item in the list make all the list outlined
Corrected : Components without extension are now managed ok.
Optimized : Click on a group in the model then group is also outlined in list.
Optimized : Reduce Javascript code in HTML page
Added : Link to forum page in about screenCould you please check that files without extension ("c:/tatata/toto") are working properly ?
About revision management, this is how it work.
Imagine a model (A.skp) with component ("toto") saved on hard drive or wherever.
Imagine that each time you make a modification to the component, you want to keep history of the file, so you save it with a revision level (for example "rev...")
So in your folder, you may have files like :- toto.skp
- toto rev 1.skp
- toto rev 2.skp
- toto rev3.skp
- toto rev4.skp
And when you open your model (A.skp), you want to upload the latest revision of "toto" component, so "toto rev4.skp".
Then, you just have to choose option "Use revision level system" and the plugin will upload only the last revision !
When saving (by right-cliking on the component in the list...not using save all components...sorry, I have to add this function too), it asks you if you want to create a new revision, ie "toto rev5.skp".
The text to define revision level can be choosen in options menus.
Pay attention to a following rules :- spaces are important : if revision text is " rev" (with a space before), "totorev1.skp" is not the revision 1...
- revision level can be float number, but better to use rounded number (because "rev 1.3" will new newer than "rev 1.11", as 1.3>1.11)
- nothing after revision : "rev 1 (super)" won't works.
- on file, if you put letter instead of figure ("rev A") it may crash...
-
It seems super, this week will be a hard one to keep up with you, but I'll try as soon as possible...
I'll check what you asked for right now.
Thanks again,
JQL
-
Hi Inteloide,
1 - Component manager is now able to save without extension but it's still unable to find a reference that was saved that way.
2 - I understood the concept of versions level but I'm unable to make the plugin save a new version by itself. It ask wether I'd like to save as new version level or not, but never saves a new version either I press yes or no.
3 - Selecting from either list or model is now working perfectly, just like outliner.
4 - There is a feature that is not working as I would expect too. If one refreshes the list by whatever reason it collapses (some commands also refresh it). You loose the context on the list you were on. Of course it's easy now to choose from model so this is just a minor question.Best regards. I hope this helps,
JQL
Advertisement