Hi DJ, Both, exporting elements is just a beginning, traces are following.
Elements were easy to implement, almost everything I needed was in the BOM HID. Now for traces, that is a complete different challenge. Standard DXF (AutoCAD) lines, arcs etc. have no notion of width. In the Autodesk universe every linewidth is related to a color = pen number (remember pen plotters). AutoCAD has 254 colors (pen numbers) each to be assigned with a "pen width", the AutoCAD "thickness" is to be refered to as the Z-value (copper weight). The only AutoCAD entity which has a defined notion of "width" and "thickness" is the polyline (which can be an arc as well). Each polyline can hold several (do not have to be adjacent) vertices (even branches are possible), and every vertex has a starting width and an ending width (tapered). So all traces of (a single net on) a single layer can be just one polyline. For now let's just start exporting traces of polylines with a single vertex. As for angles I will change to using math as not to break stuff in the future. Thanks for pointing me to existing defines MIL_TO_MM and MM_TO_MIL, as I searched for them, I see they live in const.h I have given myself a week to copy and rework the code from the gerber hid, and then check for proper behaviour and working (validation). And write some release notes or a howto. BTW: all relevant comments are in doxygen style if that is no problem. Kind regards, Bert Timmerman. -----Oorspronkelijk bericht----- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens DJ Delorie Verzonden: zondag 31 december 2006 20:24 Aan: [email protected] Onderwerp: Re: gEDA-dev: PCB feature request 856865 or progress on a DXF hid > - Removed the code for the actual BOM list, for I only need the XY stuff. You're exporting the elements, and not the traces? > AFAIK pcb has 4 Cardinal angles of [0, 90, 180, 270] degrees. No, PCB allows for any angle. We just don't use it for elements yet. The exception is the "TDir" (text direction) flag, which is 0, 1, 2, or 3, but that doesn't rotate the element itself, just the text label. > For now I have implemented a quick and dirty solution --> if (theta == > 0.0) dxf_rot_angle = 90.0; else if ... etc. > > And it shouldn't be to hard to add another 4 "else if" statements with > precooked angles when intercardinal angles are implemented. Please use math instead, if you're referring to PCB angles. > Are we (pcb) still going for mils/100 ? PCB's internal units are 1/100 mil (0.000010 inch). You may convert that to whatever units your output format needs. > Is metrification a feature that is going to be implemented in pcb in > the foreseeable future ? Please use COOR_TO_MM and MM_TO_COOR if you need metric. Note that lesstif HID also has PCB_TO_MM and MM_TO_PCB. > For now I have implemented a quick and dirty solution --> #define > MILS2MM > (1000/25.4) and #define METRIC 1 We have a MIL_TO_MM and MM_TO_MIL already. _______________________________________________ geda-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev _______________________________________________ geda-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
