Code Monkey home page Code Monkey logo

szhllyyl / cadcloud Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencomputeproject/cadcloud

0.0 0.0 0.0 2.59 MB

CADCloud is a cloud based sharing infrastructure dedicates to CAD engineers. It allows users to share design files, browse them interactively through a simple web interface, and support native file format from popular open source tools.

License: MIT License

Dockerfile 0.12% Shell 1.71% Python 0.09% Go 4.72% CSS 0.10% HTML 1.08% JavaScript 92.06% Ruby 0.12%

cadcloud's Introduction

CADCloud

CAD/EDA server

Image of landing

Description

This project aims to create a version tracking and collaboration tool to Open Hardware communities.

Prerequisites

It does "support" FreeCAD 0.19 (current developer version) with the CLOUD workbench pre-compiled.

Usage

To use it you need to either import a STEP file into FreeCAD and export it to the server through the following command in the python console:

import Cloud \
Cloud.URL(u"https://YOUR SERVER URI") \
Cloud.TCPPort(u"443") \
Cloud.TokenAuth(u"YOUR ACCESS KEY") \
Cloud.TokenSecret(u"YOUR PRIVATE KEY") \
Cloud.Save(u"YOUR MODEL NAME (lowercase only)") \

Note: You can export a native FreeCAD file. Though be aware that WebGL rendering is still alpha, though it still could work ;).
In any cases your model will be saved on the server side through the amazon S3 protocol

To read back a model

Cloud.cloudrestore(u"YOUR MODEL NAME (lowercase only)") 

Docker build

The Docker container requires at least 2 CPUs, 4 GB, 4 GB of RAM / Storage. This is due to the fact that it is runs FreeCAD and minio locally.

Please edit the start_container file and add the following data to your relevant server ( the SMTP_SERVER must include the port name -> <myserver:25 or myserver:587> as an example )

export SMTP_SERVER=
export SMTP_PASSWORD=
export SMTP_ACCOUNT=

Note: CADCloud requires email validation and needs to be able to send email for testing

To build the container initial self-signed certificate must be generated the process is described in build_docker. If you are on linux or MacOS with openssl tools installed you can use that script straight forward.

The build process is made in 2 steps due to the fact that CADCloud embedded a specific developer version of FreeCAD 0.19 snap released on the Ubuntu snap store as test/beta. That version has the Cloud workbench activated.

After the build_docker script has been executed start the container with the following command

docker run --privileged --name cadcloud  -p 443:443 cadcloud

The -privileged mode is required to get snap working properly

Then connect to the container through

docker exec -it cadcloud /bin/bash

Invoke the ./start_container command.
Note: it may also be invoked in background like so: ./start_container&

./start_container will download the snap, install it and make it available to the system. It will also install the latest minio build available. When the execution is done it will spawn the various CADCloud daemons.

You now will be able to enjoy a local instance of CADCloud!

If you use chrome, please activate this option, this will allow self signed certificate running from localhost server (your docker image) to be accepted by your browser (copy/paste it within the URL path of your browser)

chrome://flags/#allow-insecure-localhost

If you use Firefox, just accept to pursue the browsing using an insecure connection.

In your preferred web browser type: https://127.0.0.1 in the URL field.

Enjoy, debug and issue PR(s) !

cadcloud's People

Contributors

vejmarie avatar apeltauer avatar yorikvanhavre avatar ppd avatar rajeevsharma1 avatar luzpaz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.