I agree, the internal details of the actual switch or receptacle are irrelevant and as you can see in my low poly models they are eliminated. Only the exterior geometry of the electrical components are represented.
I am creating the switches and outlets so that their material/color can be modified independent of the face plates. The plugin will allow the user to customize both the face plate material and the actual switch/outlet material. The electrical box will be set to the standard Carlon blue however the user can always edit this material in SU and change it to whatever they desire.
You will also notice with these models that there are two layers: electrical_rough and electrical_finish. This allows the user to quickly toggle off the finish electrical components so the rough installation can be easily inspected.
Another interesting aspect of this new plugin is the way I’m going to set it up within the wall panels of the wall plugin. When a wall panel is regenerated the electrical components (groups) will be retained, similar to the way I already retain custom geometry. What this allows is custom editing by the user of any of these electrical components within the wall once they are installed/inserted. For instance let’s say you want to change the material of one of the duplex receptacles to red in a 4-gang box but leave all the rest the default material specified by the plugin, you will be able to do this.
When you edit a switch or receptacle and don’t change out its “style”, but only its vertical position in the wall or the material of the face plate or switch/outlet then the group/component is not redraw but only modified. Again this will allow the retention of custom mods.
The location horizontally within the wall panel is originally set when the electrical component is placed. To modify its location the user can just jump into the wall panel group and uses SketchUp’s built in move tool to alter its position.
I will probably include a delete tool for convenience however as with moving this tool is not really needed since the user can just as easily delete the components within the wall panel group.
I’m still thinking through all of the dynamics and parameters that will be required by the plugin, feel free to leave your suggestions or thoughts.