Non-technical information for Product Connect
(eg, marketing literature, user documentation)
is located elsewhere
These pages concentrate on technical information
(eg, architectural notes, implementation details).
stores product information in SketchUp entities,
using a specific set of
- Product information may include a variety of attributes (eg, description, dimensions, names), depending on the type of product involved (eg, Appliance, Cabinet, Finish).
- Currently, Product Connect only attaches dictionaries to SketchUp components (eg, Appliance, Cabinet) and materials (eg, Finish).
When these "PC-enabled" entities are present in a SketchUp model,
their product information can be extracted
and used to generate reports (eg, "schedule" spreadsheets)
for use in the design process.
Version 0.2 of the Product Connect distribution
relied on vendors to supply "PC-enabled" SketchUp entities.
Although there are several thousand of these
on Google's 3D Warehouse
this only begins to meet the needs of possible users
(eg, architects, designers, engineers).
So, in version 0.3, we added the ability for SketchUp users
to create and/or modify PC-enabled entities.
Now, any component or material can be annotated
and used immediately to generate reports.
The Product Connect distribution
contains several plugins
Roughly in order of increasing complexity, they are:
Plugin architecture and control flow
The following diagram indicates the major connection between the plugins:
At start-up time, Google SketchUp finds and loads "load_sketchapps.rb
This plugin finds and loads the SketchApps plugins (eg, "get_products.rb
However, these plugins only register themselves for menu items, tools, etc.
Some time later, if the user requests one of these plugins,
its class will be instantiated and its
In many cases, this will cause a WebDialog to be created,
All direct user interaction is handled by the dialog.
However, it will often notify its plugin about events (eg, mouse clicks).
On occasion, one plugin may communicate with another.
For example, clicking one of Report Maker's "edit" links
will cause a copy of Product Editor to be run.
Subsequently, if Product Editor's "Save Product Info" button is clicked,
Product Editor will tell Report Maker to update its data and display.
Note that the dialogs do not
communicate directly with each other;
all communication is mediated through their respective plugins.
- PC_Misc - module, used (to some degree) by all PC plugins
This wiki page is maintained by Rich Morin
an independent consultant specializing in software design, development, and documentation.
Please feel free to email
comments, inquiries, suggestions, etc!