Would love docs

153 views
Skip to first unread message

Laird Popkin

unread,
Jun 21, 2012, 8:02:17 PM6/21/12
to miracle-...@googlegroups.com
Miracle-Grue is crazy fast, so I would love to use it. But what are the configuration settings? Some of the settings' names are pretty obvious, but some I can't begin to guess at.

Joseph Sadusk

unread,
Jun 21, 2012, 9:48:06 PM6/21/12
to miracle-...@googlegroups.com

Seriously, who's writing this thing?  Oh wait.

MG is very much so a beta right now, and that means we haven't gotten to everything we want for it.  That unfortunately includes good documentation.  However, we're going through a code cleanup and documentation phase right now, so expect some stuff to show up in github soon.  In the meantime if you'd like an explanation of some specific options I'd be happy to help.

Joe

On Jun 21, 2012 8:02 PM, "Laird Popkin" <la...@popk.in> wrote:
Miracle-Grue is crazy fast, so I would love to use it. But what are the configuration settings? Some of the settings' names are pretty obvious, but some I can't begin to guess at.

--
-- > I don't think that the lurking grue would agree with you! -- To post to this group, send email to miracle-...@googlegroups.com To unsubscribe from this group, send email to miracle-grue-d...@googlegroups.com --

Far McKon

unread,
Jun 22, 2012, 10:10:41 AM6/22/12
to miracle-...@googlegroups.com
Laird,
Yeah. This thing is so beta, it's uhhhh an alpha.  How are things working for you ? Have you been messing with configs at all?

We only have limited in-house testing here, so any bugs you find, or if you find good/bad/weird settings to test, please let us know. We'd appreciate the feedback.

hack on,
- Far McKon
Nerd Herder (aka Software Dept. Director)
MakerBot Industries

Joseph Sadusk

unread,
Jun 25, 2012, 7:43:35 PM6/25/12
to miracle-...@googlegroups.com
Ok, its not a real configuration doc, but it's something. Look at the latest version of miracle.config in github, and you'll find comments explaining every option. Building.md has also been updated to have directions that actually work.

I'm really curious to hear what you do with MG.

Joe

On Thursday, June 21, 2012 8:02:17 PM UTC-4, Laird Popkin wrote:
> Miracle-Grue is crazy fast, so I would love to use it. But what are the configuration settings? Some of the settings&#39; names are pretty obvious, but some I can&#39;t begin to guess at.

Laird Popkin

unread,
Jun 29, 2012, 6:12:55 AM6/29/12
to miracle-...@googlegroups.com
Thanks! I'll go look it over. I've just been getting up to speed on MG, but so far have had one very odd problem - every time I slice in MG it prints centered around the back/right corner of the HBP, so most of the plastic is extruded into thin air. This happens using the default Replicator profile, printing any of several things. Before printing the extruder is positioned to the right of the center of the right edge of the HPB.

Slicing with Skeinforge results in prints that are properly centered. So I don't think it's something about the Replicator, but must be M-G somehow.

I looked at https://github.com/makerbot/Miracle-Grue/blob/master/miracle.config and found:starts and starty, which (from RepG 0037) 
and the params in my just-installed copy look the same as the one in github, at least the gantry params. I assume it's not doing this for everyone, but there's nothing different about my setup AFAIK.

Any suggestions?

- LP

Joseph Sadusk

unread,
Jul 2, 2012, 11:50:11 AM7/2/12
to miracle-...@googlegroups.com
It sounds like you're missing your start.gcode.  The MG default config should find start_replicator_dual.gcode if its in either a system install location or the current working directory, but you can force it by passing the -s option on the command line.  If you're seeing this running MG from ReplicatorG, that's a bug in repg and I'd love a report so I can fix it.

Thanks!

Joe

--

Laird Popkin

unread,
Jul 23, 2012, 1:38:33 AM7/23/12
to miracle-...@googlegroups.com
Joe, apologies for not checking in sooner, but I've just been using Skeinforge (and taking long, long breaks), but I'll give M-G another shot.

I'm running M-G from within ReplicatorG 0037. The Gcode has what looks like reasonable start.gcode:

