CADCloud
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
- vejmarie
- Posts: 713
- Joined: Mon Jan 04, 2016 4:52 pm
- Location: Somewhere between France, USA and Taiwan
- Contact:
CADCloud
Hi,
Following Fosdem and the opportunity to discuss with the team, I liked to share with you one proof of concept I worked on since I introduced Cloud workbench in FreeCAD. That module has the capacity to export FreeCAD native file format to an s3 compliant Cloud Object Storage server.
Instead of using Amazon s3, I have create a server in go which is storing the content to a minio microservice. As FreeCAD use open file format, the server is able to process the file (Document.xml and GuiDocument.xml) and parse it. When the transfer is done, FreeCAD run in server mode on the server backend and convert into OBJ format the transferred model. It is then available for web rendering and automatic display.
The actual feature of CADCloud are:
- User account creation / deletion
- 3D webgl rendering
- Direct save from FreeCAD to the web server using s3 protocol (credential available through the user account)
- Revision management (each time you save a file it will create a new revision)
I am working on adding
- Workgroups
- Project Fork
- Object library management
The goal is to offer FreeCAD and KiCAD github like feature but by creating a full service platform which understand the physic and design workflow. I want see our end users working as a single community, but we need to offer them the relevant tool to do that.
I had some debate with myself about open sourcing such work and took the decision to release it under an MIT license on github. Yorik seems convinced by such project, as I am. You can have a look to a test website (try to avoid breaking it) on https://justyour.parts. It is hosted in the US currently so it might be slow depending on where you are. Some model there are huge take your time and have a look. I think it can accept about 50 uers.
Otherwise the source code is available there:https://github.com/CADCloud/CADCloud
PR are welcome ! I am working on enhancing everything including the documentation which is really really poor currently.The server is tested on MacOS and Linux. You need to know Go, Javascript, s3 API, html to help me . Do not be shy and let's make enter FreeCAD in the next stage: collaboration ! I am open to accept any contribution.
I have met with so many people waiting for such services, that I have decided to create it. Hope this has some interest to you ! Have a look to the start script to build the PoC.
vejmarie
Following Fosdem and the opportunity to discuss with the team, I liked to share with you one proof of concept I worked on since I introduced Cloud workbench in FreeCAD. That module has the capacity to export FreeCAD native file format to an s3 compliant Cloud Object Storage server.
Instead of using Amazon s3, I have create a server in go which is storing the content to a minio microservice. As FreeCAD use open file format, the server is able to process the file (Document.xml and GuiDocument.xml) and parse it. When the transfer is done, FreeCAD run in server mode on the server backend and convert into OBJ format the transferred model. It is then available for web rendering and automatic display.
The actual feature of CADCloud are:
- User account creation / deletion
- 3D webgl rendering
- Direct save from FreeCAD to the web server using s3 protocol (credential available through the user account)
- Revision management (each time you save a file it will create a new revision)
I am working on adding
- Workgroups
- Project Fork
- Object library management
The goal is to offer FreeCAD and KiCAD github like feature but by creating a full service platform which understand the physic and design workflow. I want see our end users working as a single community, but we need to offer them the relevant tool to do that.
I had some debate with myself about open sourcing such work and took the decision to release it under an MIT license on github. Yorik seems convinced by such project, as I am. You can have a look to a test website (try to avoid breaking it) on https://justyour.parts. It is hosted in the US currently so it might be slow depending on where you are. Some model there are huge take your time and have a look. I think it can accept about 50 uers.
Otherwise the source code is available there:https://github.com/CADCloud/CADCloud
PR are welcome ! I am working on enhancing everything including the documentation which is really really poor currently.The server is tested on MacOS and Linux. You need to know Go, Javascript, s3 API, html to help me . Do not be shy and let's make enter FreeCAD in the next stage: collaboration ! I am open to accept any contribution.
I have met with so many people waiting for such services, that I have decided to create it. Hope this has some interest to you ! Have a look to the start script to build the PoC.
vejmarie
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: CADCloud
Interesting.
How to register?vejmarie wrote: ↑Wed Feb 19, 2020 9:07 pm You can have a look to a test website (try to avoid breaking it) on https://justyour.parts.
- vejmarie
- Posts: 713
- Joined: Mon Jan 04, 2016 4:52 pm
- Location: Somewhere between France, USA and Taiwan
- Contact:
Re: CADCloud
fill up the sign up form at the front page . You will be needing a FreeCAD 0.19 build with the CLOUD workbench pre-compiled. It works actually on MacOS and Linux. I was not able to make it work on Windows as the libpack need to be updated with OpenSSL to support S3 protocole, and I honestly do not know how to do it !
Re: CADCloud
Looks very promising. Would be amazing to end up with something like PTC Windchill or Siemens Teamcenter.
Re: CADCloud
I posted a request to include OpenSSL in to the FC libpack at https://forum.freecadweb.org/viewtopic. ... 06#p370406vejmarie wrote: ↑Wed Feb 19, 2020 9:22 pm fill up the sign up form at the front page . You will be needing a FreeCAD 0.19 build with the CLOUD workbench pre-compiled. It works actually on MacOS and Linux. I was not able to make it work on Windows as the libpack need to be updated with OpenSSL to support S3 protocole, and I honestly do not know how to do it !
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
- vejmarie
- Posts: 713
- Joined: Mon Jan 04, 2016 4:52 pm
- Location: Somewhere between France, USA and Taiwan
- Contact:
Re: CADCloud
Thanks a lot. I have replied to it to request CURL lib which is also required. Hopefully we could make itKunda1 wrote: ↑Thu Feb 20, 2020 4:19 amI posted a request to include OpenSSL in to the FC libpack at https://forum.freecadweb.org/viewtopic. ... 06#p370406vejmarie wrote: ↑Wed Feb 19, 2020 9:22 pm fill up the sign up form at the front page . You will be needing a FreeCAD 0.19 build with the CLOUD workbench pre-compiled. It works actually on MacOS and Linux. I was not able to make it work on Windows as the libpack need to be updated with OpenSSL to support S3 protocole, and I honestly do not know how to do it !
- vejmarie
- Posts: 713
- Joined: Mon Jan 04, 2016 4:52 pm
- Location: Somewhere between France, USA and Taiwan
- Contact:
Re: CADCloud
Just to give you some rough idea of the rendering of complex model
This is a Yosemite v2 design coming from http://www.opencompute.org
This is an x86 com express board used for network switching control plane within OCP hardware.
All of these rendering are made within Chrome using the following workflow
-> FreeCAD 0.19 STEP import -> FreeCAD 0.19 Cloud export to justyour.parts server -> FreeCAD 0.19 server mode OBJ export creation -> WebGL rendering preparation (OBJ breakdown in 16MB chunk)
I kept the tree structure, which could allow us to have end user browsing the model to provide direct feedback to the design team by clicking into the tree (right click as an example) and displaying a popup window). The comment could be kept on the server or sent back directly to FreeCAD client when opened by the original designer. I really loved to see such features allowing model review as a team work, with a reference storage server.
This is a Yosemite v2 design coming from http://www.opencompute.org
This is an x86 com express board used for network switching control plane within OCP hardware.
All of these rendering are made within Chrome using the following workflow
-> FreeCAD 0.19 STEP import -> FreeCAD 0.19 Cloud export to justyour.parts server -> FreeCAD 0.19 server mode OBJ export creation -> WebGL rendering preparation (OBJ breakdown in 16MB chunk)
I kept the tree structure, which could allow us to have end user browsing the model to provide direct feedback to the design team by clicking into the tree (right click as an example) and displaying a popup window). The comment could be kept on the server or sent back directly to FreeCAD client when opened by the original designer. I really loved to see such features allowing model review as a team work, with a reference storage server.
- vejmarie
- Posts: 713
- Joined: Mon Jan 04, 2016 4:52 pm
- Location: Somewhere between France, USA and Taiwan
- Contact:
Re: CADCloud
For the one who are testing ... To export from FreeCAD you need to use
import Cloud
Cloud.cloudurl(u"https://YOUR SERVER URI")
Cloud.cloudtcpport(u"443")
Cloud.cloudaccesskey(u"YOUR ACCESS KEY")
Cloud.cloudsecretkey(u"YOUR PRIVATE KEY")
Cloud.cloudsave(u"YOUR MODEL NAME (lowercase only)")
To restore
Cloud.cloudrestore(u"YOUR MODEL NAME (lowercase only)")
You have a demo server available on justyour.parts website
import Cloud
Cloud.cloudurl(u"https://YOUR SERVER URI")
Cloud.cloudtcpport(u"443")
Cloud.cloudaccesskey(u"YOUR ACCESS KEY")
Cloud.cloudsecretkey(u"YOUR PRIVATE KEY")
Cloud.cloudsave(u"YOUR MODEL NAME (lowercase only)")
To restore
Cloud.cloudrestore(u"YOUR MODEL NAME (lowercase only)")
You have a demo server available on justyour.parts website
Re: CADCloud
Looks very promising. Sorry for this total newbie question, but I know little about the practice of cloud, the companies I used to work keep their precious data in house. What is your underlying fundamental idea, create a tool for setting a sort of github-like site but with tools more specialized and fitted for open-source FC projects ?
Github, for example, is perfect for hosting open-source code, but less convenient for hardware engineering projects ? Am I right ?
Github, for example, is perfect for hosting open-source code, but less convenient for hardware engineering projects ? Am I right ?