Welcome! Log In Create A New Profile

Advanced

mendel mechanical parts measuring?

Posted by alroirm 
mendel mechanical parts measuring?
January 20, 2010 02:06AM
Hi,

I'm a completely newbie to RepRap, so chances are that my question is actually stupid and maybe a bit OT but... I want to get mendel mechanical parts printed so i need to know the volume of each part: what software does one use to calculate the volume?

I've tried a software called admesh (which seems unmaintained) that returns the volume of a stl file, between other functionallities. The problem is that it just prints out the number without units, so i don't know if that's cm3, in3, mm3 or what...

Do anyone know?

Cheers.
Re: mendel mechanical parts measuring?
January 20, 2010 02:10AM
skeinforge's statistics module prints out extrudate used in cc, probably close enough with infill set to 100%
Re: mendel mechanical parts measuring?
January 20, 2010 02:41AM
I'm a completely newbie to RepRap, so chances are that my question is actually stupid and maybe a bit OT but...

Your question isn't stupid. This is critical information that's not on the wiki, but should be. Or if it is on the wiki, it's buried.



NOTE: Will someone add this to the wiki?


I want to get mendel mechanical parts printed so i need to know the volume of each part: what software does one use to calculate the volume?

This is a naive question. Mendels are crazy expensive to print commercially. ~1000USD.
Buy a used millstrap, at that price.
[objects.reprap.org]

Then make mendel parts and molds for parts, ("share and enjoy"), and help bring the cost down.
Re: mendel mechanical parts measuring?
January 20, 2010 08:53AM
From the admesh 0.95 ReadMe file it looks like the "volume" is in the same units as the "size" values. If the STL is in CM then the volume would be CC. I don't know if STL files have an implicit or explicit scale. If the scale is implicit I would expect the Mendel parts to be in mm.

================= Results produced by ADMesh version 0.95 =================
Input file : sphere.stl
============== Size ==============
Min X = -1.334557, Max X = 1.370952
Min Y = -1.377953, Max Y = 1.377230
Min Z = -1.373225, Max Z = 1.242838
=== Processing Statistics === ===== Other Statistics =====
Number of parts : 1 Volume : 10.889216

(According to Wolfram Alpha, a sphere with a volume of 10.889216 has a radius of 1.375, close to the "size" values shown.)

Unless you have very low cost access to a commercial 3D printer it will likely be cheaper to buy a MakerBot CupCake than to have the parts printed commercially.
Re: mendel mechanical parts measuring?
January 20, 2010 09:45AM
I know that a RepStarp Mendel or RepStarp Darwin can be built for less than £200 or $320 US

I think with further work on the Electronics we could get the inital build cost down to > £150 or $240 US.


Bodge It [reprap.org]
=======================================

BIQ Sanguinololu SD LCD board BIQ Stepcon BIQ Opto Endstop
BIQ Heater Block PCB BIQ Extruder Peek clamp replacement BIQ Huxley Seedling
BIQ Sanguinololu mounting BIQ standalone Sanguinololu or Ramps mounting Print It Stick It Cut it


My rep strap: [repstrapbertha.blogspot.com]

Buy the bits from B&Q pipestrap [diyrepstrap.blogspot.com]
How to Build a Darwin without any Rep Rap Parts [repstrapdarwin.blogspot.com]
Web Site [www.takeaway3dtech.com]
Re: mendel mechanical parts measuring?
January 20, 2010 05:55PM
Hi all,

Thank you very much for your answers. I were able to measure volume of stl parts with the following software:

- Admesh, units problem. I couldn't find if stl format has any implicit scale (it seems no, but i can't believe that, given that stl is intended for printing).

- Trimeshinfo. I found this based on vcg library, [sourceforge.net]

- SolidWorks (some friend with a license helped me): Go to 'Tools' > 'Physical properties'.

I saw prices to have it printed (commercially) and as you all told they're crazy... I've got access to a great 3D printer, but i don't really think i can use it to print about 100 parts (i can't abuse, work printer :-)...

