Re: mml files

*To*: mathgroup at smc.vnet.net*Subject*: [mg57656] Re: [mg57590] mml files*From*: Christopher Purcell <chris.purcell at drdc-rddc.gc.ca>*Date*: Fri, 3 Jun 2005 05:33:42 -0400 (EDT)*References*: <200506011004.GAA24552@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

There are a number of possible ways to take geometry data from Mathematica and convert it to CAD files for machining or rapid prototyping. As you discovered DXF and IGES are not good solutions. If you have access to CAD software, like Pro/Engineer, Catia, etc, you can generate text files with Mathematica which contain lists of points that define cross-sectional surfaces of your solids. Most CAD systems will let you read in these cross sections and then let you interpolate smooth surfaces through them and tesselate them. The CAD system then will offer a number of export format possibilities - right up to generating tool paths. You might ask, why bother with Mathematica when you have CAD software - the answer is Mathematica can easily generate a far greater variety of curves than any of the CAD products. Even when they offer a programming interface for user defined curves, they typically only offer basic mathematical functions. The CAD software however offers GUI based tools for modifying geometry (drilling holes, putting on chamfers, etc) that would be hard to do in Mathematica, so if you have to integrate a mathematically defined curve or surface into an assembly - you probably will find a CAD tool to be essential. If you want to generate a simple CAD file in Mathematica, this is possible, but as you discovered, the present Export routines do not make "air tight" descriptions of surfaces, which are required for rapid prototyping. I complained about this to WRI some years ago, but support for CAD/CAM is low on their priority list. There are 2 ways to go here - either read back into memory the Stereolithography (STL) file that Mathematica can generate from Graphics3D objects, and "equivalence" it, or build your own STL file from scratch. These are probably about the same difficulty. In either case you will need an equivalencer - a routine which detects duplicate nodes and edges, and then rearranges the data to eliminate them. The best place to start for the equivalencer would be Roman Maeder's equivalencing routines which Google will find in the Mathematica Journal, and probably is in his books. I have done this but can't post it here. It works, but the performance is slow compared to generation of STL files by the dedicated CAD products. There is another approach that may be feasible depending on the geometry and your familiarity with machining. You could write a routine which lets Mathematica write "G-code", which are the instructions most milling machines use. G-code is just a list of coordinates of the cutter, with a few minor add ons. This is easy if the part can be made by what is called 2.5 D machining, where the z axis simply offsets between cuts and the part is mostly all convex. There are some fancy examples of machining with Mathematica at www.mathematica-users.org. Tool path generation for 4 or 5 axis machining rapidly becomes a very challenging problem that would make a nice hobby project for someone with an interest in geometry. STEP files are probably the most reliable and convenient means of getting CAD data from one system to another, but I have not heard of anyone writing a STEP generator for Mathematica. That would be very useful. Christopher Purcell Sensors & Actuators Group DRDC-Atlantic, 9 Grove St., PO Box 1012, Dartmouth NS B2Y 3Z7 Canada Work E-mail chris.purcell at drdc-rddc.gc.ca Work Tel 902-426-3100 x389 Fax 902-426-9654 Home Tel 902-464-9248 Home E-mail christopherpurcell at mac.com AIM/iChatAV: cffrc On Jun 1, 2005, at 7:04 AM, alan notis wrote: > > I am using Mathematica to create 3D files that I now want to send to > be machined. I thought that .dxf or stl files would be good enough but > they are asking me for an IGES file. Apparantly when Mathematica > exports a DXF it breaks it up into triangles which are then read as > separate surfaces making the generation of a program for a CNC machine > impossible as there are millions of triangles in the curved surfaces I > need to machine. Mathematica can export as .mml (MathML). Is this > helpful? What would you suggest? > > > Besty regards, > > Alan Notis >

**References**:**mml files***From:*alan notis <spiraltooth@optonline.net>