OSEDev Workbench: Difference between revisions
Jump to navigation
Jump to search
Lex Berezhny (talk | contribs) No edit summary |
Lex Berezhny (talk | contribs) mNo edit summary |
||
Line 1: | Line 1: | ||
Workbench for FreeCAD integrating with [[OSEDev]] to provide for collaborative development, parts catalog management and versioning. | Workbench for FreeCAD integrating with [[OSEDev]] to provide for collaborative development, parts catalog management and versioning. | ||
= Status & Links = | = Status & Links = | ||
* GitHub: https://github.com/damoti/osedev-workbench | * GitHub: https://github.com/damoti/osedev-workbench | ||
* Issues: https://github.com/damoti/osedev-workbench/issues | * Issues: https://github.com/damoti/osedev-workbench/issues | ||
= Minimum Viable Product = | = Minimum Viable Product = | ||
Line 61: | Line 63: | ||
##### upload file and generated artifacts to S3. | ##### upload file and generated artifacts to S3. | ||
#### Notify user that their changes were uploaded and lock released. (FreeCAD UI will reflect this) | #### Notify user that their changes were uploaded and lock released. (FreeCAD UI will reflect this) | ||
= Part Processing = | = Part Processing = | ||
Line 68: | Line 71: | ||
# generate STL and run [https://github.com/sshirokov/csgtool diff tool]. see github for inspiration: [https://github.com/blog/1633-3d-file-diffs 3d file diffs] | # generate STL and run [https://github.com/sshirokov/csgtool diff tool]. see github for inspiration: [https://github.com/blog/1633-3d-file-diffs 3d file diffs] | ||
# create version record and save change comment. | # create version record and save change comment. | ||
= Future = | = Future = | ||
Line 77: | Line 81: | ||
# Download older versions of parts. | # Download older versions of parts. | ||
# One click sharing of screenshot of your FreeCAD model view in chat. simple way to draw on screenshot (just single color/brush size and bitmap if that's easier). | # One click sharing of screenshot of your FreeCAD model view in chat. simple way to draw on screenshot (just single color/brush size and bitmap if that's easier). | ||
=Icons= | =Icons= | ||
*https://drive.google.com/drive/u/0/folders/0B7pE5Y9PpJCXRkxCSG1OcEpCVFk | *https://drive.google.com/drive/u/0/folders/0B7pE5Y9PpJCXRkxCSG1OcEpCVFk | ||
=Comments= | =Comments= |
Revision as of 19:43, 21 November 2017
Workbench for FreeCAD integrating with OSEDev to provide for collaborative development, parts catalog management and versioning.
Status & Links
- GitHub: https://github.com/damoti/osedev-workbench
- Issues: https://github.com/damoti/osedev-workbench/issues
Minimum Viable Product
- Login mechanism
- FreeCAD
- Dialog to let user enter their osedev.org user/name password, which is only saved in memory for the duration of FreeCAD process.
- Open and maintain websocket connection. websocket-client Send upon connection:
- Username/password
- Assembly 2 WB version (if installed)
- OSEDev WB version
- FreeCAD version
- ^ useful for debugging and notifying user if new versions are available
- Show connection status, allow user to connect/disconnect.
- osedev
- Authenticate websocket connections against osedev user table.
- Maintain event group for connected users in django-channels.
- FreeCAD
- Chat
- FreeCAD
- Simple chat client/panel.
- User list with online/offline status.
- Show FreeCAD version number next user names in the user list.
- osedev
- Simple django-channels chat service implementation.
- Chat messages logged to db.
- FreeCAD
- Parts Catalog
- Uses Amazon Cloud Storage to store files.
- Listing of parts
- FreeCAD list panel
- part name - OSE Part Naming Convention
- current lock status
- last modification date and user
- view part details and change log.
- osedev
- respond with list of all parts upon request
- send lock/unlock notifications and part changes down the django-channels group
- FreeCAD list panel
- User can "open" (download) the part from S3.
- FreeCAD
- Open file as independent document.
- Open file using Assembly 2 WB "Add" mechanism.
- FreeCAD
- User can "lock" file for editing.
- FreeCAD: right/click on file or a button to lock/unlock. show what the server thinks is lock status.
- osedev
- process lock request
- save to db with timestamp
- notify everyone else in django-channel group
- release locks automatically after 12hrs of no activity
- User can "save" (upload) the part while providing a comment for the changes made.
- FreeCAD
- In addition to normal file save, there will be an upload button. (user can both keep/save file locally and/or upload changes)
- Dialog to collect changes before uploading file to osedev.
- Upload file, show upload progress, show processing progress.
- osedev
- Request to osedev.org to make sure it's okay to upload (user had lock or nobody else has made changes even if lock expired).
- If lock expired but nobody else made changes allow the upload but lock the file again until the upload finishes.
- Upload file to osedev and begin processing:
- #Part Processing
- upload file and generated artifacts to S3.
- Notify user that their changes were uploaded and lock released. (FreeCAD UI will reflect this)
- FreeCAD
Part Processing
- make thumbnail.
- webgl view.
- calculate print time for printable parts.
- generate STL and run diff tool. see github for inspiration: 3d file diffs
- create version record and save change comment.
Future
- Automate/assistant in the process of updating dependent assemblies when a sub-part is changed.
- Present list of directly dependent assemblies.
- User can pick which assemblies should be update.
- WB will download all assemblies, lock an assembly, open in Assembly 2 WB, re-fresh parts, upload/unlock.
- Search parts.
- Download older versions of parts.
- One click sharing of screenshot of your FreeCAD model view in chat. simple way to draw on screenshot (just single color/brush size and bitmap if that's easier).
Icons
Comments