Thank you all!
Re: mendel mechanical parts measuring?
January 23, 2010 11:52PM
Stl isn't scaled, it carries either mm or inch units, absolute size. In amongst the documentation is the volume of Mendel printed parts, 1115cm³.
Re: mendel mechanical parts measuring?
January 24, 2010 05:57AM
STL is actually unit-less. All values are floating point numbers with no inherent base unit- that's entirely up to the interpreting program.

All reprap parts are exported with 1 unit = 1mm, but it's a mistake to expect that to be common, let alone standardised.
Re: mendel mechanical parts measuring?
January 24, 2010 06:31AM
Thank you for the clarification on that Triffid Hunter.

STL files make a little more sense now.. ( Some Thing like )

Thinking about another thread that was saying how inaccurate G code files are.

I am surprised that this little Gem of information was missed.

I would feel much happier if we have the parts defined in absolute terms.

Like a drawing in inches or mm as its easy to convert from one to another.

I now see NOTHGING!! wrong with G code files in the light of this information as they are absolute and equivalent in real terms to an accurate drawing.

G code being only reliant on the accuracy of the machine being used.

For two years STL files have baffled me as different application will and do print different sized images hence having to use a combination of apps to double check each one before attempting making a part without a working RepRap.

This is by far the most important area to resolve the making of absolute drawings for repstrapping. you can forget Step files and re-inventing the wheel just make true 2D drawings for every RP part as well as the STL file required to print the part. I'm sure this must be possible with an Academic version of Solid edge.

Or ensure all Reprap stl files are made with 1mm as the standard unit.

And recommend an application that renders and prints using the standard of 1 unit equals 1mm for all STL files it prints views.

Some stl files come up as 1" = 1 unit this has been my biggest problem trying to make parts for a repstrap.hot smiley the time I have wasted trying to figure out dimensions.


Bodge It [reprap.org]
=======================================

BIQ Sanguinololu SD LCD board BIQ Stepcon BIQ Opto Endstop
BIQ Heater Block PCB BIQ Extruder Peek clamp replacement BIQ Huxley Seedling
BIQ Sanguinololu mounting BIQ standalone Sanguinololu or Ramps mounting Print It Stick It Cut it


My rep strap: [repstrapbertha.blogspot.com]

Buy the bits from B&Q pipestrap [diyrepstrap.blogspot.com]
How to Build a Darwin without any Rep Rap Parts [repstrapdarwin.blogspot.com]
Web Site [www.takeaway3dtech.com]
Re: mendel mechanical parts measuring?
January 24, 2010 10:38AM
I believe STL for REPRAP has standardized on 1 unit = 1 mm. Correct me if I am wrong?

The problem with GCode is that the specific encoding depends on a specific thread size. IF your machine uses .3mm thread or 1mm thread, it cannot use the GCode used to print an object on a .5mm thread machine. I don't see a problem with GCode accuracy, I see it as a GCode incompatibility.

STL models don't have this problem because the representation does not encode any particular hardware assumptions; software can process them to entirely different technologies much more easily than GCode -- where you'd effectively need to simulate the standard machine in software to transform the .5mm gcode to have the remote chance of printing it onto 1mm thread machine.
Re: mendel mechanical parts measuring?
January 24, 2010 03:31PM
oh I must be using G code incorrectly I never give the Gcode a thread size ?

How do you give G Code a thread size... ?

If I hand code G-code I enter the G code instructions in mm.

If I set my CNC for inches I would enter the G code instructions in inches.

Am I misunderstanding the use of G code?

Thus I can make a G-code file for any of my machines set up in mm.

This very same file I can then use on any of my CNC machines simple, easy, fool proof.

Well that is what I thought it was; that's how I'm using G-code.

I have downloaded a G Code file and used it and it worked.

I can not have just by accident invented a better way of using a G code file?

Have you ever hand coded a G-code file?

How on earth would you do that with strange thread sizes.. like 0.3mm thread.

G code is written and contains actual dimensions that are inches or MM.

Any one who thinks otherwise can have never written or tested a G code file.

Else

I really have found a better way of using G code file.

Or

Every one who talks about G code as not being accurate are readers not doers.


Bodge It [reprap.org]
=======================================