(** This GCode was generated by ReplicatorG 0037 **)
(*  using Miracle-Grue Beta 0.0.4.0 - Experimental  *)
(*  for a Dual headed The Replicator  *)
(*  on 2012/07/23 01:29:09 (-0400) *)
(**** start.gcode for The Replicator, dual head ****)
M103 (disable RPM)
M73 P0 (enable build progress)
G21 (set units to mm)
G90 (set positioning to absolute)
G10 P1 X0 Y0 Z0 (Designate T0 Offset)
G10 P2 X33 Y0 Z0 (Designate T1 Offset)
M109 S110 T0 (set HBP temperature)
M104 S220 T0 (set extruder temperature)
G54 (Recall offset cooridinate system)
(**** begin homing ****)
G162 X Y F2500 (home XY axes maximum)
G161 Z F1100 (home Z axis minimum)
G92 Z-5 (set Z to -5)
G1 Z0.0 (move Z to "0")
G161 Z F100 (home Z axis minimum)
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)
(**** end homing ****)
G1 X-110.5 Y-74 Z150 F3300.0 (move to waiting position)
G130 X20 Y20 Z20 A20 B20 (Lower stepper Vrefs while heating)
M6 T0 (wait for toolhead, and HBP to reach temperature)
G130 X127 Y127 Z40 A127 B127 (Set Stepper motor Vref to defaults)
M108 R3.0 T0
G0 X-110.5 Y-74 (Position Nozzle)
G0 Z0.2      (Position Height)
M108 R4.0    (Set Extruder Speed)
M101         (Start Extruder)
G4 P1500     (Create Anchor)
(**** end of start.gcode ****)

I'll try printing it again tomorrow to see if it still prints oddly.

- LP

Joseph Sadusk

unread,
Jul 23, 2012, 2:53:18 PM7/23/12
to miracle-...@googlegroups.com
No problem.  You don't have to try it again, at least not on the same file.  I recently saw this same behavior with one of our designers on staff.  I think it has to do with the fact that miracle grue doesn't do any centering of the object like skeinforge does.  I believe if you load up your object in RepG, click center on plate, resave the file and then try to print it'll work.  If not, can you send me the STL you're having problems with?  Alternatively you can try to print something simple like the 20mm test cube and see if you get the same results, but I should be able to figure it out given the STL.

Thanks for testing this!

Joe
--

Laird Popkin

unread,
Jul 23, 2012, 10:39:59 PM7/23/12
to miracle-...@googlegroups.com
I tried printing http://www.thingiverse.com/thing:1216 and had the same thing - the extruder went to the back right corner of the case (well off the right side of the HBP) and extruded plastic into air.

The geometry was centered in ReplicatorG, and I did 'move/center/put on platform' just to be on the safe side.

I generated the print file onto an SD card.

The print profile is slightly edited (which I hilighted below):

