Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import KiCAD/Eagle schematics/boards #14

Open
abetusk opened this issue Jan 17, 2015 · 4 comments
Open

Import KiCAD/Eagle schematics/boards #14

abetusk opened this issue Jan 17, 2015 · 4 comments

Comments

@abetusk
Copy link
Owner

abetusk commented Jan 17, 2015

I'm not sure Eagle2Kicad has board conversions, so that might need to be extended.

priority:low
estimate:10

@abetusk
Copy link
Owner Author

abetusk commented Mar 31, 2015

priority: medium
estimate: 10

@apla
Copy link

apla commented Dec 2, 2017

Hi, probably it is too late, but I have viewee project which can convert some pcb formats into readable structure. Currently I'm in process of refactoring it, adding tests and parsing additional pcb formats. Project repository.

@abetusk
Copy link
Owner Author

abetusk commented Dec 2, 2017

This issue wasn't very well documented but the intent was to convert Eagle/KiCAD into a format that MeowCAD would accept. MeowCAD has a JSON format derived from the (old) KiCAD representation for components schematics and footprints for PCBs.

The conversion from Eagle or KiCAD to a format that MeowCAD would accept would require this conversion to JSON.

Can you discuss how viewee could be used to do this conversion or how viewee fits in?

@apla
Copy link

apla commented Dec 2, 2017

Yes, sure, we can discuss. Viewee internal representation of board data is quite simple:

var boardData = {
	// copper wires etc...
	signals: {
		'<signal-name>': {
			wires: [],
			vias: [],
			polys: [],
			texts: [],
		}
	},
	// all non-copper things in silkscreen or outline or docs
	plain: {
		wires: [],
		texts: [],
		holes: [],
		polys: []
	},
	// component instances, such as R15 of 0603
	elements: {
		'element-id': {
			// for inline packages like kicad or easyeda
			pkg: {
				smds: [],
				wires: [],
				texts: [],
				pads: [],
				polys: [],
				holes: []
			},
			// for referenced packages like eagle
			pkg: '0603'
		}
	},
	// packages by name for referencing from elements
	packagesByName: {
		'0603': {
			smds: [],
			wires: [],
			texts: [],
			pads: [],
			polys: [],
			holes: []
		}
	}
}

Rendering is little complicated because viewee supports canvas and svg, backed by base renderer. Drawing primitives contains coordinates, rotation, width and some other parameters (for example).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants