[Bf-committers] irc meeting sunday march 30

Neil Gershenfeld bf-committers@blender.org
Wed, 02 Apr 2003 10:30:29 -0500


This is a multi-part message in MIME format.
--------------090608090103030906010303
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Chris,

Our relatively-undebugged CAD/CAM code is at 
http://web.media.mit.edu/~neilg/fab/cad.py 
<http://web.media.mit.edu/%7Eneilg/fab/cad.py> , and in a Blender file 
at http://web.media.mit.edu/~neilg/fab/03.04.01.cad.blend 
<http://web.media.mit.edu/%7Eneilg/fab/03.04.01.cad.blend> . This 
started as a project aimed at supporting our field labs 
http://cba.mit.edu/projects/fablab/ , but has quickly migrated back to 
MIT where we are already using this for 2D toolpath generation for a 
laser- and waterjet cutter and 3D printer STL output. Next will come G 
codes for NC mill toolpaths.

One thing I'm stuck on is getting access to selected or named vertex 
groups, to be able to do these kinds of precision assembly operations 
within meshes. Do you (or anyone) know if that is/might be possible? 
Further out on the wishlist is providing the same capabilities for 
parametric objects, and preserving object associations through Booleans.

Neil


	

Prof. Neil Gershenfeld, Director    (617) 253-7680
Room E15-411                     neilg@cba.mit.edu
20 Ames Street                 fax: (617) 253-7035
Cambridge, MA  02139     http://cba.mit.edu/~neilg


Chris Want wrote:

> They might be interested to know that I wrote a
> Blender STL file format export script a long time ago
> (I have a 3D printer at work too):
>
> http://www.ualberta.ca/~cwant/blender/stl.py
>
> It is my hope to find time to write a full-fledged
> export option for this within blender, with the hopefull
> goal of creating a plugin style template for import/export
> code (but this might be something I leave to my future
> children to work on, due to lack of time).
>
> Chris
>

--------------090608090103030906010303
Content-Type: multipart/related;
 boundary="------------010204030801090407090603"


--------------010204030801090407090603
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body>
Chris,<br>
<br>
Our relatively-undebugged CAD/CAM code is at <a
 href="http://web.media.mit.edu/%7Eneilg/fab/cad.py">http://web.media.mit.edu/~neilg/fab/cad.py</a>
, and in a Blender file at <a
 href="http://web.media.mit.edu/%7Eneilg/fab/03.04.01.cad.blend">http://web.media.mit.edu/~neilg/fab/03.04.01.cad.blend</a>
. This started as a project aimed at supporting our field labs <a
 href="http://cba.mit.edu/projects/fablab/">http://cba.mit.edu/projects/fablab/</a>
, but has quickly migrated back to MIT where we are already using this
for 2D toolpath generation for a laser- and waterjet cutter and 3D
printer STL output. Next will come G codes for NC mill toolpaths.<br>
<br>
One thing I'm stuck on is getting access to selected or named vertex
groups, to be able to do these kinds of precision assembly operations
within meshes. Do you (or anyone) know if that is/might be possible?
Further out on the wishlist is providing the same capabilities for
parametric objects, and preserving object associations through Booleans.<br>
<br>
Neil<br>
<br>
<table cellpadding="2" cellspacing="2" border="0" style="width: 100%;">
  <tbody>
    <tr>
      <td valign="middle" width="220" align="left"><img
 src="cid:part1.05050606.02030009@cba.mit.edu" alt=""
 style="width: 218px; height: 60px;" title="" align="middle"> <br>
      </td>
      <td style="vertical-align: middle;">
      <pre>Prof. Neil Gershenfeld, Director    (617) 253-7680
Room E15-411                     <a class="moz-txt-link-abbreviated" href="mailto:neilg@cba.mit.edu">neilg@cba.mit.edu</a>
20 Ames Street                 fax: (617) 253-7035
Cambridge, MA  02139     <a class="moz-txt-link-freetext" href="http://cba.mit.edu/~neilg">http://cba.mit.edu/~neilg</a></pre>
      </td>
    </tr>
  </tbody>
</table>
<br>
Chris Want wrote:<br>
<blockquote type="cite" cite="mid3E8AF32D.1040509@ualberta.ca"> They
might be interested to know that I wrote a <br>
Blender STL file format export script a long time ago <br>
(I have a 3D printer at work too): <br>
  <br>
<a class="moz-txt-link-freetext" href="http://www.ualberta.ca/~cwant/blender/stl.py">http://www.ualberta.ca/~cwant/blender/stl.py</a> <br>
  <br>
It is my hope to find time to write a full-fledged <br>
export option for this within blender, with the hopefull <br>
goal of creating a plugin style template for import/export <br>
code (but this might be something I leave to my future <br>
children to work on, due to lack of time). <br>
  <br>
Chris <br>
  <br>
</blockquote>
</body>
</html>

--------------010204030801090407090603
Content-Type: image/jpeg;
 name="CBAsig.jpg"
Content-Transfer-Encoding: base64
Content-ID: <part1.05050606.02030009@cba.mit.edu>
Content-Disposition: inline;
 filename="CBAsig.jpg"

/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoM
DAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsN
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAAR
CAA8ANoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7n/ag/aV0v9nLwja3ktsNU1/UmaPTdNL7
BIVA3yOeojXcuccksAOuR8NWH/BR74uW2vLfXP8AYd5Yl8vpf2Axxbf7quG8wH0JZvcGu5/4
Kh+GtTj8a+DvELRO+jTWD2CzDlUnWRnKn0LKwI9djf3a+Iu9eLia9SNRxTskf0dwfwzlGJyi
nia9NVJ1L3b1tq1Zdrfefsh8PP2itO+LHwJ1bx9oNsILzT7K5kuNOum3+RcxRFzGxXG5TwQR
glWHTt8DD/grV8Usf8ip4P8A+/N1/wDH69b/AGGvDepad+zN8ZNYuQ6abqVtcJZo3AYxWkgk
cfUsq/8AbP2r8xh0FfoHD2Go4yjKdeF3ofz9xZh6eU5rWwmEl7kXp+Dt8r2P0n/Zy/4KO/EH
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
lxuYsa9Yz7VniXTi0oKxVO73P//Z
--------------010204030801090407090603--

--------------090608090103030906010303--