svg in fritzing: a case study - svg open

25
Mountain View, CA, USA, Oct 2-4 2009 Mountain View, CA, USA, Oct 2-4 2009 SVG in Fritzing: A Case Study by by Jonathan Cohen Mariano Crowe Brendan Howell - - - [email protected] [email protected] [email protected]

Upload: others

Post on 13-Feb-2022

50 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SVG in Fritzing: A Case Study - SVG Open

Mountain View, CA, USA, Oct 2-4 2009

Mountain View, CA, USA, Oct 2-4 2009

SVG in Fritzing: A Case Studyby

by

Jonathan CohenMariano Crowe

Brendan Howell

---

[email protected]@[email protected]

Page 2: SVG in Fritzing: A Case Study - SVG Open

SVG in Fritzing: A Case Study

or...

Page 3: SVG in Fritzing: A Case Study - SVG Open

SVG in Fritzing: A Case Study

or...

SVG and Fritzing:A Love/Hate Relationship

SVG and Fritzing:A Love/Hate Relationship

Page 4: SVG in Fritzing: A Case Study - SVG Open

What's Fritzing?

From Prototype to Product

Page 5: SVG in Fritzing: A Case Study - SVG Open

What's Fritzing?

Page 6: SVG in Fritzing: A Case Study - SVG Open

What's Fritzing?

Page 7: SVG in Fritzing: A Case Study - SVG Open

What's Fritzing?

Page 8: SVG in Fritzing: A Case Study - SVG Open

Why SVG for Fritzing?

Bitmaps:● Poor performance● Aliasing artifacts when scaling

Bitmaps:● Poor performance● Aliasing artifacts when scaling

Page 9: SVG in Fritzing: A Case Study - SVG Open

Why SVG for Fritzing?

SVG:● Fast rendering● Scaling with no degradation● Real world units● Our users already use SVG editing tools● XML manipulation

SVG:● Fast rendering● Scaling with no degradation● Real world units● Our users already use SVG editing tools● XML manipulation

Page 10: SVG in Fritzing: A Case Study - SVG Open

Parts and Sketches

DEMO

Page 11: SVG in Fritzing: A Case Study - SVG Open

SVG/Part Relation: Views

<?xml version='1.0' encoding='UTF-8'?><module ... ><meta-data><.../>

</meta-data><views><iconViewimage="icon/LED-red-5mmicon.svg" .../>

<breadboardViewimage="breadboard/LED-5mm-red.svg" .../>

<schematicViewimage="schematic/led.svg" .../>

<pcbViewimage="pcb/T1.75_LED.svg" .../>

</views><connectors><.../>

</connectors></module>

Page 12: SVG in Fritzing: A Case Study - SVG Open

SVG/Sketch Relation: Layers

<svg ... ><g id="silkscreen"><.../>

</g><g id="copper0"><.../>

</g></svg>

relay-footprint.svg

Page 13: SVG in Fritzing: A Case Study - SVG Open

Parts Problems

● We can't make all the parts users will need● Make it easy for the users to create new parts

Page 14: SVG in Fritzing: A Case Study - SVG Open

Solution: Parts Editor

● Create art with familiar tools (inkscape & illustrator)● Parts editor handles xml markup

so users don't have to

Page 15: SVG in Fritzing: A Case Study - SVG Open

Solution: Parts Editor

● Create art with familiar tools (inkscape & illustrator)● Parts editor handles xml markup

so users don't have to

DEMO

Page 16: SVG in Fritzing: A Case Study - SVG Open

Solution: Parts Editor

● Create art with familiar tools (inkscape & illustrator)● Parts editor handles xml markup

so users don't have to

(svg renderer)

Page 17: SVG in Fritzing: A Case Study - SVG Open

Parts Editor

Complications:● illustrator idiosyncrasies● inkscape idiosyncrasies● Qt idiosyncrasies

Page 18: SVG in Fritzing: A Case Study - SVG Open

Parts Editor

Complications:● illustrator idiosyncrasies● inkscape idiosyncrasies● Qt idiosyncrasies

(svg renderer)

clean

prepare

Page 19: SVG in Fritzing: A Case Study - SVG Open

Export

● svg● png● jpg● ps● pdf ● Gerber

Page 20: SVG in Fritzing: A Case Study - SVG Open

Exporting to Gerber

Steps:● Normalize elements● Translation to absolute coordinates● Convert wires to line elements

● Change strokes and fill attributes● Hide unused layers● Gerber “walkthrough”

Page 21: SVG in Fritzing: A Case Study - SVG Open

Exporting to Gerber

Fritzing Gerber Viewer

Page 22: SVG in Fritzing: A Case Study - SVG Open

CONCLUSION

Love:● Fast rendering● Smooth scaling● Real world units● Programmatic manipulation of images

Hate:● No standard standard (validation)● No standard toolkit (c++)

Page 23: SVG in Fritzing: A Case Study - SVG Open

THANKS!

www.fritzing.orgcode.google.com/p/fritzing

www.fritzing.orgcode.google.com/p/fritzing

Page 24: SVG in Fritzing: A Case Study - SVG Open

THANKS!

Questions?

www.fritzing.orgcode.google.com/p/fritzing

www.fritzing.orgcode.google.com/p/fritzing

Page 25: SVG in Fritzing: A Case Study - SVG Open

THANKS!

Bon appetit!

www.fritzing.orgcode.google.com/p/fritzing

www.fritzing.orgcode.google.com/p/fritzing