turdusmerula / kipartman Goto Github PK
View Code? Open in Web Editor NEWKicad parts manager and BOM extension tool
License: GNU General Public License v3.0
Kicad parts manager and BOM extension tool
License: GNU General Public License v3.0
As discussed in #4
We can now successfully populate kicad fields from kipartman data in realtime
HD MP4 version of above GIF @ https://vimeo.com/247526685
This Enhancement is in prototype so is immature (not fully developed) but stable for component Properties Edit, Kicad Eeschema. This enhancement at present will only work in a Windows environment, . As such I think it should stay on a development branch. It will expand, mutate and change, I will sync it with master periodically. For the moment I have published to my Fork https://github.com/auphofBSF/kipartman/tree/FEATURE17W48-KICADlink-Eeschema.
The python classes I am using are developing for linux as well, and MSW specific functions are separated. The method to do the integration with kicad is using the UIA (User interface Accessibility) interfaces to monitor for window/dialog s ,to then parse and automate there field manipulation. This enhancement adds multi-process and threads to improve and isolate functionality for smooth UI processing between Kicad and Kipartman
Handle corner cases, Kicad not running and Kicad Eeschema (Schematic) , fields not defined
Kicad Eeschema add component to schematic - Automate Dialog from Kipartman
Kicad Eeschema schematic Component Table View - Automate Dialog from Kipartman
Ideally there should be better API and extension support in eeschema,
see: http://docs.kicad-pcb.org/doxygen/v5_road_map.html#v5_sch_plugin
When switching back from flat to tree mode in part view kipartman gets stuck somewhere.
There is still items to be added to the configuration windows:
These two columns are important, they should be available on the part list
The ability to do an action on multiple parts
Use Case | Detail |
---|---|
Delete Multiple | implemented in commit 3851af5 |
Drag Multiple to a category | TODO: |
What else ?
What to watch for ?
Add a way to build kicad library folders from models and footprints stored in kipartman.
Kipartman fails around checking for currencies if internet connection is down
Look at handling , Startup, Octopart and SnapEDA queries in event of internet connection unavailable
see: a simple fix, I will raise it as a Pull Request for Master
[IMP] Error Handler if running without Kicad pcbnew eb3b0cf
The REST api handles correctly adding several times a part to another, however the gui should pre-check this to avoid viewing bugs.
I would be interesting to have more filtering options when searching for a part, for exemple searching for a specific parameter (ex: 10kΩ)
Allow to automatically group parts upon some criteria inside a metapart:
For example a 10k - 0805 metapart could match all parts with :
And another part 10k - 0805 - 1% would match all parts with matching parameters:
Currently when sorting column sort is only made by alphabetic order event if column contain numbers.
Provide a means for exporting and importing of parts lists.
I have already a working prototype with export to csv or SQL database and import from SQL through a plugin architecture. It has all the core parts but is currently hardcoded into Kipartman for SQLimport, I have a few tidyup's todo and I will publish in the next day or 2 a working branch with this support for comment and possible integration.
1 populate kipartman parts list with existing detailed inventory in my MRP system (maintained in Odoo)
2 retrieve in kipartman component data using the octopart / snapeda interfaces
3 automatically populate the @http://joshuacox.github.io/bomsaway schematic component selection tool
1 update the Odoo MRP bom directly from (Git version controlled schematic / pcb)
2 update Odoo MRP database with a richer component data
OctopartExtractor Method GetUnits catching error for unit not in kipartbase.
A TODO: is marked in code to create unit if not found.
Commit f7cc013
improves the warning/error displayed and updates todo
Does the Api need extending with a add_unit method ?,
Will this be a Swagger spec to be created ?
In testing #8 Drag and Drop functionality in Parts Tree seemed to be missing these usecases.
USE CASE: 1. Drag a part in the tree_parts onto an line that is a Category Path
Essentially changing a parts category
USE CASE: 2. Drag a category in the tree_parts onto a line That is a Category path
Essentially changing all items to a sub category of the selected Category path
This works on the Categories Tree
see kipartman/frames/parts_frame.py
#TODO: comments 5f3a8f4
Adding a part to itself should be forbidden as it corrupts the database.
This is a regression, checks are already implemented but not working well.
Dragging part over category items (Left pane) indicates no options
However dragged to the top of frame displays + on the floating tooltip and then usually drags into the top most displayed category but not always
Trying to debug various other issues with Drag and Drop . I have some patches that improve error handling and debugging I will publish as pull requests, but as yet no solution.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.