Will, isn't this something the TC developers should be putting the effort into, to make an easy interface for users to work with? I am no programmer, but sounds to me that you are suggesting something like, as an analogy, modifying a basic low cost production car for sports purposes, which will require an awful lot of effort, where the alternative is spending more initial outlay on a ready prepared sports vehicle, designed for purpose from the beginning?
No. Not suggesting anything of the kind.
TC is a very well thought out product. It appears to have all (or most) of the facilities built in that would do the required work.
It is always a bit of an art -- or perhaps more like bear wrestling -- to do the initial integration.
Furniture Maker 10 uses most of the required techniques, and I had a look at some of Don Cheke's work (which is excellent stuff) -- he is a good part of the way there. I am guessing he is no DB expert -- but if he were, he would probably be able to offer a product. He has designed templates that are compatible with the idea of picking off particular components and assigning product codes or part numbers.
I was thinking about this last night....
The first step is defining a base template (for manufacturing integration) that has all of the required information to connect part numbers to the company db:
At it's simplest it requires:
Internal Key: Integer (For speed in large part number files)
User Part Number: Alpha-Numeric 16 (say...) (for human convenience)
Category: Code -- Integer (Used for filtering searches -- may need sub codes)
Part Description: Alpha-Numeric 31
Part Source: Code (Integer) -- This would be for specifying internal or external supplier
Assembly: Boolean Is this part a base part or a collection/assy of parts)?
Supplier: (Code (Integer) -- if needed would be filled in (These two can be collapsed into one field)
SourceMaterial: Code (Used to specify type of wood, steel, paint or whatever)
PartStatusLink: Code (Link to the DB where status is maintained as in active, obsolete, upgraded etc)
Anything that is labeled "Code" is at least a 32 bit integer used for database keys for internal linking...
Keep in mind that you really do need to be able to query the company database as you draw -- since many parts can be stored as templates and reused -- like door latches, screws, dowels, springs... whether you make them or buy them.
As far as I know most drawing packages suffer from "integration after the fact" so -- "no big deal".
I know when I did my first Integration with AutoCad that what we were doing had never been tackled before -- mainly because we were using beta ODBC drivers and were warned that there were no commercial products being offered that had DB integration -- we were on our own good luck!... Admittedly it was over 10 years ago.
If we can get general agreement on what should be included for any part then perhaps IMSI can build in the facility so that the above record -- or similar can be attached to anything we wish to view as a distinct part. (Whether it be a hydraulic ram or a shelf).