{
   "regioner" :
   {
        "fill" : 0.05
   },
   "slicer" : 
   {
 //     "angle" :1.570796326794897, // 2.356194525, //  1.570796326794897, 0.7853981633974485, 1.570796326794897,
      "nbOfShells":2,
      "firstLayerZ" : 0.33,
      "layerH" : 0.1,
      "layerW" : 0.43,
 "infillDensity" : 0.05,  // unit: ratio to solid
      "infillShrinkingMultiplier" : 0.25,  // unit: layerW
      "insetDistanceMultiplier" : 0.9,  // unit: layerW
      "insetCuttOffMultiplier" : 0.01,  // remove short segments during insetting unit: layerW
      "writeDebugScadFiles" : false,
      "roofLayerCount" : 5,  // nb of extra layers for roofs 
      "floorLayerCount" : 5 // nb of extra layers for floor
   },
   "gantry" : {
      "xyMaxHoming" : true, // false for tom, true for replicator
      "zMaxHoming" :  false, // true for tom, false for replicator
      "scalingFactor" : 1,
      "rapidMoveFeedRateXY": 6000,
      "rapidMoveFeedRateZ": 1400,
      "homingFeedRateZ" : 100,
 "startX" : -110.4,
 "startY" : -74.0,
 "startZ" : 0.2
   },
   "outline" : {  // a rectangle around the part on the build platform
      "enabled"  : true,
      "distance" : 1.0
   },
   "extruders" : [
      {
         "coordinateSystemOffsetX" : 0.0,
         "extrusionTemperature" : 220.0,
         "nozzleZ" : 0,
         "zFeedRate" : 500,
         "firstLayerExtrusionProfile": "absSticky",
         "insetsExtrusionProfile" :  "absSlow",
         "infillsExtrusionProfile" : "absFast",
"extrusionMode" : "volumetric", // "rpm"
  "feedDiameter" : 1.82 //diameter in mm of feedstock
       }
   ],
   "extrusionProfiles": {
        "absSlow": {
            "feedrate": 4800,

//for volumetric extrusion
"retractDistance" : 0.5, // mm
"retractRate" : 798.0,
"restartExtraDistance" : 0.0, // mm

            //for rpm extrusion
"flow" : 2.1,
            "leadIn": 0.0,
"leadOut": 0.0,
            "snortFlow": 35,
            "snortFeedrate": 1000, // 2400,
            "squirtFlow": 35,
            "squirtFeedrate": 1000},
        "absFast": {
            "feedrate": 4800,

//for volumetric extrusion
"retractDistance" : 0.5, // mm
"retractRate" : 798.0,
"restartExtraDistance" : 0.0, // mm

            //for rpm extrusion
            "flow" : 2.8,
            "leadIn": 0.0,
            "leadOut": 0.0,
            "snortFlow": 35,
            "snortFeedrate": 1000, 
            "squirtFlow": 35,
            "squirtFeedrate": 1000},
        "absSticky": {
            "feedrate": 1800,

//for volumetric extrusion
"retractDistance" : 0.5, // mm
"retractRate" : 798.0,
"restartExtraDistance" : 0.0, // mm

            //for rpm extrusion
            "flow" : 0.7,
            "leadIn": 0.0,
            "leadOut": 0.0,
            "snortFlow": 35,
            "snortFeedrate": 1000, 
            "squirtFlow": 35,
            "squirtFeedrate": 1000}
    },
   "platform" : {
      "automated" : false,
      "temperature" : 100.0,
      "waitingPositionX" :  52.0,
      "waitingPositionY" : -57.0,
      "waitingPositionZ" :  1.0
   },
   "gcoder" : 
   { 
      "header" : "default://start_replicator_dual.gcode",
 "footer" : "default://end_replicator_dual.gcode",
      "outline": false,  // when true, extrude along the perimeter (this should not be enabled normally)
      "insets" : true,   // when true, extrude along insets (a.k.a extrude the shells)
      "infills": true,   // when true, extrude infills paths 
      "infillFirst" : false,  // do infill before insets
      "dualtrick" : false, // use dual extrusion to color each outline
      "useEAxis" : true, // use e-access to avoid problems with ReplicatorG interperter
   },
}

The first part of the generated Gcode is:

(** This GCode was generated by ReplicatorG 0037 **)
(*  using Miracle-Grue Beta 0.0.4.0 - Experimental  *)
(*  for a Dual headed The Replicator  *)
(*  on 2012/07/23 21:23:18 (-0400) *)
(Makerbot Industries)
(This file contains digital fabrication directives in gcode format)
(For your 3D printer)
(* Generated by Miracle-Grue v 0.04 alpha)
(* 2012-7-23 21:23:11)
(* machine name: Machine Name Unknown)
(* firmware revision:unknown)
(* /Users/laird/Google Drive/3DStuff/MULHER_2.stl)
(* 1 extruder)
(* Extrude infills: 1)
(* first operation: Insets)
(* Extrude insets: 1)
(* Extrude outlines: 0)

G21 (set units to mm)
G90 (absolute positioning mode)

(setup extruder)
M103 T0 (Make sure motor for extruder 0 is stopped)
M104 S220.000 T0 (set temperature of extruder 0 to 220.000 degrees Celsius)


M109 S100.000 T0 (heat the build-platform to 100.000 Celsius)


(go to home position)
G162 X Y F6000.000 (home XY axes maximum)
G161 Z F1400.000 (home Z axis minimum)
G92 Z5 (set Z to 5)
G1 Z0.0 (move Z down 0)
G161 Z F100.000 (home Z axis minimum)
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)

