Share April 2007: Project of the Month

Art of Illusion

The forum address has changed, you have been automatically redirected. Please update any bookmarks to use the new URL.

Subscribe

Solid Modelling

  1. vik

    2005-04-26 03:55:39 UTC
    I've been doing a bit of amateur research on FDM machines - that's those printers that squirt out 3D models. I've made a Meccano (like Tinkertoy) device that can print a cylinder, and a simple electrical circuit (yes, RepRap will lay conductors too) but Dr. Adrian Bowyer at Bath Univiersity (http://reprap.org) is the owner/coordinator. His designs & docs are GPL'd; mine are too.

    The big difference between conventional FDM and RepRap is that RepRap will be designed to be able to print the majority of its own components - so everybody can have one!

    Now, RepRap people are aware of AoI. Are AoI people interested in RepRap? Interested to the point of doing work on formats, STL exports, a direct driver for the beast etc.? At this stage of the game I feel my skills are best lent to the hardware side, but as an AoI user I'm enthused by the prospect of AoI rather than something like Blender (with its impenetrable user interface) being adopted for the modelling work.

    Vik :v)
  2. 2005-04-26 05:09:23 UTC
    That is yet another verry interesting application of a 3D modeller.

    If no one else is interested, I am happy to build an STL import/export translator. My spare time is already well booked (VectorRender, ArtOfSharing, CompositingRender plus others) but STL looks to be very well aligned with AOI's internal representation, so I should be able to squeeze it in.

    I have cruised the RepRap site, and seen nothing on the direct driver. What did people actually have in mind for that?

    Cheers!
    Nik
  3. vik

    2005-04-26 05:21:04 UTC
    I'm told that the driver layer is going to be documented as a proper API so that the project can proceed in an orderly manner. There are a number of possible hardware solutions, and the abstraction layer will definintely be needed as development continues. You're one of the people who'd make me feel much more comfortable, Nik, if you cast your eye over them once they're in a releasable format!

    I'm less enthused with OpenRP. For an "Open" protocol, it's pretty short on released source.

    There will be other challenges too, such as converting the traditionally 2D or at best layered circuits into a form where they can be integrated with an STL file or 3D model.

    Modelling a coil embedded in plastic is going to be fun too! But not half as much fun as printing one :)

    How's the Boolean stuff feeling these days Peter?

    Vik :v)
  4. 2005-04-26 08:23:29 UTC
    Actually, I recall someone looking at STL output already...

    ...searching this forum, Francois has already written an STL script. What's the status of that?

    I certainly don't want to steal Francois' thunder on this. Either I or Francois can easily turn Francois' script into a Translator, and add the corresponding import functionality as well.

    I see your point regarding printed circuit layouts: looks like the STL format may need extending somewhat. BTW, will the circuit layouts be physical, or logical, or both? In fact, it seems that STL is very limited for your purposes. How are you planning on defining materials, etc? Would a better option be to use a more flexible format to begin with, rather than extending an existing standard?

    Regarding boolean modelling, I think the STL exporter will always output from a triangle mesh representation, so from my understanding, issues from boolean modelling will be moot (correct me if I'm wrong, anyone).

    Cheers!
    Nik.
  5. 2005-04-26 14:30:11 UTC
    Ok, I've downloaded Francois' STL script, and wrapped a Translator interface around it.

    I've also built a corresponding import function.

    Note that a sphere exported, then re-imported becomes an unsmoothed triangle mesh. This is because STL only stores a face normal, as opposed to one normal per vertex, which is how AOI stores meshes internally.

    I'll post the jar in my usual place for now, and upload them onto the AOISP site soon (with my other plugins, that I haven't gotten around to yet):

    http://nik.homelinux.net/files/STLTranslator.jar

    (and source at:)
    http://nik.homelinux.net/files/STLTranslator-src.zip

    Cheers!
    Nik.
  6. 2005-04-26 17:43:47 UTC
    >I certainly don't want to steal Francois' thunder on this
    Please do go on! It's a pleasure to see that the bits I write can be useful to others.

    Francois
  7. 2005-04-27 04:06:44 UTC
    I've posted an update to the STLTranslator at the usual places:

    (plugin)
    http://nik.homelinux.net/files/STLTranslator.jar

    (source)
    http://nik.homelinux.net/files/STLTranslator-src.zip

    STL validation has been added to both export and import.

    Note that a sphere exported and then re-imported causes the parser to report a mismatch between the normals read and calculated. This is not a validation error, and appears to be caused by rounding error. If so, then I'll probably add a tolerance field to silence the warnings.

    Cheers!
    Nik.
  8. 2005-04-27 11:12:11 UTC
    I've posted a further update of the STLTranslator here:

    (plugin)
    http://nik.homelinux.net/files/STLTranslator.jar

    (source)
    http://nik.homelinux.net/files/STLTranslator-src.zip

    This update has binary import/export working, although the only external binary test file I have does not import perfectly.

    If anyone can provide me with one or two simple binary sample STL files (of a cube or a sphere), I would appreciate it.

    Being able to import again means that AOI can hopefully be used to edit models that did not originate in AOI.

    Cheers!
    Nik.
  9. 2005-04-27 17:02:03 UTC
    > How's the Boolean stuff feeling these days Peter?

    Well, it still could use a complete rewrite. But I did fix a bug in 2.0 that was causing a lot of the intermittent failures with booleans, so hopefully it's now in good enough shape to be useable for most purposes.

    That looks like a really cool project! I'm not sure whether the self-replicating aspect is really as important as they claim, but there's definitely lots of uses for an inexpensive rapid prototyper that can build electric circuits.

    Peter
  10. vik

    2005-04-27 21:04:28 UTC
    I'm sure that people will have a lot of reasons for using a RepRap, and not all of them will get it with the intention of using it to make another one - until a friend asks for a copy or they want to print out a V1.1 RepRap with extra dangly bits.

    Still, it's caught my imagination. Anyone want to AoI a logo of two robotic hands assembling one another a la Escher?

    Vik :v)

  11. vik

    2005-04-27 21:06:38 UTC
    I'll see if Adrian has anything handy.

    Vik :v)
  12. 2005-04-28 01:11:21 UTC
    I forgot to mention in my last post that the STLTranslator performs what validations I found on the web during both import and export. I will add something to the GUI to show the validation results more clearly (something like a big green tick vs a big red cross...).

    If you can get the odd binary STL file, that would be great. I might also try to get something done in AutoCAD here, but my AutoCAD knowledge is zero.

    Personally, I would *love* to have a RepRap sitting next to the bubblejet. Then I could materialise all those boat models of mine :o)

    Speaking of which, has anyone considered the possible use of bubble-jet technology in RepRap? Could this be turned to a better compositing technique than what is currently used?

    Just a thought.

    Cheers!
    Nik.
  13. vik

    2005-04-28 01:22:06 UTC
    I want one on my bench too. We've only got to build the one...

    Yes, using inkjet/bubblejet has been considered. While OK for prototyping, the problem is that a bubblejet head doesn't do so well as a part that can be made by the final RepRap.

    Ideally, these things will be reproducable except for very basic comodity parts - the sort of bits you'd be able to pick up in central Africa if you were a schoolteacher there. Until we can come up with a suitable controller, MIT's US$100 laptops will come in very handy!

    This means the RepRap can be widely self-distributed in areas that really need them. It shouldn't be too long before people come up with RepRap designs for water purifiers, windmills, generators and other devices useful in a resource-limited lifestyle.

    In fact, people who like that kind of thing might like to do the models now, while the RepRap guys are working on the hardware.

    Vik :v)
  14. 2005-04-28 07:48:30 UTC
    A cheap 3D prototyping tool - even if it's not completely self-replicating, the ability to make parts cheaply is very promising :). Imagine - everybody having their own 3D prototyping machine :).

    And the ability to create its own electrical circuits is also very interesting and would be nice to play around with.

    In fact - I wonder - creating 3D circuits :D? I can imagine a cube filled with wires :D.
  15. 2005-04-28 19:13:46 UTC
    Regarding FDM Machines:

    They are pretty outdated - FDM (Fusion deposit modeling if i´m not wrong) is to unprecise.

    If you want a smooth surface on prototype parts you have to post work to much on FDM parts.
    The only cool thing is their second material as
    support geometrie... (but thats is not the discussion i want to go in).

    So - if you want precision - go STL (Stereolithografie)
    It´s not designed for circuit boards (wasn´t that gerber files and LITHOGRAPHIE?) but good for mechanical and design parts - even large parts for automotive design.

    Standard Autocad is not capable of making good STL files, but Mechanical Desktop is!
    And every other midrange and highend modeler today.

    Have a look at Rhino - AFAIK there´s a 30 day trial version.
    There you have acces to pretty much parameters like surface deviation. max triangle size and so on.

    The nice thing about reading STL files is:
    You can import from nearly every CAD System without to much trouble! Thats a huge step in my eyes!

    My Truespace has this option (was a ~150$ Plugin)
    and i´m really glad about this tool!
    It´s already production proved!

    On the other hand:
    I´m using STL files for moldflow simulation (plastic injection in moldtool) - so it really come in handy to have AOI STL ready for reading and writing!

    Harald

  16. 2005-04-28 19:29:14 UTC
    EDIT:
    Now that if read about the RepRap Project I know why your going FDM ;-)
    Stupid me... should read more before posting,
    since editing here seems impossible.
  17. vik

    2005-04-28 20:49:42 UTC
    Imagine printing the windings of a transformer or a motor. Multi-layer circuit boards with sockets - no soldering.
    Microwave photonics and waveguides.
    Custom antennae.
    Keyboards and even entire handheld PDAs just awaiting the chip...

    Interesting stuff. Now who is going to make the AoI models? :)

    Vik :v)
  18. vik

    2005-05-01 22:35:53 UTC
    Well, here's my first functional circuit. The EVA base was laid down using my Meccano extruder but manually moving an X-Y platform - automated X-Y tables are next on the list:

    http://reprap.blogspot.com/

    I hand-painted the silver paint, but I'll be developing a simple extruder for that too. Actually, I have the STL file for the Wood's Metal (low MP solder) extruder for Nik to test.

    This is going to be such fun to model on AoI. I hope to do a test run using AoI models on a Stratasys FDM machine in the near future.

    Vik :v)
  19. vik

    2005-05-10 10:53:46 UTC
    Nik, I tried this out and on my PC I get:

    java.lang.NoSuchMethodError: java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    at artofillusion.translators.STLTranslator.exportStream(STLTranslator.java:162)
    at artofillusion.translators.STLTranslator$1.run(STLTranslator.java:876) at java.lang.Thread.run(Thread.java:536)


    Any chance you can tell from that which particular bit of Java I've not set the right flag or environment variable for this time? :)

    Vik :v)
  20. vik

    2005-05-10 11:19:54 UTC
    I'vee been looking at it, and I think the String.replace method only came in for Java 5. Please don't say I've got to change Java versions right now...

    Vik :v)
  21. 2005-05-10 11:48:42 UTC
    >I think the String.replace method only came in
    for Java 5

    replace:
    public String replace(CharSequence target,
    CharSequence replacement)
    [...]
    Since:
    1.5

    Yes indeed, but it should not be a lot of work to use a 1.4 method instead, I guess.
    Francois
  22. 2005-05-11 01:48:25 UTC
    Vik,

    A thousand apologies. I missed the fact that this method was 1.5 only. AOI is intentionally keeping 1.4 compatability, so this is my mistake. I'll post a modified source atc shortly.

    (At least now I know what the "replace" method issue is now :o)

    Cheers!
    Nik.
  23. vik

    2005-05-11 03:53:56 UTC
    No worries, Nik. You're doing a damn fine job of it.

    Vik :v)
  24. 2005-05-11 05:11:24 UTC
    The STLTranslator has been updated.

    Version 0.03 has a number of small changes, including improved importing and the removal of calls to String.replace().

    The new JAR is available through the Plugins manager (Francois, the more I use this, the more I love it!), and the corresponding source is available from the AOISP project.

    Enjoy! (tm).

    Nik.
  25. 2005-05-14 13:33:41 UTC
    I have released an update to the STLTranslator, through the plugins manager.

    version 0.05 has the following changes:

    - auto detection of binary/ascii files for import
    The type can still be manually set

    - frame option frames each view for import
    Causes the views of the new object to be set to a size that just frames the imported object.

    - added error tolerance for import
    Errors smaller than the specified tolerance are ignored

    - minor interface improvements
    The file browse window shows "Open" for import

    In addition, I thought I should explain the behaviour of AOI regarding newly imported objects (now that I understand it myself).

    Objects are imported into a newly created scene. This new scene is initially treated by AOI as temporary. If you quit AOI immediately after importing an STL file, you will not be prompted to save this scene first, and its contents will be lost. In addition, if you import a second file immediately after importing a first, the first will be discarded.

    AOI marks any new scene as non-temporary upon any action that modifies the scene, or its status. Therefore, modifying the object in a newly created scene, or saving the newly created scene will make it non-temporary.

    I can change this behaviour if people wish, but it seems quite good the way it is. If you import a file multiple times in succession, then any imports not saved or modified are discarded when the next import is completed.

    Cheers!
    Nik.
< Previous | 1 | 2 | Next >

Add a Reply

This forum does not allow anonymous participation.

Log in to add a reply. Not registered? Create an account to participate and receive email updates when replies are posted to this topic.