BIQ Sanguinololu SD LCD board BIQ Stepcon BIQ Opto Endstop
BIQ Heater Block PCB BIQ Extruder Peek clamp replacement BIQ Huxley Seedling
BIQ Sanguinololu mounting BIQ standalone Sanguinololu or Ramps mounting Print It Stick It Cut it


My rep strap: [repstrapbertha.blogspot.com]

Buy the bits from B&Q pipestrap [diyrepstrap.blogspot.com]
How to Build a Darwin without any Rep Rap Parts [repstrapdarwin.blogspot.com]
Web Site [www.takeaway3dtech.com]
Re: mendel mechanical parts measuring?
January 24, 2010 04:03PM
BodgeIt- the gcode is written specifically for your machine from the settings you enter into skeinforge or whichever slicer you're using. The really obvious ones are temperature settings which change depending on which plastic you're using, layer height, maximum speeds, etc. The other settings also require careful tuning for each machine to get a good quality print-out.

In theory, you could switch out belts for threaded rod and use the same gcode, but in practice that would require your motors being happy to turn 20x faster with the exact same acceleration profile.

BeagleFury- according to [blog.arcol.hu] the nozzle size actually cancels out of the math, which makes sense when you understand that when moving too slow, the extrudate blobs up, and when moving too fast, it stretches, so the extruded line width is affected mostly by extruder rate vs head speed.
Re: mendel mechanical parts measuring?
January 24, 2010 04:11PM
G-code accurately describes tool paths.

STL describes 3D objects.

You can't describe a 3D object in g-code unless you run a simulation knowing the tool properties and somehow infer 3D faces from multiple tool passes.


[www.hydraraptor.blogspot.com]
Re: mendel mechanical parts measuring?
January 24, 2010 06:25PM
So with my 0.8 mill head fitted and the G code generated for a tool path that can cut a layer from 0-0.5mm thick.

I use any application to gather a tool path or slice for that layer it generates yet another 0-0.5mm thick Section of G code.

So far I still do not need to set any thread sizes the only additional parameters I need are Depth of each layer and the tool size and feed rate which will be the same for X Y and Z.

Therefore for a given tool size and a given material type that same multilayer G-code file is accurate for any CNC machine that can use that tool size and that cutting speed.

I am sorry I still do not see what is wrong with this.

If you are saying the the way the G-code is generated in skeinforge is not based on x and y moving in mm but in the number of threads that equal a mm.

Again I do not see a problem the answer to that is 1 thread = 1 mm on X Y and Z

I aging do not see a problem with tool size to extrusion size or extrusion depth.

The g code will still accurately describe a 3D object weather its is milled or extruded with the obvious physical limitations of both machining technologies

So G code that is created for a tool, at a speed, on a material will work on any CNC machine in the same way that can use that tool cut at that speed with that type of material.

I still can not see where G code fails in this process.

So far it sounds to me that it is how skeinforge is being used that is the problem or it is how skeinforge has been written.

It is crazy beyond belief to need to re create a G code file to print an object a second time.

Going one stage further than that

Object relative files could also be kept. These relative files can then be reprocessed if one is going to print an array of the same object or even a mixture of objects. in a print session. thus avoiding running the whole slicing process again.


Bodge It [reprap.org]
=======================================

BIQ Sanguinololu SD LCD board BIQ Stepcon BIQ Opto Endstop
BIQ Heater Block PCB BIQ Extruder Peek clamp replacement BIQ Huxley Seedling
BIQ Sanguinololu mounting BIQ standalone Sanguinololu or Ramps mounting Print It Stick It Cut it


My rep strap: [repstrapbertha.blogspot.com]

Buy the bits from B&Q pipestrap [diyrepstrap.blogspot.com]
How to Build a Darwin without any Rep Rap Parts [repstrapdarwin.blogspot.com]
Web Site [www.takeaway3dtech.com]
Re: mendel mechanical parts measuring?
January 24, 2010 09:19PM
Hi BodgeIt,

I'm not sure whether I am confused, or you. GCode is a point moving around in space; it can define very precisely in absolute measurements how and where to move that point, but lacks anything about defining tool size, thread size, surface composition, fine detail that should be printed if mechanically possible, etc.

