Difference between revisions of "User:Xuwei/DevLog2019"
From BRL-CAD
(→May 27th) |
(→May 27th) |
||
Line 50: | Line 50: | ||
**dxfdata.cc seems a bit complicated. Need some time to digest. | **dxfdata.cc seems a bit complicated. Need some time to digest. | ||
**The way that libdxfrw reads DXF file is kind of mixing with DRW code. | **The way that libdxfrw reads DXF file is kind of mixing with DRW code. | ||
− | **libdxfrw encounters problems when dealing with elevated arcs(no response yet). [https://sourceforge.net/p/librecad/bugs/596/ | + | **libdxfrw encounters problems when dealing with elevated arcs(no response yet). [https://sourceforge.net/p/librecad/bugs/596/] |
*Looking at dxflib code base as well. | *Looking at dxflib code base as well. | ||
**dxflib does not store any entities, only pass supported entities. | **dxflib does not store any entities, only pass supported entities. | ||
**A useful link for understanding dxflib data structure.[https://qcad.org/doc/dxflib/2.5/classref/class_d_l___dxf.html] | **A useful link for understanding dxflib data structure.[https://qcad.org/doc/dxflib/2.5/classref/class_d_l___dxf.html] |
Revision as of 04:42, 27 May 2019
Contents
Coummunity Bonding Period
- Set up the Development log
- Set up the development environment such as OS.
- Start to look at the different potential libraries code base.
- Discuss with mentors which external library to choose.
May 16th
- Start to check the checklist.
- Agreement sent.
- Dev log created.
- My Profile created.
May 17th
- Had four of my wisdom teeth extracted. The progress for the following week may be slow due to teeth extraction.
May 19th
- Looking at Coin3D/Dime code base, a possible library for DXF import/export.
- It has no external dependency.
- It supports all past and should support the future version of DXF format.
- It compiles on Windows, Linux, MacOS, etc.
- But it only loads DXF files into Dime object hierarchies and saves Dime object hierarchies as files conforming to DXF format.
- Seems only support 3D.
May 20th
- Looking at BRL-CAD DXF import/export code. Trying to understand how it works and see if it is suitable for OpenSCAD.
- It converts DXF format to .g and .g to DXF which is a BRL-CAD format.
- It seems that BRL-CAD does not support the entire format, only the part that is relative to solid-model.
May 21st
- Looking at dxflib which is used by QCAD and works fine, but it only supports 2D which is not ideal since OpenSCAD is already supporting 2D.
- Maybe we can add the 3D part. But not sure how hard it is to add that.
May 22nd
- Searching for a library that supports both 3D and 2D DXF import/export.
- Libraries above are for either 2D or 3D.
- Found some libraries support both but they are written in python instead of C++.
May 23rd
- Continue on searching for the potential library.
May 24th
- Looking at and Compile libdxfrw code base which is used by LibreCAD.
- Will be out of town for the next two days.
Coding Period
May 27th
- Looking at both libdxfrw(libdxfrw.h, dxfreader.cpp) and OpenSCAD(dxfdata.cc, import.cc) relative code.
- Comparing the differences between these two on how they handle DXF data.
- Trying to form a connection between these two.
- dxfdata.cc seems a bit complicated. Need some time to digest.
- The way that libdxfrw reads DXF file is kind of mixing with DRW code.
- libdxfrw encounters problems when dealing with elevated arcs(no response yet). [1]
- Looking at dxflib code base as well.
- dxflib does not store any entities, only pass supported entities.
- A useful link for understanding dxflib data structure.[2]