From 882bf14a8df67e7a3d703bf4acb37650cefbe9f8 Mon Sep 17 00:00:00 2001 From: Hiroshi Murayama Date: Sun, 15 Sep 2019 21:31:39 +0900 Subject: change README --- README.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6c879f2..8deccd0 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ This example board image is generated by following scripts from [these source da - [imaging script](https://github.com/opiopan/pcb-tools-extension/blob/master/examples/genimage.py)

-description +description

## Notes @@ -159,7 +159,7 @@ pcb-tools-extension generate data block stream to focus equivalence of final ima There are some difference between input data and output data as below. - **File Scope Modifier [RS-274x]**
- Sometimes, commands that affect entire image and should be specified only once in a file, such as ```MI``` (Mirror Image) command, cause contradiction when multiple gerber file are merged.
+ Commands that affect entire image and should be specified only once in a file, such as ```MI``` (Mirror Image) command, sometimes cause contradiction when multiple gerber file are merged.
For example, when mergeing a file containing ```%MIA1B0*%``` command and a file containing ```%MIA0B1*``` command, which command should remain as output? Of cause, it is impossible that generate correct merged image by specifiing any ```MI``` command.
pcb-tools-extension translate coordinate data reflecting these file socpe modifier to address this probrem, then ommit these modifier command.
@@ -172,12 +172,21 @@ There are some difference between input data and output data as below. - Ommited coordinate values are compensated. - Leading zeros are ommited. +- **Single Quadlant mode [RS-274x]**
+ Cercular interpolation coordinate data in single quadlant is difficult to rotate, because circular arc may pass across two quadlants after rotation.
+ In order to avoid this problem, pcb-tools-extension change single quadlant mode coordinates specification to multi quadlangt mode. + +- **NC controll command [Excellon]**
+ Form histrical reason, Excellon NC controll format is used to specify drill information to PCB fabricator.
+ On the other hand, from PCB fabricator point of view, they don't need information other than geometric information, such as drill speed. Because these NC controll sequence doesn't send to NC machine directly, PCB fabricator import customers excellon NC file to their CAD / CAM to pnaelize and check, then they export NC controll data for their NC machine.
+ pcb-tools-extension ommit all NC command which do not contribute to geometry expression. Specifically, only tool definitions (diametor of drill), tool selections, drilling coordinates, and routing paths are output. + - **Unimportant Command [RS-274x, Excellon]**
Commands not affecting final image such as comment are ommited. ### Negative image polarity Sometimes, ```%IPNEG*%``` is specified at header of RS-274x file to create negative image.
-As mentioned [above](#Equivalence%20of%20output), ```IP``` command is ommited when pcb-tools-extension generate output file. In this case, image polarity is nagated by using ```LP``` command. However this generated file doesn't equal to original file since it does'nt contain base dark image.
+As mentioned [above](#Equivalence%20of%20output), ```IP``` command is ommited when pcb-tools-extension generate output file. In this case, image polarity is nagated by using ```LP``` command. However this generated file doesn't equal to original image since it does'nt contain base dark image.
Please merge base dark rectangle explicitly when you handle negative image file as below. ```python @@ -195,7 +204,7 @@ ctx.merge(metal) ### RS-274x pcb-tools-extension cannot handle all commands that the RS-274x parser implemented in -[pcb-tool](https://github.com/curtacircuitos/pcb-tools) doesn't handle so far.
+[pcb-tools](https://github.com/curtacircuitos/pcb-tools) doesn't handle so far.
From the imaging point of view, pcb-tools-extension has following limitations. - Files contains ```IJ``` and ```IO``` commands, that affect entire image, cannot be handled correctly. @@ -203,7 +212,7 @@ From the imaging point of view, pcb-tools-extension has following limitations. - Aperture block defined by ```AB``` command cannot be handled correctly. ### Excellon -pcb-tools-extension extends excellon parser in [pcb-tool](https://github.com/curtacircuitos/pcb-tools) to support routing operation. However following limitations still remain. +pcb-tools-extension extends excellon parser in [pcb-tools](https://github.com/curtacircuitos/pcb-tools) to support routing operation. However following limitations still remain. - User defined stored pattern defined by ```M99``` command cannot be handled. - Canned text specified by ```M97``` command cannot be handled. -- cgit