libredwg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libredwg] Decode R2004 version


From: Avneet Kaur
Subject: [libredwg] Decode R2004 version
Date: Sun, 16 Jun 2013 20:09:49 +0530

I studied different versions (4.0, 5.1, 5.2, 5.3) of ODA
specifications for .dwg files.
As per specifications of version 5.1 on page number 16, mentioned that
32-bit CRC is used from R2004 onwards.
Currently LibreDWG decodes only 8-bit CRC.


In src/header_variables.spec file, why the starting part is commented
as following:

/*
  VERSION(R_2007)
    {
      FIELD_RL(bitsize);
    }

  FIELD_RL (bitsize);
*/

It is right according to specifications.


Under src/common_entity_handle_data.spec file states the
specifications for common entity data.
Common entity handle data is a next part to it. [See spec 4.0 at page
number 72.]
Filename should be renamed. Is it file complete? Because at that time
when this file was made
specifications was there, then why implementation of some data is
missing like Lineweight, Invisibility and Entmode.
Is there no need to implement it or some other reason?


Currently, Section Page checksum is missing. [See spec 5.1 at page number 24.]

Since some specifications are changed for file header, section map and
section Info when I matched with the code.

Some Data Section needs to be implemented like AcDb:SummaryInfo,
AcDb:Preview, AcDb:history, AcDb:filedeplist.


Conclusion:
1. Implement 32-bit CRC.
2. Add data to common_entity_handle_data.spec and rename this file.
3. Implement Section Page checksum.
4. Implement the header, section map and info with redefined specs.
5.Implement Data Sections.
6. Biggest and major conclusion: Needs Refactoring.

Now give your views and suggestions where I am wrong and which part I
am missing.


--
Avneet Kaur
www.avneetkhasla.wordpress.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]