GCode, repesented graphically, looks like this face.

STL represented for the same or similar object looks like this face.

Am I missing something entirely about what you are proposing, because I really don't get why you would want to replace STL with GCode.

I don't think a missing scale is a problem in STL. Transforming to any scale at all is possible by simply multiplying every coordinate by the scale conversion, for example, if the STL is in inches, simply multiply every coordinate by 25.4, and you end up with an STL file in mm. And I mean the tool that reads the STL, rather than you going thru with a calculator. smiling smiley
Re: mendel mechanical parts measuring?
January 24, 2010 10:51PM
given machines with near-identical capabilities and parameters, you could absolutely use the same gcode file.

I was just pointing out that threaded rod designs like the McWire can't move at 32mm/s due to limitations of motor speed, and the repraps in existence aren't nearly homogenous enough for the same settings to work on them all- infill ratios and cooling solutions, different extruder strengths and speeds, heated beds and all the changes to other parameters with a heated bed!
Re: mendel mechanical parts measuring?
January 24, 2010 10:54PM
There are a number of lower-priced commercial g-code-from-stl generators, Deskproto, STLwork and TurboCADCAM being three. TurboCADCAM can use other formats too. Each of them has graphic display modes that can show the complete file's toolpaths arrayed about the model. I'm not familiar with it, but it looks likely that the Linux EMC has a similar mode.

BodgeIt, in the wider CNC world, a machine's relationship with any g-code file is established by it's particular post-processor. That processor equates dimensional increments to the machine's step increment. Some, like Fanuc, are widely emulated by other manufacturers, so g-code files are portable with common post-processors, lots of homebuilt or hobby machines are simply sending step and direction to drivers, so post-processing is done on the host computer.

Edited 1 time(s). Last edit at 01/25/2010 01:30AM by murd.
Attachments:
open | download - stlwork.gif (18.6 KB)
Re: mendel mechanical parts measuring?
January 25, 2010 08:16AM
BodgeIt Wrote:
-------------------------------------------------------
> I know that a RepStarp Mendel or RepStarp Darwin
> can be built for less than £200 or $320 US
>
> I think with further work on the Electronics we
> could get the inital build cost down to > £150 or
> $240 US.

I don't agree with you. If you count the printed time and assembly time (which you should), Mendel is expensive!

But I love Mendel, I really like it and we are still improving it. I am working on Heated Bed module for it (and others) :-)


---
New cutting edge RepRap electronics, ARM 32 bits @ 100MHz runs RepRap @ 725mm/s:

[www.3dprinting-r2c2.com]
Re: mendel mechanical parts measuring?
January 25, 2010 10:51AM
Back on caffeine now so a little calmer..

Apparently I'm radioactive for 24 hours now so must not see Pregnant women or children for 24 hours.

@ casainho.

A rep-strap has not got any printed parts so there is no cost of Printing.

Thus it can be built for £150 or $240.

In fact that is exactly what I have done !!

I will be producing a full spread sheet of exact costs once It is printing.

I.E. by that I mean once I have proved that Plastic block Mendel works.

Why do I want to see Mendel available at this kind of cost?

Reason only a few years ago I had four dependant Daughters a mortgage and wife to support. During a period of 16 - 20 years I did not have the ability to spend money on any kind of hobby as the Kids came first.

If we have a way to make Mendel at this kind of cost.

There are hundreds of other Engineers or future users who can build a Mendel without feeling guilty about the cost of their hobby.

@ BeagleFury, Triffid Hunter, murd.

I am afraid being an electronics engineer, I stupidly assumed.

That ALL CNC machines would take their instructions in absolute terms.

ie. in MM or in inches based on G20 and G21 in the instruction set.

G20 Programming in inches
G21 Programming in mm


I have assumed that all CNC machines would use G20 and G21 instructions.

From your replies it looks like this is not the case.

So some machines are programed in terms of their drive shaft resolution. or number of threads per mm or inch terms.

Due to this they need diffrent slicing software that incorperates the machine parameters.

