I am new to this community so thought I would say hello.
I know nothing about CAD (2d/3d) except that:
1. About 20 years ago I wrote my own software to lay track images for etching PCBs for home electronic projects. Although I did enjoy writing the software, on reflection, I could probably have saved time and done a better job by using free software such as libreCAD. I had never heard of libreCAD until 48 hours ago but many of the design features of my software were similar to those of libreCAD.
2. About 5 years ago I made an investment in a 3d printer that has since been under-utilized. At the time I was not interested in learning how to use 3d input software but limited myself to relatively simple shapes and generated STL files programmatically (i.e., from mathematical equations representing the surface). This worked well for me at the time but only because the parts I needed were simple and easy to generate from an equation. Additionally the STL file is basically just a collection of triangles representing surfaces so the algorithm was simple.
As I get older I made a list of "loose-ends" (peaks that I tried to climb when I was a younger but did not quite reach the top) and becoming more familiar with 2d/3d CAD was next on the list.
The first 2d project I want to do is to write software that will automatically generate a command file so that libreCAD can read the commands, draw the image, then save to DXF (or convert to PDF).
Originally I had been thinking of generating the DXF file programmatically from scratch. However, inspecting the contents of the DXF files that I have generated so far on libreCAD suggests the contents are far more complex than STL and perhaps contain information that is not necessarily used .
Timewise if I can help out in some way with the development effort then I will try to do so. If there is a role currently available that would incidentally help me better understand the internal format of the DXF file then I volunteer!
I found examples of manually input "trivial" DXF files which I tested. Also I found some R12 and V2012. I worked out how to draw grade-level geometric shapes inputting data by hand. The thing I did not get my brain around was what strategic design direction they were going in when they designed these specs.
For example they could have created functions for each of the shapes with a fixed-length record for passing parameters and receiving results (like template). You could easily locate any parameter/result because the record would be fixed.
Instead they seem to have come up with an extremely fluid and dynamic concept of just streaming data interspersed with tags that (hopefully) allow you to determine what the data means while allowing you the flexibility to omit some parameters or in certain cases transmit data blocks in a different order.
I have not seen the full benefits of this yet but it certain seems to have been a very courageous design feature!
While I have your attention may I ask a couple of questions?
- Does anyone know of any copyright-infringement issues when writing software to auto-generate DXF files.
- In future if I have any questions relating to DXF files format could you please advise on the most appropriate forum to call out for help?