Commissioning/Developing a Plugin
-
Hello Development Gurus,
I've been doing some talking with a couple of you gauging validity of an idea I have for a personal/business use plugin I would like to develop. I'm open to either hiring someone to develop it or developing it myself, though with my current level of ruby knowledge I favor the former since I'd prefer to no die of old age before it's working
A little background: I'm going to be developing a SketchUp dynamic component library for a Architecture firm in southern California. Now I've done this before, but they're going all in and really want a killer, optimized system. I'm comfortable building DC's, but I'd like to put some forethought in and create a tool to make my life easier, and if others can benefit from it, awesome. No matter how much preparing and planning I do, I'm going to have to constantly update my master templates for these components, and that promises to become an increasingly large amount of work as the library grows.
So here's the idea itself: I'd like to have a plugin that will allow me to essentially do a search and replace for the parameters of a DC (nested inclusive), and for the plugin to iterate through rename all the relevant references in the component functions. So let's say I've built the component, and later realize I've forgotten a crucial parameter, and want to add a couple more features. Here's the example I imagine:
Before Plugin Usage
Parameters:
aa_window_height
ab_window_width
ac_window_typeAfter Plugin Usage (bold and italic represents added/edited params respectively)
Parameters:
aa_window_height
ab_window_width
--->ac_window_depth
--->ad_display_optional_trim
--->ae_window_typeI'd love for this parameter to chase through child components (and beyond) for whatever DC master is open and edit the references inside the formulas as well, if that's possible. For clarity's sake, the double letter prefix is solely there to ensure that parameters in the DC Options panel appear in the order I want them to.
From what I've learned speaking in PMs with a couple of you, the idea is at least worth exploring. If I need to clarify anything, please don't hesitate to let me know or ask.
Thanks,
Matt
-
Before jumping into implementation details like "iterating" and "search and replace", I'd like to understand more about the broader use of such a plugin.
No matter how much preparing and planning I do, I'm going to have to constantly update my master templates for these components
What is a template in this context and why will you need to constantly update them?
Essentially, is sounds like you want to be able to define the order of user-editable attributes in the Components Options dialog?
-
Hi Jim, essentially, yes what you described at the end of your reply is correct. I would like the ability to reorder and rename dynamic parameters of dynamic components, as well as all of their nested children parameters and so on.
Regarding your previous question, a master template in this context is the way that I've been building my DCs to this point. I'll build a functioning component, and then save off each part so that I can create variants, and still have all the same parameters. So as an example, lets say I've built a window that cuts into a surface, and showcases a single hung window. I've been saving off the window child component, creating a casement version, and swapping then back and forth to ensure they work flawlessly, and minimize the file size of the component. I can attach an example when I get back to a computer.
The fact I said I'd be needing to make constant revisions may be an exaggeration, but my view is this: I'll be overhauling the use of SketchUp in the office to a more standardized system, and as users begin to adopt DCs and they become more useful, I may need to add features that I did not plan out or set aside in the first roll out of DCs. Adding new features shouldn't be too difficult, but seeing as how the order of the exposed parameters is reliant on alphabetical order in the DC options dialog, I don't see any other way to re-order them other than either manually renaming all the params through parent and child level components, or coming up with something more clever.
Hopefully that makes sense, let me know if anything isnt clear.
Thanks!
Sent from my VS987 using Tapatalk
Advertisement