No doubt this system is used to ensure the sale of the slicing software for that machine thus maintaining revenue for the manufacture of the machine.

Fortunately I have only built DIY CNC machines I have stuck to using 1 unit is 1mm on all of them as it made the most sense to do this.

Certainly on my Lathe 1 unit or 1 turn = 1mm on all of its axis / controls

This was the same on big industrial Mills I used in my apprenticeship.

It was my application of logic on how I expected a CNC to work that has deluded me in this area.




So I must apologies for being irritated yesterday in my posts.!

It was not just the lack of logic it was also due to 24 hours of no caffeine.

I am very definitely not a mechanical engineer having to look up the speed to turn brass at yesterday.

Edited 1 time(s). Last edit at 01/25/2010 10:52AM by BodgeIt.


Bodge It [reprap.org]
=======================================

BIQ Sanguinololu SD LCD board BIQ Stepcon BIQ Opto Endstop
BIQ Heater Block PCB BIQ Extruder Peek clamp replacement BIQ Huxley Seedling
BIQ Sanguinololu mounting BIQ standalone Sanguinololu or Ramps mounting Print It Stick It Cut it


My rep strap: [repstrapbertha.blogspot.com]

Buy the bits from B&Q pipestrap [diyrepstrap.blogspot.com]
How to Build a Darwin without any Rep Rap Parts [repstrapdarwin.blogspot.com]
Web Site [www.takeaway3dtech.com]
Re: mendel mechanical parts measuring?
January 25, 2010 04:37PM
BodgeIt- the measurements are in mm or inches, but the linear distance of each move is just one of many parameters that must be tuned to the machine, and gcode provides zero abstraction for all the other ones.

Therefore the gcode must be re-written if anything other than the linear distance of each move and the feedrate changes- eg; layer thickness or infill % or extruder barrel temperature etc etc. Since currently each reprap/repstrap has its own quirks which need tuning, each one needs gcode generated specifically for its settings.

It's not just steps per mm that changes, and that's the only thing that gcode allows to change between machines. This is why some are investigating STEP-NC which apparently abstracts far more of the process than gcode can, allowing a wider range of machines to use the same file given a greater degree of self-knowledge on the part of each machine.
Re: mendel mechanical parts measuring?
January 25, 2010 06:14PM
Maybe I am being very ignorant naive as I have as yet to extruded.

I would have thought:

I can control the extruder on its own.

Set the temp in the PID like temprature control for one of these settings:-

Temperature setting for making raft
Temperature Setting for extruding 0.6mm filament.

Extrusion speed is also a parameter that should go hand in hand with the extrusion type

As far as the extruding speed these will also need to be standardized

The layer thickness will also need to be preset depending on the task to be performed. Thus the extruder becomes self contained the temperature is defined for the job required.


Bodge It [reprap.org]
=======================================

BIQ Sanguinololu SD LCD board BIQ Stepcon BIQ Opto Endstop
BIQ Heater Block PCB BIQ Extruder Peek clamp replacement BIQ Huxley Seedling
BIQ Sanguinololu mounting BIQ standalone Sanguinololu or Ramps mounting Print It Stick It Cut it


My rep strap: [repstrapbertha.blogspot.com]

Buy the bits from B&Q pipestrap [diyrepstrap.blogspot.com]
How to Build a Darwin without any Rep Rap Parts [repstrapdarwin.blogspot.com]
Web Site [www.takeaway3dtech.com]
Re: mendel mechanical parts measuring?
January 25, 2010 07:12PM
extrusion speed is a function of XY head speed, layer thickness and wall thickness.

If you start abstracting the temperatures from the degrees celsius in the gcode, you no longer have standard gcode- it's customised for any machine that posesses that self-knowledge and the code to use it, and you're moving towards the more abstract communication mechanism requiring machine self-knowldge that we discussed above. If we start on that road, we may as well leap straight to a solution that's been fleshed out and already sitting much farther down the road.

