Full CAD
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