Giter VIP home page Giter VIP logo

pycado's Introduction

=============================================
PROJECT
Pycado alpha version

=============================================
DESCRIPTION
Pycado is an object oriented 3D CAD scripting language based on pythonocc with a graphical interactive editor

=============================================
AUTHORS
Julien Blanchard - julienbld --- yahoo --- fr
Charles Clément - caratorn --- gmail --- com

=============================================
HOMEPAGE
https://github.com/julienbld/pycado



1 - PRESENTATION
================

Pycado is an object oriented scripting language for 3D CAD. It's based upon the
pythonocc library and written in Python. The language itself is a python subset.
Pycado is also an IDE for the scripting language. This IDE contains three main
parts:

- a text editor, to edit scripts
- a graphical window where 3D components are drawn
- a log viewer

The object part of the language is really important because it allows to
instantiate objects and build new objects based on shared components. "Object"
must be understood as "mechanical part" rather than traditional computer
language meaning.

Each object owns a coordinate system and attribute members. Instantiation are
achieved by choosing a coordinate system and attribute values for a new object
instance.

The language is a python subset, so the scripts can be parsed by the python
parser and cad objects are added in memory. This strategy was chosen to update
a part of an assembly or a component without compiling all the scripts and called
objects, only impacted parts are updated. To achieve this, Pycado is using a
dependency tree.



2 - INSTALLATION
================
Pycado is based on pythonocc, so the first step is to install pythonocc, which
depends on the OpenCASCADE library (http://www.opencascade.org/), swig 
(http://www.swig.org/), QScintilla(http://www.riverbankcomputing.co.uk/software/qscintilla).



3 - PROGRESS - TODO
===================
Pycado is on very early stage, kind of proof of concept. Some example scripts
were written. They are quite simple but give a good preview of our objectives.

Here are some directions to improve the application:
- complete the base API (point / line / curve ...). This API should stay simple
  and should be associated with an integrated help in the IDE
- create interaction between the graphical window and text editor, e.g. copy
  the name of the selected component to paste it in the editor
- write a complex example of 3D CAD object to figure the limits of our approach

pycado's People

Contributors

julienbld avatar caratorn avatar

Stargazers

astrolemonade avatar  avatar Gilbert Brault avatar  avatar  avatar Justin Buchanan avatar Robin Chen avatar Karl Nilsson avatar tony eve avatar S avatar RayN avatar Angus H. avatar SEINLET Nicolas avatar jeffhuang avatar Jonas Hauquier avatar Jia-Rui Lin avatar Mauro Rovezzi avatar  avatar Rafael Carrascosa avatar Adam Griffiths avatar 良渚 avatar Julien Vitard avatar Davis Marques avatar Sergey Konyukhovskiy avatar Rehno Lindeque avatar Jeremy Herrman avatar  avatar  avatar Bryan Bishop avatar Jose Torres avatar

Watchers

 avatar  avatar Alex Crosby avatar SEINLET Nicolas avatar cheng zhang 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.