GithubHelp home page GithubHelp logo

ccad's Introduction

Description
===========

ccad is a text-based mechanical CAD (computer aided design) tool.  It
is a python module you import within a python file or from the python
prompt.  Once imported, you can create and view mechanical objects.

ccad is a python wrapper of pythonocc.  No knowledge of pythonocc is
necessary to operate ccad.

To Install (Linux)
==================

Make sure you have working copies of pythonocc and python-qt4.  Then::

  Download and unzip the .zip file from github

  cd ccad-master

  python setup.py install --prefix=/usr/local (as root)

Change the prefix argument to install in a different directory.

To Install (Windows)
====================

Make sure you have working copies of pythonocc and python-qt4.  Then::

  Download the .zip file from github

  From a file explorer window, right-click on the downloaded zip file
  and select "extract here"

  Navigate to the folder just created

  Shift-right-click in the file explorer window and select "open
  command window here"

  Type the following command:
  python setup.py install

For interactive mode, use ipython or run python from a command window.
ccad does *not* work under Idle.

To Install (Mac)
================

While ccad should work for Mac, we haven't heard of anyone trying it.
If you install it, let us know, and we'll update the README.

To Operate
==========

Start python from the command line.  Then::

  >>> import ccad.model as cm
  >>> import ccad.display as cd
  >>> s1 = cm.sphere(1.0)
  >>> v1 = cd.view()
  >>> v1.display(s1)

You should see a sphere displayed in a window.

Consult the documentation at prefix/share/doc/ccad/html/contents.html
for ccad's full capabilities.

To Build (only for developers)
==============================

Update components with modifications to MANIFEST.in and setup.py.
Then,

  python setup.py sdist

**Make sure you verify changes with unittest/test_all.py before
committing.**

To Build the Documentation (only for developers)
================================================

Some files are captured with xwd (window dump).  They're commented in
MANIFEST.in.  The remaining are generated with generate_images.py.

  cd ccad-ver/doc
  python generate_images.py
  sphinx-build . html

Then, direct your browser to ccad-ver/doc/html/contents.html

Philosophy (only for developers)
================================

1. Edges are continuous lines in 3D space.  There should be no reason
   to distinguish between them and OCC curves.  Wires are collections
   of edge connections.  Faces are continuous surfaces in 3D space.
   There should be no reason to distinguish between them and OCC
   surfaces.  Shells are collections of face connections.

2. The end-user should not ever have to call pythonOCC directly.  ccad
   should handle all things someone might want to do in CAD.

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.