Having said that, re-defining 1 degree celsius as raft temp, and 2 celsius as extrusion temp or similar would probably be a neat way to do it in the interim.
Re: mendel mechanical parts measuring?
January 25, 2010 07:47PM
The way my systems works is that I use the first two modules of Skienforge to slice and fill. I read the g-code it produces but ignore everything apart from the tool path. This only depends on the filament diameter and infill density, etc. Nothing machine dependent apart from the fact that nozzle diameter has some influence on the range of filament diameters that can be produced.

My machine control software handles everything else, feed rates, temperatures, rafts, reversing to kill ooze, etc. Most of these parameters depend on the machine and / or the plastic being used.

This has the huge advantage that I only slice things once and I can make things I sliced a year ago even though the extruder and plastic are completely different. The objects come out now with better quality from exactly the same g-code.

I am not actually using the g-code to control the machine. I am just using it to represent filament paths. It would be better stored as XML.

The output from my Python script is binary packets sent over UDP to control the machine. This makes the firmware very simple and it hardly ever changes. Similarly I use an old version of Skeinforge and never need to change that. All the things that vary often, like plastics and extruders are handled in the Python script and I hack on that almost daily. It is a complete mess but it is only a few hundred lines of very simple code that anybody could understand and play with it to try out new machine ideas.

It could be changed to output g-code for people with conventional CNC machines, but for normal reprap machines it far better to send binary data in machine specific units. The firmware becomes trivial and fast enough not cause segment pausing on a 25MHz 16 bits CPU.

The machine is fairly well abstracted, so using Pythons duck typing it is trivial to drop in something that sends messages in whatever format people fancy.

I don't know why RepRap has to make is so complicated. Skeinforge has got very difficult to use because it has to have millions of settings to cope with any possible machine and plastic. It also has to change all the time to keep up with developments like headed beds and raft techniques, etc. Really it should only need to change for new infill patterns, etc.

The firmware is also complex because it does too much. Both are very hard for people to hack on unless they are experts. By simply splitting the problem into 3 layers instead of two it all gets much easier. It separates slicing, machine control strategy and real time motor control into distinct concerns.

I have mentioned this many times before and I fell like I am banging my head on a brick wall but this is the strategy I followed. I don't think I have seen machines performing any better, yet my software and firmware is much smaller and simpler and I have spent virtually no time on hardware and firmware development over the three years I have been working on RepRap. Nearly all my time is free to experiment with improving extruders, etc.


[www.hydraraptor.blogspot.com]
Re: mendel mechanical parts measuring?
January 25, 2010 09:41PM
nophead,

Do you want a dedicated forum/mailing list here for your system? You can work and distribute the unstable branch, people could talk about it in that forum/mailing list, and work on making it 'stable' or work on documentation.

Because if it is any good, a community will form around it somewhere, even if it is your email inbox right now. And I'm here to make a space for people.

Also, you may want to tack up some notes on the wiki as a stub for documentation builders to work on. smiling smiley


-Sebastien, RepRap.org library gnome.

Remember, you're all RepRap developers (once you've joined the super-secret developer mailing list), and the wiki, RepRap.org, [reprap.org] is for everyone and everything! grinning smiley
Re: mendel mechanical parts measuring?
January 25, 2010 09:59PM
Triffid Hunter.

Is not the layer thickness defined by the extrusion size thus it must be the same for the slice size?

So if you have 0.6mm extrusion size you slice in 0.6mm steps

If you can reduce the extrusion size by stretching turning 0.6mm into 0.3mm

Then you slice at 0.3mm intervals to achieve 0.3mm you adjust the speed of head movement from A to B this again is a set figure for 0.3 extrude at X mm/s. to extrude at 0.6mm extrude a X mm/s so all you tell any application slicing.
Are the speeds required for the size of extruder you are going to print with.

Thus M codes for Extrusion speeds 0.1 0.3 0.6 temperature 1 2 or 3 and so on.

This would mean if every one has a 0.6mm extruder and can extrude at x mm/s the g code file remains as a shareable thus standardizing repraping giving the ability for all reprapper to just plug the g code in and run.. the same print from the same file with one printer in Newzealand the other in the usa.

This would make sharing designs/prints so easy within reprap a just Plug and Print system.


Bodge It [reprap.org]
=======================================

