Hello all, It has long been my dream to create an open source 3D CAD program and i am starting to crawl my way into the first steps. I now believe i am ready to start this endeavor and i am currently looking for fellow Python programmers (no matter what skill level) to get started brainstorming this design.
I have a real good idea of the UI design and at this point i just want to start simple and build this thing. I figure this will be a good learning experience for myself and others and in the process i can realize my dream. And if all this turns out to be is a learning experience, well nobody lost. Of course Python will limit the speed here, but at this point i want to get a template up and running. Speed does not matter at this point, and optimizations can come along later as i am sure a few complete re- writes are inevitable :) My initial start will cover a very simple user interface something like VPython but much more usable as a CAD modeler. From the start just a few simple primitives (faces, lines-segments) that will be the building blocks for more complex models like (arcs, rectangles, circles, polygons, cubes, spheres, etc..). There will need to be mouse picking as i see this application as a very interactive environment. Of course in the beginning all interaction will most likely be in a command line type manner until the functionality can be worked out. There will need to be a hierarchy of instancing and grouping within the model to facilitate easy transformation of entities within the model. I am not too worried about any sort of texturing at this point. I want to squeeze as much speed as possible and prettiness will come in due course. I also have no plans for layering, or multiple scenes at this time. Simple functionality is the end game here. Once the UI is there and the modeling work flow is worked out, everything should be a component add-on from there. So the main points are... #-- Entities --# face line-segment #-- Hierarchy --# Entity (one face, or line-segment) Group (contained of multiple entities that can be translated, rotated, scaled as one) Instance (component definition) #-- Tools --# line rect circle arc select rotation translation scale extrusion along path measurement So there it is. Any takers? :) -- http://mail.python.org/mailman/listinfo/python-list