Editing User:Xuwei/DevLog2019

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 211: Line 211:
 
* Learning the insert spec from dxf manual
 
* Learning the insert spec from dxf manual
  
===July 14th===
+
===July 15th===
 
* Fix the block list and curr_block is not storing value properly
 
* Fix the block list and curr_block is not storing value properly
* There is an infinite loop caused by the file offset in the process_enitites_unknown
+
* There is an infinity loop caused by the file offset in the process_enitites_unknown
** It jumps to the previous line but does not jump back
+
** It jumps to the preivous line but does not jump back
 
* Continue on fixing insert
 
* Continue on fixing insert
  
===July 15th===
+
===July 16th===
 
* Clean up most of the commented code in dxf.cc and dxf.h
 
* Clean up most of the commented code in dxf.cc and dxf.h
 
* fix the curr_block memory issue by using a global variable indx that indicate the position of the block in block_list
 
* fix the curr_block memory issue by using a global variable indx that indicate the position of the block in block_list
 
* Continue on fixing insert
 
* Continue on fixing insert
  
===July 16th===
+
===July 17th===
 
* Adding back_file_offset to state_data to have the program jump back
 
* Adding back_file_offset to state_data to have the program jump back
 
** Still getting the wrong result, the geometries are scattered but shapes are the same.
 
** Still getting the wrong result, the geometries are scattered but shapes are the same.
 
* Continue on fixing insert
 
* Continue on fixing insert
  
===July 17th===
+
===July 18th===
 
* replace all memory allocation function related to insert with new and delete
 
* replace all memory allocation function related to insert with new and delete
 
** valgrind now output no error or warning
 
** valgrind now output no error or warning
 
* Continue on fixing insert
 
* Continue on fixing insert
  
===July 18th===
+
===July 19th===
 
* Download and build brlcad to test out what's the difference and if it can output the correct result
 
* Download and build brlcad to test out what's the difference and if it can output the correct result
 
** There is no problem with the curr_state->file_offset
 
** There is no problem with the curr_state->file_offset
 
* Continue on fixing insert
 
* Continue on fixing insert
  
===July 19th===
+
===July 20th===
 
* Found that the brlcad xform is different than my version.  
 
* Found that the brlcad xform is different than my version.  
 
** Can't figure out why it's different
 
** Can't figure out why it's different
 
* Continue on fixing insert
 
* Continue on fixing insert
  
===July 20th===
+
===July 21th===
 
* Found the BU_LIST_POP actually assign curr_state to the last element of the list
 
* Found the BU_LIST_POP actually assign curr_state to the last element of the list
 
** This fix the infinity loop and remove back_file_offset.
 
** This fix the infinity loop and remove back_file_offset.
 
* Continue on fixing insert
 
* Continue on fixing insert
  
===July 21st===
+
===July 22th===
 
*By switching the push_back and new_state = curr_state this fix the xform problem.
 
*By switching the push_back and new_state = curr_state this fix the xform problem.
 
** Insert is fixed but it looks there is an issue with different compiler
 
** Insert is fixed but it looks there is an issue with different compiler
 
===July 22nd===
 
*Cleaning up dxf.cc, import-dxf.cc, dxf.h.
 
 
===July 23rd===
 
*Finished cleaning up dxf.cc, import-dxf.cc, dxf.h.
 
* Make [https://github.com/openscad/openscad/pull/3005 #pr3005] to test in various platform.
 
 
===July 24th===
 
*Fix scale, xyorigin, layername problem.
 
*Test result [https://github.com/openscad/openscad/pull/3006]
 
 
===July 25th===
 
* Starting working on spline entity.
 
* Reading spline related code on QCAD.
 
* Learning dxf spline entity spec.
 
 
===July 26th===
 
* QCAD is using an external library opennurbs to deal with the spline.
 
* Reading spline related code on BRL-CAD.
 
** BRL-CAD code can be implemented on openscad.
 
 
===July 29th===
 
* Replicate and integrate brlcad spline code to openscad.
 
 
===July 30th===
 
* Continue integrating blrcad spline code to openscad.
 
 
===July 31st===
 
* Testing brlcad code with openscad, comparing with brlcad and qcad.
 
** Creating test cases using AutoCAD.
 
** Both brlcad and qcad seems to not supporting the spline created by autocad properly due to dxf version problem.
 
** brlcad encounter segmentation fault with one of the spline test cases.
 
 
==August==
 
 
===August 1st===
 
* Switch to reading LibreCAD spline related code.
 
** LibreCAD 2.x version is using their own code.
 
* Also reading openscad bezier curve related code.
 
 
===August 2nd===
 
* LibreCAD can handle the spline created by autocad unlike brlcad and qcad.
 
* OpenSCAD code can handle degree 2, 3 normal spline(Beizer curve) properly.
 
** Starting adding openscad code to import_dxf.
 
 
===August 3rd===
 
* Modified openscad code and integrated it to import_dxf.
 
 
===August 4th===
 
* Testing the spline import of openscad
 
** Able to import 3 control points for degree 2 spline and 4 for degree 3 spline.
 
** Fail to generate continuous bezier curve.
 
 
===August 5th===
 
* Trying to figure an algorithm or a way to generate continuous bezier curve like this [https://www.algosome.com/articles/continuous-bezier-curve-line.html article].
 
 
===August 6th===
 
* OpenSCAD is now able to import degree 1-3 spline with certain numbers of control points.
 
** spline knots, weights, fit points are ignored.
 
 
===August 7th - 14th===
 
* Family trip.
 
* Originally from 7th-12th, due to the riots in Hong Kong airport and the typhoon in Osaka, flight got cancelled and delayed. ** Due to the typhoon, updated flight time is 16th.
 
 
===August 15th===
 
* Starting working on polyline entity.
 
 
===August 16th===
 
* Rearrange code and fix error in storing polyline vertex in the importer.
 
* On the flight home
 
 
===August 17th===
 
* Integrate 2D polyline entity to openscad ignoring 3D polyline features and curve-fit.
 
 
===August 18th===
 
* Improve polyline with the spline-fit flag, can generate by both spline vertex and control points.
 
* Test polyline.
 
* Add test cases to the test suite.
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)