BIQ Sanguinololu SD LCD board BIQ Stepcon BIQ Opto Endstop
BIQ Heater Block PCB BIQ Extruder Peek clamp replacement BIQ Huxley Seedling
BIQ Sanguinololu mounting BIQ standalone Sanguinololu or Ramps mounting Print It Stick It Cut it


My rep strap: [repstrapbertha.blogspot.com]

Buy the bits from B&Q pipestrap [diyrepstrap.blogspot.com]
How to Build a Darwin without any Rep Rap Parts [repstrapdarwin.blogspot.com]
Web Site [www.takeaway3dtech.com]
Re: mendel mechanical parts measuring?
January 26, 2010 05:27AM
> Do you want a dedicated forum/mailing list here
> for your system? You can work and distribute the
> unstable branch, people could talk about it in
> that forum/mailing list, and work on making it
> 'stable' or work on documentation.

No thanks it doesn't need a talking shop. I will get it working on Mendel and Darwin with some sensible electronics and publish it on Git. People can then take it and run with it, or not. At the time of publishing it I will try to make it self documenting as far as possible, with perhaps some simple notes on the wiki for people to know what and where it is.

The problem actually splits into four logical software units: -
1. Slicing
2. Machine strategy.
3, Machine comms.
4. Motor / heater control firmware.

By having a simple file format between 1&2, a simple Python interface between 2&3 anybody can mix and match to use any machine comms and firmware they like. Doing packet based comms in Python is about 2 lines per command, so trivial to add new ones.


[www.hydraraptor.blogspot.com]
Re: mendel mechanical parts measuring?
January 26, 2010 08:33AM
I like the layered approach you've suggested. I'm not sure item item 3, is at the same level, it feels more like API glue code, part of attaching adjacent components together? If you include the API glue as a layer of itself, it seems the overall topology would be something like:

1. Model Creation
- Blender, AOL, BRLCAD, 3D scanner, etc.
- files created by these are most suitable to tweaking a model, since conversion to STL may lose some information or reduce editability.

2. API: Model Description
- STL : triangles
- CSG : solid representations (would allow alternative 'curvy' decomposition stacks replacing linear components with non-linear?)
- standardize on absolute unit; I'd suggest 'mm', with as much arbitrary precision as you deem necessary (single IEEE float should be adequate for any model I can think of being created and designed.)

3. Linear/planer decomposition - "Slicing and Dicing"
- Skeinforge, etc.

4. API: Linear Description
- GCode?
- NC-STEP?
- Raw coordinates with material indexing metadata to allow printing with extra materials?
- Standardize on absolute unit; again, 'mm' seems fine. It's not as if humans have to manually type this stuff anymore, and if they do, a simple conversion tool to translate inch units to mm units seems simpler than trying to support multiple units of measure in the standard stack.

5. Machine strategy..?
- what does this actually do? Determine printing tempuratures, extrusion rates? How does it know what the final extrusion size should be? From the linear description? From user entered/configured values? From memory knowing how you sliced and diced it? Something else?
- This is the fuzzy bit that makes me believe GCode is not complete in terms of describing how to print an object. It does not contain enough metadata about itself to determine these other factors in order to translate one machine's capabilities to another machines's capabilities.

6. API: Temporal control plan description
- includes the coordinated control values, I.E, the specific values each control should read at a specific moment during the build.
- undefined scale. It is specific to the hardware device. Machine strategy contains a hardware device capabilities configuration to allow it to output the proper scales for this.

7. Control plan execution and monitoring.
- includes what you've labeled as "Machine comms".
- Majority of component probably in firmware; more powerful/standalone firmware might include code for higher level components.

Ideally, the API layers should use text/stream coding; this could allow you to cache the results to a file, load it with a text editor to diagnose problems or preview it, or reuse them to create additional copies without having the overhead of re-executing higher level logic.

If you wanted to give a friend a file to make a copy of the widget you created, you could provide them with the file from layer 1, 2, 4, or 6, depending on exactly how close their hardware matched yours, and how exact a copy they wanted.
Sorry, only registered users may post in this forum.

Click here to login