File Simplification

From Open Source Ecology
Jump to: navigation, search

Concept

We work with CAD files at different levels of detail. For example, we can download a file for a valve from McMaster-Carr and the thing is a few MB because it has details like threads. But - the problem comes in when we have an assembly of many parts. This leads easily to 100MB or GB size files if one doesn't pay attention to file size. This is rather unworkable - as the computer bogs down to very slow operations.

The solution is creating very small part files that represent the original - but instead of say 2 MB - it would be like 10k or so. Just a placeholder - which shows relatively accurate dimensions (important for analyzing part interference and fit) - but shows them in the crudest way possible. Such that - say we have a file with 200 parts of 10k each - so the entire assembly remains at only 2MB. As a general practice - files above 50MB are unusable - the practical limit is 10-20MB. But if kept down to around 1MB, navigation is lightning fast and no time is wasted.

We save these small files as individual files, and assemblies of individual files, in the OSE Part Library. Thus, if we want to create an excessively large file - we can handle complex files of hundreds of parts without any visible slowdown of the computer. Read more about our workflow of merging files together - see Merge Workflow.

Working Doc

edit

Notes

  • Note that FreeCAD file size is 2.8k minimum for a cubic shape in the above presentation.
  • Thus, the simplest useful files start at about 10k. Files with about
  • A cube should be only a few bytes - l, w, h. 8 bits are a byte. About 65,000 divisions is 2 bytes (16 bit depth). So each dimension should be stores in 2 bytes. Thus, a cube should be 6 bytes large. If we add angle and position, we have 18 bytes. Thus, memory size of FreeCAD files can be reduced by at least 100x if files were stores in their most efficient form, because minimum file size is on the order of kilobytes, not bytes. Just sayin'.