G92 A0
G1 X52.000 Y-57.000 Z1.000 F6000.000 (go to waiting position)

M6 T0 (wait for tool 0 to reach temperature)
(note: the heated build platform temperature is tied to tool 0 for now)

(Create Anchor)
G1 Z0.6 F300    (Position Height)
M108 R4.0   (Set Extruder Speed)
M101        (Start Extruder)
G4 P1600
G1 X52.000 Y-57.000 Z0.600 F6000.000
G1 X49.000 Y-57.000 Z0.600 F600.000
M103 (Stop extruder)

G1 F798.000 E0.500 (squirt)
G1 X-13.692 Y23.475 Z0.600 F1800.000 E2.102 (Extrude into position)
(Slice 0, 1 Extruder)
G1 Z0.330 F500.000 (move Z)
(   Extruder 0)
( extruder 0 )
( GSWITCH T0 )
( TODO: add offset management to Gantry )

(inset 0/2 )
(  path 0/2, 102 points,  )
G1 X-13.692 Y23.475 Z0.330 F6000.000 E2.102 (move into position)
G1 F798.000 E2.602 (squirt)
G1 X-12.251 Y23.594 Z0.330 F1800.000 E2.625 (d: 1.44591)
G1 X-11.197 Y23.569 Z0.330 F1800.000 E2.641 (d: 2.49677)
G1 X-10.694 Y23.552 Z0.330 F1800.000 E2.649 (d: 2.99899)
G1 X-9.622 Y23.417 Z0.330 F1800.000 E2.666 (d: 4.07041)
G1 X-9.143 Y23.329 Z0.330 F1800.000 E2.674 (d: 4.55134)
G1 X-8.531 Y23.159 Z0.330 F1800.000 E2.684 (d: 5.17067)
G1 X-7.972 Y22.945 Z0.330 F1800.000 E2.693 (d: 5.7445)
...

Laird Popkin

unread,
Aug 11, 2012, 1:24:28 AM8/11/12
to miracle-...@googlegroups.com
tried a few more times with various things, same thing happened (printing at back, right corner).

Is there a new build to try? should I go find it on github (?) and build from source?

Joseph Sadusk

unread,
Aug 11, 2012, 11:13:05 AM8/11/12
to miracle-...@googlegroups.com
Sorry for the lack of updates, I've been busy actually working on the
codebase. There may have been something wrong with the build packaged
into replicatorg. There's been a ton of new work going on in github
though, so if you did pull down a new version you'd probably fix this
while simultaneously getting a lot better quality.

If you'd like to build from source, the instructions in Building.md
are up to date (however you don't actually need cppunit or qt if all
you want is the command line tool). The format of the config file has
changed since it was packed into repg, so use the file miracle.config
in the top level of the repository.

I'm sorry the out of box experience wasn't seamless, but the version
there really wasn't finished. We were mainly releasing a snapshot to
give the community a taste of what we were working on. Thanks for
trying it out, any exercise the code gets will make the final version
that much better.

Joe
> --
> --
>> I don't think that the lurking grue would agree with you!

Laird Popkin

unread,
Aug 12, 2012, 6:50:50 PM8/12/12
to miracle-...@googlegroups.com
Thanks for the update - I'm much happier that you're working on the code than posting about it (and not coding). :-)

The last build at GitHub is a few months old, which I'm guessing is about the same as what I'm running now. Are you planning on releasing another build any time soon? If so, I think I'll be lazy and wait for a released build. If not, I'll see if I can get it building later this week.

- LP

Laird Popkin

unread,
Sep 20, 2012, 6:37:11 PM9/20/12
to miracle-...@googlegroups.com
OK, just tried the version in "MakerWare" and it worked. Yay!

So now a new question - where are the print profiles for Miracle-Grue in MakerWare (as installed on Mac OS X)? I'd like to play around with tuning the profile a bit.

Also, could you pass along to whoever makes the MakerWare installer builds, it would be nice if they could sign the installer, so that Mac OS X 10.8 will install it without complaining? The new security model warns users about unsigned installers, and requires them to change a setting to allow the install, which is a bit of a hassle.

Joseph Sadusk

