Dot Width
Some laser writers use zero width paths with a single point as a dot. These dots may scarcely be visible, in particular if these dots are located on a grid. To make dots better visible this macro will set a width to it.
Download: pathDotWidth.layout
1 #!/usr/bin/layout
2 #name=path dot
3 #help=set the width of pathes with a single point or two identical points
4
5 int main() {
6 // get first cell
7 cellList *cells=layout->drawing->firstCell;
8
9 // loop over all cells
10 while (cells!=NULL){
11 if (cells->thisCell!=NULL){
12 // get first Element of this cell
13 elementList *l=cells->thisCell->firstElement;
14
15 // loop over all elements
16 while (l!=NULL) {
17 if (l->thisElement!=NULL) {
18
19 // if element is a path with a width less than 0
20 if ( l->thisElement->isPath() ){
21 pointArray pa=l->thisElement->getPoints();
22 bool change=false;
23 if (pa.size()==2){
24 if (pa.point(0)==pa.point(1)){change=true;}
25 }
26 if (pa.size()==1){change=true;}
27 if (change) {
28 // setWidth
29 l->thisElement->setWidth(1000);
30 l->thisElement->setCap(1);
31
32 // reset width to zero
33 //l->thisElement->setWidth(0);
34 //l->thisElement->setCap(0);
35 }
36 }
37 }
38 l=l->nextElement;
39 }
40
41 //round all selected elements
42 cells->thisCell->roundSelect(10);
43 cells->thisCell->deselectAll();
44 }
45 cells=cells->nextCell;
46 }
47 }
48