It does sound like a big job. Though it might not be entirely impossible. The point about which codes to save or not, is not an easy one to answer, especially not in the case you're referring to:
I.e. you want a record of created, modified and/or erased entities, to allow a persistent partial-undo to be performed to any one of the variants?
If that's the case, then the "simplest" solution would be using a wblock (as someone's suggested previously), actually I'd go this route since IMO it's also the "best" solution. Basically, you'd select the object(s) and wblock selected to a new filename (you can calculate such name from something like the current date/time). Then if you need any further data for such (e.g. who performed the change, or any comments made for such), that can be saved into a TXT file with the same name, or you can add it as DWG propery into the WBlocked DWG file through ObjectDBX. All this can quite easily be automated through lisp (both the WBlocked DWG and the TXT). Not to mention, the wblock would handle the "What codes to save out" for you, actually DXFOut would do the same, but if you're doing it RAW in lisp to a txt file - you'd need to figure these out through trial-n-error. Not to mention: those ENames (which can't be read back) still needs to be saved out somehow - they refer to stuff like linked entities / dictionaries / object data / etc. So if you leave such out, you won't be able to return to a exact state for that entity - it might have "lost" some info in such process (this is why I say it would be trial-n-error).
If you're really pressed on disc space, then saving only the actually needed data into a TXT file "might" help ... though I'm not sure it will actually be smaller than the WBlock in all instances. The txt file saved from lisp would be very similar in size to a DXF file (as done through the SaveAs / DXFOut command) - at least if you save all the relevant data such as Layers/Styles/Blocks/Dictionaries/XData/etc. The reason I'm saying this is the DWG file created using WBlock is a normal Binary DWG file, and the newer ACads (I think since 2005) uses a form of compression (similar to ZIP) to reduce the filesize even further, the DXF/TXT on the other hand is very wasteful on space (e.g. in the binary it might use something like 2 bytes to store an integer code for what type of entity it is; but in DXF the entire Entity Name needs to be saved, one byte per letter - not to mention some form of stating what this portion of the file relates to). So even for the possible space-saving by omitting unneeded data, I'd think twice about going this route: lots of work for possibly even larger files.
If you really want it to be as small as possible, then you might rather want to generate a binary file of your own design. And in such case you might have to look into using DotNet (or at the very least some ActiveX streaming library through Visual Lisp). In which case you can even use some compression libraries to make that binary file even smaller than the DWG could possibly be. This I'd go for only as an extreme last resort - if you've got this type of problem with size, then you need to look elsewhere for easier / better / cheaper solutions like buying a NAS box with 16TB of storage
I'm sorry for only replying today, I just returned to work.
I'm feeling guilty for opening this thread now... Is there a limited number of times to ask for help in this place?
The question about notes I think is already solved. The thing about rebuilding the drawings is supposed to be added to a routine I have that handles these development notes.
If I may show here is how it works.
Here are the options to See Notes/add Notes -
"Ver Notas/ Adicionar Notas"I can then choose to add a Note:
Where it says "Criar Imagens?" Means I can choose to take slides of the state of the drawing and "attach" them to the Note.
Numero de Slides a criar? Its for me to input the number of slides I which to create.
When I choose to See the Notes:
The little pull down menu is used to show the slides I saved in the corresponding Note.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I also Have a "Master file" in which I also record at its creation time the notes that describe each drawing so I can later search and open a file I want.
Here is where I input what I want to search. In this case I wrote "Pacheco" which is the name of a person I work for.
If any result is found here is how they appear:
I can than choose to open a file pertaining to a note. In this case Note 37.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What I would like is to replace the slides thing with the "Drawing versions" Idea.
What I'm not understaning about the wblock ideia is how would I compare the wblock entities from a note with new entities?
edit - very informative post, and by the way... what I know about ObjectDBX is I heard the word somewhere
. by the way I also checked and a txt with the entities gets much larger than a dwg.