Todo List

Class hid_gc_struct
In pcb the cap always extends beyond the coordinates given, by half the width of the line.
With DXF polylines the cap is by default 0, and thus doesn't extend beyond the coordinates.
A round cap could be implemented by drawing a donut (a series of polyline vertices) with an inner radius of zero at the start and endpoint of a line, this doesn't solve the problem for other aperure shapes, and is thus not yet implemented.

File dxf.c

Global DXF_DEFAULT_HATCH_PATTERN_NAME
For now the hatch pattern name is set to "SOLID".
If pcb is ever to have thieving implemented, a hatch pattern name field has to be added to the graphic context.

Global DXF_DIR_SEPARATOR
This has to be solved in a more elegant manner if we want to use DXF file on *nix based CAD software.

Global dxf_draw_arc
The elliptic arc entity has to be replaced by a polyline with the correct line width (trace width).

In the case of a series of trace segments, continue with a vertex from the last XY-coordinates.
While the conditions for starting or continuing are simple to determine:
if ((x1, y1) == dxf_lastX, dxf_lastY)) ...
The caveat is how to determine when to close the polyline sequence (with an ENDSEQ marker) after the last vertex (endpoint of the last trace segment).

The end cap style has to be implemented at the start and end point of a trace.

Global dxf_draw_line
In case of a series of trace segments, we have to continue with a vertex from the last XY-coordinates.
While the conditions for starting or continuing are simple to determine:
if ((dxf_x1, dxf_y1) == dxf_lastX, dxf_lastY)) ...
The caveat is how to determine when to close the polyline sequence (with an ENDSEQ marker) after the last vertex (endpoint of the last trace segment).
One approach could be to close the series when the start coordinates of the new (to be drawn) trace segment do not coincide with the endpoint of the previously used trace segment (dxf_last[X. Y] values).
This however would not be a solution for a branching trace segment or the last trace segment to be drawn on that particular layer.
For the last trace segment to be drawn on a particular layer, we would have to check if the layer didn't change since the last trace segment was drawn.

Global dxf_draw_line
Someday we have to do something here with multiple trace segments here, the problem for now is how to determine when the last trace segment was passed.

Global dxf_draw_line
This end cap style has yet to be implemented at the start and end point of a trace. Note: done for ROUND and SQUARE.

Global dxf_fill_circle
Implement a donut (polyline) instead of a circle.

Global dxf_set_layer
this output should go to file in whatever form instead of being put on stderr.

Global dxf_set_layer
this output should go to file in whatever form instead of being put on stderr.

Global dxf_set_layer
this output should go to file in whatever form instead of being put on stderr.

Global dxf_set_layer
FIXME: probably a decent return code needs to be added here.

Global dxf_write_block
Add group code 102 stuff.

Global dxf_write_circle
The CIRCLE entity has to be replaced by a POLYLINE entity with the correct line width (trace width).

The CIRCLE entity is to be used for (unplated) drill holes only. In the mechanical CAD program these circles (drill holes) can be extruded to the board thickness and subtracted from the extruded pcb outline.

Global dxf_write_ellipse
The ellipse entity has to be replaced by a polyline with the correct line width (trace width). When we figured out how to draw a polyline (with vertices) for an arc (part of a circle) or an elliptical arc (part of an ellipse). This function will then become obsolete.

Global dxf_write_hatch
writing a hatch with a number of hatch_seed_points > 0 is creating a segmentation fault in the dxf hid (and thus pcb).

Global dxf_write_table_block_record
Code it !! Make it happen !!

Generated on Sat Nov 10 10:25:26 2007 for PCB-DXF-HID by  doxygen 1.4.6