unread,
Sep 20, 2012, 8:36:21 PM9/20/12
to miracle-...@googlegroups.com
Heh, who does the installer builds is also me. I know all about the
signed code thing. We're just waiting on apple to give us certs.
They don't make the process easy.

Unfortunately thanks to being a beta and things not quite being done,
the profiles Makerware uses internally aren't exposed as files,
they're generated dynamically and hardcoded. But if you want to run
Miracle Grue on the command line, its there on your system, has config
files, and the gcode you generate can be printed directly in
MakerWare. The ability to directly edit the profile in MakerWare is
coming, as soon as I have time to finish it.

On Mac OS if you look in
/Library/Frameworks/MakerBot.framework/MakerBot/Miracle-Grue you'll
find the entire standalone distribution. In there is a miracle.config
that I *think* is identical to the medium config, but I'm not quite
sure. If not, the miracle.config on github will be updated soon to be
the medium config, so you could just download that one file. Or I may
just post a config here for people that want to use MG manually, we'll
see.

Anyway, let me know if this stuff works for you! Great to see people
using the software!

Joe

Laird Popkin

unread,
Sep 21, 2012, 11:30:52 AM9/21/12
to miracle-...@googlegroups.com
OK, found it - /Library/Frameworks/MakerBot.framework/MakerBot/Miracle-Grue/*.config. Yay!

Doesn't look like the UI lets you pick conf files, at least not directly. But I'm guessing that if I edit the existing config files it'll use them, so I can still tweak the configs. Good enough to hack with!

So, will you guys be at the MakerFaire in NYC? I'd love to connect/geek out a bit about this stuff.

- LP

Joseph Sadusk

unread,
Sep 21, 2012, 11:46:39 AM9/21/12
to miracle-...@googlegroups.com
Actually no, it won't use them. Short story, to make a tight release
the configs used from the ui are hardcoded internally (inside the
conveyor daemon actually). It doesn't actually use those files, yet.
If you want to use a completely custom profile you'll have to run
miracle grue from the command line. The ability to use saved profiles
IS COMING, its just not done yet. Anyway, if you need help slicing
from the command line I'm happy to help.

Joe

Laird Popkin

unread,
Sep 22, 2012, 4:49:32 PM9/22/12
to miracle-...@googlegroups.com
Cool. How an I load Goode from M-G into MakerWare? Or should I use RepG? Is there a way to generate s3g files from Gcode from command line? Is that what conveyor does?

Joseph Sadusk

unread,
Sep 22, 2012, 6:02:53 PM9/22/12
to miracle-...@googlegroups.com

You could use RepG, but why? That stuff is old and obsolete:)
You can open a gcode file directly in MakerWare if you select Print from File.

Conveyor handles that and a lot more. It's a system service that acts as a print queue. When you print from makerware, it's the thing doing the printing. It also does bot detection and manages slice jobs. There's a command line tool to send jobs directly to it, but the interface isn't set in stone yet. We're really hoping people start interfacing other programs with it.

Joe

On Sep 22, 2012 4:49 PM, "Laird Popkin" <la...@popk.in> wrote:
Cool. How an I load Goode from M-G into MakerWare? Or should I use RepG? Is there a way to generate s3g files from Gcode from command line? Is that what conveyor does?

Joseph Sadusk

unread,
Sep 23, 2012, 3:27:09 PM9/23/12
to miracle-...@googlegroups.com
Oh also I forgot to mention, I will be at makerfaire, and I'd love to
meet up and chat. I won't be working the makerbot booth, but I will
definitely be in and out of it. I'll look for you there.

Joe

Far McKon

unread,
Sep 24, 2012, 10:17:46 AM9/24/12
to miracle-...@googlegroups.com
Sadly, I won't make MakerFaire :(  But I'll be at OHS (and on this mailing list) for a while..

hack on,
- Far
--
hack on,
- Far McKon

Architect-ish
MakerBot Industries

NOTICE: This email may contain information that is confidential or attorney-client privileged and may constitute inside information. The contents of this email are intended only for the recipient(s) listed above. If you are not the intended recipient, you are directed not to read, disclose, distribute or otherwise use this transmission. If you have received this email in error, please notify the sender immediately and delete the transmission. Delivery of this message is not intended to waive
any applicable privileges.
Reply all
Reply to author
Forward
0 new messages