At 03:40 PM 10/18/01 -0600, Colby Siemer wrote: >Ted, > >The reason Protel will not import the gerber properly is because of the way >the DCodes are done in the CAMTastic version being used. > >Protel needs to have the DCode listed each time, it does not assume the last >used DCode if it is missing. CamTastic only lists it one time until the >code changes then it lists it again.
Note that this refers to the D-Code for flash or for draw, which is D01 or D02, I forget which is which. The line format, at least the usual one, is X[x1]Y[y1]Dnn* where x1 and y1 are integers formatted according to the settings. When you want to examine a file, it can be useful to set zero suppression to none, so every coordinate will be the same length. That makes it easy to set up field in a database. Anyway, the RS-274 standard is that a parameter remains the same unless it is changed. So if you have, for example, two points with the same X coordinate, you could draw a line between the two without having to specify the X coordinate twice. Protel reads this correctly. The same thing is true for the D-codes which specify the aperture. One does not have to specify the aperture over and over again, it simply remains what it was when it was last set. It had never occurred to me that the D-command at the end of the line would be the same way. But it is. A line like X[xvalue]* will either draw or flash depending on the last used D-code. The asterisk is sufficient in that case. (CR/Line Feed is irrelevant to Gerber code as I recall, but it is usually used, makes it much easier to read! And Protel might require it, I think.) I could not see any option in CAMtastic which would control this feature in the output. CAMtastic apparently assumes that it is universally known; indeed, it should be. It was an error for the Protel programmers to assume that imported gerber was Protel-generated. Yes, they might not have wanted to implement the full standard, but this item was trivial. It would probably take me about twenty minutes to write a program to restore the D-codes, and that is long because I haven't done any programming recently, and I tend to make lots of dumb mistakes. If someone has the time and inclination to write it, we could put up a utility to restore the missing D-codes. The algorithm is 1. read line, drop asterisk 2. parse D-code, save as X$ 3. if no D-code, write previous X$ at end 4. add asterisk 5. write line back to 1 until file end. [EMAIL PROTECTED] Abdulrahman Lomax Easthampton, Massachusetts USA * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * To post a message: mailto:[EMAIL PROTECTED] * * To leave this list visit: * http://www.techservinc.com/protelusers/leave.html * * Contact the list manager: * mailto:[EMAIL PROTECTED] * * Forum Guidelines Rules: * http://www.techservinc.com/protelusers/forumrules.html * * Browse or Search previous postings: * http://www.mail-archive.com/[email protected] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
