137th Gebirg wrote:
It's a pretty common programming concept, particularly in the object-oriented world, but I was curious if AutoCAD had a similar feature to help cut down the size of runaway files like this one.
Yes it does, it is called Xref.
It does (kinda), and I use that extensively, ..... The other problem is, when I insert a block (AutoCAD object), it instantiates the whole block - not just an object reference, so it makes almost no difference in size/performance (AutoCAD 2000 might do better at it, I have not experimented with that in this version yet).
The reason why it does not make no difference in size and the reason why it instantiates the whole block, is simply the fact that blocks weren't invented for this reason of object reference. They were invented to change lots of objects at the same time. For example, if you inserted a thousand doors, you could change them all at one time, and have a door with a window or other color or whatever. If you need an object reference so that the drawing size not increases you will have to work with Xref objects, or what is even better make Xrefs containing a whole deck. That way you can build deck by deck, and insert them into a "master" with a bitcount of almost zero. Also nice if you want to change a deck, it will automaticly be updated in your "master".
BTW, AutoCad 2000 works the same.
This is a very common practice, but as far as I'm concerned, aren't we just talking "parts" versus "assemblies," and "subassemblies?"
If I make a PCBA ("printed circuit board assembly") with fourteen instances of the same resistor, I simply assemble those parts into my assembly and the memory-footprint per component remains the same, while the assembly only contains the "placement" data associated with that instance.
I thought ALL CAD programs (at least, all 3D CAD programs) worked the same way.
There are also, in ProENGINEER, things called "UDFs." No, they're not birth-control devices. Rather, they're "user-defined features"... something which can be created once, then easily copied to many locations. This is popular, for instance, for repeated features like the "standoff bosses" inside of molded parts. These, however, do add to the size of the PART which they're added to.
In the case of the 1701 model I've been making, I've done my little round "sensor porthole" windows as UDFs. Instead of having to remodel them every time, I simply had to create an attachment point for each, and then attach them to a particular surface, centered on that point (which, of course, had to be on the surface in question).
I would NOT use "UDF" type features for the corridors, but I might seriously consider using PARTS in an ASSEMBLY to do this, especially if there are many repeated features.
Mind you, it doesn't change "data manipulation" times once it's in memory... transformations and rendering still depends on the total data, so every "part" takes the same this way in any case. However, the amount of regeneration, the memory footprint, and the hard-drive footprint... those are significantly reduced by reusing parts multiple times.