ObjectARX
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Drawing file history

9 REPLIES 9
SOLVED
Reply
Message 1 of 10
alex_b
725 Views, 9 Replies

Drawing file history

Hi,

 

It may be a weird question, but here it is:

Is there a way to identify if the dwg file was created from scrap or was spawned from another file?

Also is there other related data saved in the dwg file?

 

Thank you,

 

alex

9 REPLIES 9
Message 2 of 10
owenwengerd
in reply to: alex_b

The answer depends on the contents of the files, and yes there is "other related data" saved in .dwg files.

--
Owen Wengerd
ManuSoft
Message 3 of 10
alex_b
in reply to: owenwengerd

Owen,

 

Thank you for your answer. Of course it raises more questions:

Could you share additional details: how does it depend on file contents, what additional data is saved, etc.

Is there a API for this data?

Where is it saved, Dictionary?

Of course, if there exists any documentation on this, a pointer to it will suffice.

 

Thanks,

 

alex

Message 4 of 10
owenwengerd
in reply to: alex_b

There isn't any way to answer your vague questions without trying to guess at your goals. It's usually better to explain the underlying problem, then ask how to solve it.

--
Owen Wengerd
ManuSoft
Message 5 of 10
alex_b
in reply to: owenwengerd

Owen,

 

The current problem is to check if a dwg file was created from scrap or was spawned; how it was spawned: SaveAs, WBlock or plain FileCopy (probably impossible); get a list of parent files (probably impossible); how long the file was open in the editor (not necessaryly TDINDWG if it was spawned from another).

In addition and more generally, I am intersted in the subject of inherited information in a dwg file in a theoretical way, so I'll appreciate any info on the subject.

I am aware of the fact that it is possible to trace the origin of objects in dwg, using the ID numbers and prove that an object in dwg B actually originated in dwg A, but this is not what I have in mind at the present time. The info I need is at the file level.

 

Thank you,

 

alex

Message 6 of 10
owenwengerd
in reply to: alex_b

It sounds like you are interested in information about forensic analysis of .dwg files. I don't think you'll find much specific information on the subject. There is no such thing as unimpeachable information about ancestry stored inside a .dwg file; it must be deduced.

 

In my experience, there are always ways to ascertain with varying degrees of certainty where a specific file came from and even it's history, but these kinds of things are very case-specific, and depend on the exact versions of the files involved, their content, the availability of ancestral files for comparison, the level of cooperation by the file creators, etc. Sometimes entity handles are sufficient to establish a file's ancestry to a high degree, but there are many other things in .dwg files, both documented and undocumented, that can be used to build a case.

--
Owen Wengerd
ManuSoft
Message 7 of 10
alex_b
in reply to: owenwengerd

Owen,

 

Forensics is not my intention. I am sorry if I was misleading in my questions.

Anyway, I am aware of your work on the subject and wouldn't presume to compete.

My needs are simple:

- detect whether a drawing file is a 1st generation file, created with the NEW command.

- if not, get the time spent in the file without the time its ancestors accumulated.

I'll apreciate any information/documentation on the subject.

 

Thank you

 

alex

Message 8 of 10
owenwengerd
in reply to: alex_b

You can of course use TDCREATE to determine when a file was created with the NEW command. I guess you're specifically thinking about the case where an existing file is forked, and wanting to determine the value of TDINDWG at the time of the fork. You can deduce common ancestry (i.e. you can know that two files came from the same source), but there is no way to do deduce absolute time only from the contents of a standard file. This kind of thing requires electronic document management software.

--
Owen Wengerd
ManuSoft
Message 9 of 10
alex_b
in reply to: owenwengerd

Owen,

 

As TDCREATE is unchanged across WBLOCK and SAVEAS, there is no help there, except common ancestry.

So, problem resolved but not solved.

Well, can't win them all.

 

Thank you for your help

 

alex

Message 10 of 10
alex_b
in reply to: alex_b

Just a thought:

On the other hand, given the precision of the time sysvars, if two files have the same TDCREATE, I think it is reasonably certain that they have the same ancestry, at least in the same location.

Well, maybe not in court, by I am not looking to that aspect.

 

alex

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

”Boost