Full CAD

From Adam Colton
Revision as of 18:28, 29 September 2016 by Adamcolton (talk | contribs) (Created page with "A suite of CAD/CAM tools designed to work together and with the Cobl Workshop. == Core Tools == : Auth ; Either open, password or user. : Circuits ; Simulates circuits, perf...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A suite of CAD/CAM tools designed to work together and with the Cobl Workshop.

Core Tools

Auth
Either open, password or user.
Circuits
Simulates circuits, perform analysis, list parts
Boards
Takes a circuit and lays it out onto a board, either bread, perf, vero or pc.
Solids
Builds solid shapes
Link
Gives physical properties to solids and allows them to be linked together and exposed to forces to simulate motion.
CAM
Takes solids and produces G-Code for machining, 3d-printing or milling
Control
Takes G-code and sends it to a machine, 3d-printer, milling.
MCU
This would be pretty advanced, but simulate micro-controller code. Could even work with Link, if that allowed switches, sensors and motors.

Architecture

Runs as a Go server, use browser and UI. Can run locally or as a remote server. Server configuration will be stored in a Bolt database, projects will be saved in directories.

Circuits

At it's core, this is going to be like spice. However, I want the UI to feel more like the web UI I've used a few times. It should feel like breadboarding.

Components

A component is a set of leads, configuration values and a function that mathematically represents their relationship.

At the root, is a component family which holds the function. Different members of the family can have different configuration settings. Each family has a default which is either the most common instance or an ideal instance. This way, a circuit can be done quickly and simulated without needing to pick out an exact part for each component.

We can also have sub-families (like power-transistor) that still use the same function, but provide new defaults for the configurations and have a different default instance.

At the lowest level, there will be a list of components.

Sub-Circuits

For many IC's, there's a standard circuit. Rather than defining the behavior with a function, we can build the circuit.

Noise

The default setting will introduce a small amount of noise into the circuit. Many circuits (like multi-vibrators) only work with this. It's far more friendly for a beginner to start with a semi-realistic config and have experienced users need to change the settings to simulate true ideal circuits.

Architecture

Of course, the UI is separate from the simulator