[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-dev: PCB feature request 856865 or progress on a DXF hid
Hi DJ, Dan and everyone else on the list,
Things are going well considering that I have found ample time to actually
write code during these holidays.
I'm aiming to be compliant with the AutoCAD Release 12 version of DXF, since
all newer versions of AutoCAD et al are capable of parsing the R12 DXF
files.
And not in the least since there once was a *nix version of R12 (the one and
only AutoCAD *nix distro) under HPUX 10.0 running and I wonder if Autodesk
will ever release this version under GPL.
Maybe it's still running somewhere ;-)
What I've done sofar is:
- Copied the bom hid to a dxf hid as a starting point.
- Removed the code for the actual BOM list, for I only need the XY stuff.
- Replaced all bom* stuff with dxf* stuff (namespace).
- Edited the configure.ac and the src/Makefile.am as to include the DXF hid.
Thanks to Dan for pointing this out for me, it took me more than 3 hours
before I asked and five minutes after your reply.
This far I have a working dxf HID that exports a dxf file for insertion of
components (external references to AutoCAD blocks as to build a 3D model of
a populated board).
I still have to evaluate the first dxf file on a windoze box with AutoCAD
2004.
After this I'm starting to add and edit stuff from the gerber HID.
Now for some caveats:
1) Rotation angles of elements:
AutoCAD has a "right-handed" Cartesian Coordinate System, pcb has a
"left-handed" system.
This means that Y-coordinates and rotation angles have to be converted.
This could be solved with some mathematics, should be no problem for now
(probably already solved in Yet Another HID ;-).
AFAIK pcb has 4 Cardinal angles of [0, 90, 180, 270] degrees.
Although I have seen some real life artwork with a TQFP placed at an angle
of 45 degrees, [135, 225 and 315] degrees come to mind as well.
Is this a feature that is going to be implemented in pcb in the foreseeable
future ?
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.
2) Metrification:
Imperial vs. Metric or, more precise, mils vs mm.
Are we (pcb) still going for mils/100 ?
Is metrification a feature that is going to be implemented in pcb in the
foreseeable future ?
For now I have implemented a quick and dirty solution --> #define MILS2MM
(1000/25.4) and #define METRIC 1
Most mechanical engineers (outside the USA and the UK) are using Metric
standards and nowadays the dimensions (of more and more) parts are specified
in mm.
I still have a full week of vacation until January, 8th so I still have time
to add lines of code before I go to sleep.
I expect to release a 0.0.1 version next week, possibly January 6th or 7th.
How should I release the DXF hid ?
Just attach a tarball to an e-mail with some release notes to the geda-dev
mailinglist ??
BTW: are there some pre-alpha testers volunteering ?
Kind regards,
Bert Timmerman.
All the Best wishes for 2007, and happy coding (and of course creating
hardware with "geda and friends" tools).
_______________________________________________
geda-dev mailing list
geda-dev@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev