Problem with resulting precision print compared to CURA

I absolutely fell in love with craftware and its standard behavior to retract before moving to another perimeter (that i hope will not go away)
That feature was the KEY that made me switch from CURA.

I am now working on some (somewhat) complex parts that i (re) designed in 3ds max with less then 0.5mm clearance between parts.
I would print exact same parts with exact same parameters, one in Craftware and another in CURA
To say the least, parts printed in Craftware dont work. Parts printed in CURA work nearly perfect.

There is 1 problem with all prints, bulging corners (that is). When i printed parts with CURA, parts were as usual with minor (microscopic) bulgy corners that i would shave off with a razor blade, then parts would fit and mechanism would work as intended (bulging is not software or hardware issue. Nozzle is 0.4mm so sharp edges are not very sharp)
When printed exact same parts with Craftware, parts look great an all (somehow they do have different texture to it) but they dont fit. I would say that in my case, i lack almost 1mm clearance.

I am not sure if its a path related issue or path smoothing value but it might be a path issue.

I suspect that Craftware is not generating path same as other slicers do (obviously)
To be more specific it has this smoothing parameter that if set to 0, makes the nozzle jerk.
The fact that with 0 smoothing nozzle jerks tells me that outer edge of a straight box is not drawn straight to begin with.
If i have a square box, shouldn't i have 4 straight lines ? But i think that in reality, Craftware does not just follow the shape of an object, but something else. Maybe it fills an object with tiny balls and then does it calculation based on that ? This would be the only way i could explain the jerking effect with no smoothing is enabled.

Can someone explain why and if i need to change something ?
I dont see any settings in CURA about path smoothing, and preview of layers shows straight lines generated exactly as the model suggested.

Thanks !
Will post some side by side pictures to compare.

November 21, 2014

Tony Tony
Friendly
131 posts

37 replies


Change the "Type" under the Top/Bottom Shell Settings from Concentric to Paralell Lines.
Problem with resulting precision print compared to CURA

November 21, 2014

Jacob Gift Jacob Gift
Revered
534 posts

Its already parallel. I never changed that.

November 21, 2014

Tony Tony
Friendly
131 posts

Tony, Thanks for checking and testing CraftWare! Here comes a little technical explanation, so you can understand why it is like this. Also at the end of this post I'll summarize the changes of the next slicer engine (that is already in progress since a month or two).
Tony wrote:If i have a square box, shouldn't i have 4 straight lines ? But i think that in reality, CraftWare does not just follow the shape of an object, but something else. Maybe it fills an object with tiny balls and then does it calculation based on that ?

Wow! You are so close.
Most of the slicers I know are vector based. They calculate everything in 2D vector space. However, in CraftWare most of the things are calculated in raster space. These things including:

  • offsetting polygons. In raster space it means implicit clipping and polygon error fixing. Techically it works on a 8bit antialiased picture that contains filled polygons: An offseting operation is made by blurring the image and then thresholding at a specific brightness value (eg: 128 means no offsetting), then rescaling around the specified brightness value so that a new anti aliased picture is born offseted to the right distance. Then comes the contour detection which converts a picture to vector polygon coordinated. It's similar to the "ISO Surface extraction" but in 2D, that's why your hypothesis is so close to reality.
  • making boolean operations with neighboring layers. Used to decide Top/Bottom shell and Infill area.
  • clipping infill lines with polygons (stored in raster space)

Also there are traditional vector things in CW:

  • toolpath optimizer which takes about half the slicing time. (can be improved if "Layer starting position" is not "Last head position")
  • gcode encoder
  • also at the beginning the 3D -> 2D slicing process is of course in vector space.

These are the benefits of working in raster space:

  • It is fast and and is quiet invariant of geometric complexity. Als that's why it is so slow for extremely simple objects like a dog bowl for example.
  • Implicitly solves offsetting/clipping errors. You just cant divide by zero in raster space :D
  • Calculating infill and top/bottom shell and soft-support areas in 1bit/pixel raster space is a joke with SSE instructions. Those can deal with 128 pixels in one clock cycle. On EW=0.4mm it's that is 17 mm^2 per clock on an arbitrary complex object.
  • Erroneous mesh detection is also implicit: When there are white pixels grow up until the right edge of a raster image, it means the input mesh is not watertight and then a graph based 2D mesh repairing function is used to heal the mesh.

And here are the downsides of doing things in raster space:

  • vector -> raster transition is expensive.
  • raster -> vector transition is even more expensive. :D (But on complex models it totally worth the effort. For example on a human skull model)
  • Because of the ISO-contour extraction: sharp edges are rounded and objects too close to each other are connected. Just like in a meta ball demo effect. (Just typed in google, and this is how it look like:

  • Infill and Top/Bottom shell line clipping has a limited precision. The pixel size is Extrusion Width/3, do somewhere fill structures can be too close or too far from the Loops or the Perimeter. You can adjust this with the Fill Overlap* parameter.


And here's a raster space example: This is how CraftWare's "signature" octagonal skirts are created:

  • bleed every white pixel into up/down/left/right directions in a + shape.
  • bleed every white pixel into all four diagonal directions too.
  • go to 1 until enough skirt distance has been offsetted.

Problem with resulting precision print compared to CURA
So I think now it's a bit more clear how this slicer works, so here's what you can do:

  • Don't set Path Smoothing to 0. It means that every micro-segment will be kept that the contour detector produces. And with the too small moves, the printer may cough some unwanted bubbles. (PS=0 means max move length is around EW/2 and min movement is 0.00001) "I don't see any settings in CURA about path smoothing" -> Path smoothing is a must to clean up the micro-segments that the iso contour detector produces. It is obsolete in a vector offsetter.
  • Use Shell Offset* to alter the first offsetting operation which is -0.5WE by default. You can adjust it bye 1/3 maybe 1/2 EW, otherwise you'll get an exception. It's an experimental feature, I used it well with twisted_bottle_mm.stl.
  • Also to slightly adjust the outer size of your object, you can tweak the Perimeter extrusion ratio on the Adjustments tab.
  • And for nice shell quality slow down to 20mm/sec! You can adjust it on the Adjustments tab.

Please note that most of these parameters are only accessible in the upcoming 1.07 CraftWare so stay tuned!
And finally some info about the new slicing engine that hopefully will arrive in 1.08(?):

  • Offsetting operation in vector space for the exact preciseness that required with mechanical parts. Although the previous raster engine will be selectable: you can choose speed or quality.
  • Intelligent toolpath optimizer with the main goal of keeping the extruder busy most of the time. Also it will use multicore even when selecting "last head position" as the "Layer Start Position".

I hope your problem can be solved in the future, but if not, please send us your GCODE/STL (or critical part of the STL) if you can, maybe we can figure out, how to print it better.

November 21, 2014

Janos Janos
Admin
561 posts

I cant upload anything here, not even a picture. This forum system is the least friendly i've seen over the last few years.
But files already uploaded (lucky me) to thingiverse
http://www.thingiverse.com/thing:550788/#files
You will need
Base.STL
Bearing_Lever.STL
Bearing_Lever_Pivot.STL

Printing them in CURA makes them fit like a glove with very little (if at all) clean up on 1st 2 layers due to bulging effect caused by initial layer height is actually lower then 0.3mm to allow better adhesion to the built platform.
I can prep the surface and have it calibrated perfectly to 0.0mm at Z home, but i go little lower to help it stick to the bed.
It helps to stick but it creates slight bulging effect that i wold shave off with a razor blade.

November 21, 2014

Tony Tony
Friendly
131 posts

After thinking about it i find that system of filling the space with balls is very effective (as you said) and can ignore common problems with the model as not all modelers realize how important that can be sometimes.
BUT perhaps add a feature to generate path the good old way preserving the same perimeter print behavior ? (complete each perimeter before starting another one, and retract before moving to another perimeter as its doing it already)

Or maybe give options to decrease the size of balls for better generating of the path ?
Perhaps.
Or maybe add more smaller size filler balls (what ever you call them) around the perimeter area since its more important for dimensions ?

Honestly am not even sure what am i proposing here, i am no software developer in that complexity. Most i can come up with is an automation program with GUI.

November 21, 2014

Tony Tony
Friendly
131 posts

Tony wrote:
BUT perhaps add a feature to generate path the good old way preserving the same perimeter print behavior ? (complete each perimeter before starting another one, and retract before moving to another perimeter as its doing it already)


+1 on the option to select either the vector or the raster method.

Accurate dimension is very important on some of the models I'm working on.

November 21, 2014

3DForms 3DForms
Superstar
1775 posts

Janos... You are brilliant.

November 21, 2014

Jacob Gift Jacob Gift
Revered
534 posts

I take it that this is another affect of the raster sliceing?

Problem with resulting precision print compared to CURA

If Path smoothing is set to 0.02 or more with Repair Corners enabled the outer perimeter of a sloped and curved surface will have some big loops of filament hanging out of the model at random locations. (see photo) This is most apparent on a cone shape. This can easily be repeated with a 16mm diameter cone going to a point 30mm tall.

I'm not sure if its related but some lines of perimeter paths (on the same corner) appear to corner at different angles, some layers look like it has a 45 degree chamfer and some are a nice 90 degrees, this creates a uneven/jagged corner. This is most apparent with Repair corners enabled.

Another issue repair corners will “fix” corners with a chamfer. By that I mean a corner on a model with a chamfer of .75mm will become a 90 degree corner with repair corners enabled. At a 1mm chamfer the slicer can't seems to decide if it should fix a corner or not and the corner will become uneven and jagged.

Other minor stuff:

It would be nice if the save Gcode would auto fill the save-as name with the name of one of the loaded models rather then “save1.gcode”

Brim options for support bars, bars can be knocked over easily.

“1st layer extr spd ratio” is this ratio based on the speed settings or is it based on the extruder speed ratio which is in turn based on the speed settings?

Strange dots of plastic on the inside objects, (vertical walls) still occurring with infill disabled, the dots are color coded according to the Legend as “HShell”

Would be nice to have options to enable/disable/control of the wall thickening on angled surfaces, not sure what to call it. Its the zigzag pattern on sloped walls. Color coded as “HShell” according to the legend.


Waiting with anticipation for my CraftBot to arrive, keep up the great work:)
Let me know if anything is not clear or if you need more photos/info.

Matthew Lozano

November 22, 2014

Matthew L Matthew L
Exalted
703 posts

+1 on save G-code with file name of the model (with the exception of multiple files).
Also need to add nozzle dimensions (viewable in the view port) to allow printing one object at the time.

November 22, 2014

Tony Tony
Friendly
131 posts

Tony,
I have wondered myself how in the ????? do you upload a JPG in your reply? The JPG is not on some website (https....), its on my computer. Can someone please explain to us uninformed?

November 24, 2014

Ken Kadrmas Ken Kadrmas
Friendly
171 posts

You have to provide direct picture link when you click the picture frame icon on the top of the reply window.
Links can be from websites like photobucket etc, wherever you can upload your pictures.
Problem with those is that sometime they get deleted or moved.
Photobucket recently moved its entire library so people who posted pictures using method utilized by THIS forum are screwed caz all their pictures are not displayed anymore :)
I dont understand why some forums do that. How much storage space do you have ?
At least give us an option with what ever dimensions or size limitations you need, that be better then nothing.
Dimension limitation is very ugly, size limit is better because some people take pictures with cameras and never resize or resave them making them 5-10% of its size.

November 25, 2014

Tony Tony
Friendly
131 posts

Matthew L wrote:I take it that this is another affect of the raster sliceing?
If Path smoothing is set to 0.02 or more with Repair Corners enabled the outer perimeter of a sloped and curved surface will have some big loops of filament hanging out of the model at random locations. (see photo) This is most apparent on a cone shape. This can easily be repeated with a 16mm diameter cone going to a point 30mm tall.

Don't use corner repair on rounded objects. Corner repair is useful for squared objects where you purposely want sharp corners.

November 25, 2014

Janos Janos
Admin
561 posts

What am i suppose to do when i have a object with both sharp and rounded corners ?

I think slicer needs big change.

November 25, 2014

Tony Tony
Friendly
131 posts

Tony wrote:What am i suppose to do when i have a object with both sharp and rounded corners ?

I think slicer needs big change.

Slicer is before a big change. In the past 2 months of development was silent, but it is a huge step towards a much better slicer.

November 25, 2014

Janos Janos
Admin
561 posts

Hi Tony.

What settings do you use on Cura that allow craftbot to interpret the generated gcode?

Regards.

December 4, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

Yea I was gonna ask the same thing Juan.. and/or if he could share it..

December 4, 2014

Bixit219 Bixit219
Superstar
1451 posts

I don't have craft bot, I have robot 3d.
If craft bot works with craft ware, it will work with cura. Just create custom machine called OTHER and it will generate standard code flavor.
I use exact same settings for both programs.
I will do more prints later to see if latest craftware does screw up the prints and if older one doesn't. Will post my finding

December 4, 2014

Tony Tony
Friendly
131 posts

I tried two slightly different standard configurations in cura, generated the gcode and tried to run it in craftbot via usb.
The motors did not move with the first configuration.
With the second, the steppers started doing some strange movements and the belt started to skip some teeth so I had to quickly shut down my CB. At this point it is dangerous to try again without really knowing how the gcode is been generated.

December 4, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

@Juan
You need to define the machine setting in Cura for CraftBot.

There's a "GCode Flavor". I'm not sure which flavor would work, but my guess the closest one should be MakerBot flavor.

If you decide to give it a try, be prepare to stop the printer immediately if things does not seem to go right. Please provide some feedback.

December 4, 2014

3DForms 3DForms
Superstar
1775 posts

I tried a ultimaker 2 profile, and it did not work.
I will try a makerbot flavor see what happens and let you guys know.

December 4, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

Use reprap marlin flavor.
If craftware and cura works with my printer (which is not craftbot) then that means craftware and cura generate same code flavor that matches reprap marlin boards interpretation

December 4, 2014

Tony Tony
Friendly
131 posts

Good point Tony. Thanks I will try that.

December 4, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

No luck with cura ->reprap/marlin or makerbot. Probably the gcode interpreter needs some work.

December 5, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

Well then, i guess i know whats not going to make to my shopping list this year. CraftBot !

I dont understand why they went custom firmware of there are plenty that work and work great.

Oh well.

December 5, 2014

Tony Tony
Friendly
131 posts

Juan Angel Hernandez Hernandez wrote:No luck with cura ->reprap/marlin or makerbot. Probably the gcode interpreter needs some work.


What do you mean "no luck"? What does it do/not do?

Neither Cura nor Craftware creates strange G-CODE.

December 5, 2014

Errol Errol
Beginner
9 posts

Well to be a little more specific.
When I created a reprap/marlin profile on cura, I manually set the dimensions of the plate, and the extruder hole diameter. Then I loaded a model, sliced it and saved it on a usb stick. When I loaded this file on the craftbot the motors started to behave erratically, and the extruder moved slow and the belts skipped some steps.

When I created a makerbot profile, the extruder head travled to the center, and it started to move very slowly, I'm guessing that I probably have to tweak something to do with the speed. What I did not like is that the motors started making strange noises, like they were being forced. At the end I saw a couple of thick PLA plastic lines on the hot plate, because of the low motor speed and probably fast filament feed speed also.

December 5, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

Two things.

Make sure you set the filament to 1.75mm, think it is on the first tab on the left. It defaults to 3mm and bites me every time...

Verify all the speeds. I think the print speed is 100mm/s by default. Start way slower. Same with travel speeds...

December 5, 2014

Errol Errol
Beginner
9 posts

Thanks Errol.

Now that you mentioned it I did set the filament size to 1.75mm, but I did not look at travel speeds or print speeds at all, I will try to tweak those parameters next time.

December 5, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

Tony wrote:Well then, i guess i know whats not going to make to my shopping list this year. CraftBot !

I dont understand why they went custom firmware of there are plenty that work and work great.

Oh well.


@Tony,

CraftBot should work with standard gcodes. I believe the problem is we don't know what the proper profile setting for CraftBot in Cura.

Another user Stan had used Simplify3D slicer on the CraftBot without any issue.

http://www.craftunique.com/forums/view-thread/141

He used below start and end gcodes in his Simplify3D setting. Probably we can ask him how he set up his machine profile for CraftBot.

;Craftbot Start Script
G28 X0Y0 ;home xy
G28 Z0 ;home z
G91 ;relative movements
G0 F100 ;speed 100mm/sec
G0 X15 Y15 Z0.4 E12 ;purge nozzle - move to xy15
G90 ;Absolute movements

;Craftbot End Script
M104 S0 ;turn off nozzle heat
M140 S0 ;turn off bed heat
M106 S0;turn off fan
G91 ;relative movements
G0 Z30 F5500 ;move bed down 30mm
G90 ;absolute movements
G0 X0 Y0 ;move to zy home
M84 ;disable motors

December 5, 2014

3DForms 3DForms
Superstar
1775 posts

There is a section in cura where I can modify the start and end gcodes. Thanks for the info 3dforms. I will try these settings as well.

December 5, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

@Juan,
Please follow the link to Stan's post. There are some other info about speed, etc....

December 5, 2014

3DForms 3DForms
Superstar
1775 posts

Will do 3DForms, thanks for the information. I will keep you guys posted.

December 5, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

Ok so thanks to you guys (specially 3DForms) and Stan's post, I managed to start printing a sliced model with cura. I will post pictures with the settings from each of the tabs.

These are the machine settings:
Problem with resulting precision print compared to CURA

These are the basic settings:
Problem with resulting precision print compared to CURA

These are the advanced settings:
Problem with resulting precision print compared to CURA

This is the start Gcode:
Problem with resulting precision print compared to CURA

And this is the end Gcode:
Problem with resulting precision print compared to CURA

And so far this is the print:
Problem with resulting precision print compared to CURA

December 6, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

The only thing is that even though I enabled the cooling fan, it is not turning on. And it is needed so right now I have an external PC fan cooling the print. The thing is that the pla plastics warps a bit if not cooled.

December 6, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts

Thanks for working on this .. CURA maybe my only viable tool until they can address the performance problems with Craftware on OSX .. as it stands I wouldn't even be able to use it if even if I wanted to.

December 6, 2014

Bixit219 Bixit219
Superstar
1451 posts

@Juan,
Hey, glad to see you were able to get it to print with Cura. Nice job! :-)

Maybe you can report the fan not compatible issue with Cura to Janos, so he can implement it in the future.

If you can create a new thread on Cura settings for the CraftBot so other users can refer to it in the future, then that'll be great.

December 6, 2014

3DForms 3DForms
Superstar
1775 posts

Hey 3DForms, here's the post with Cura's settings for further reference:

http://www.craftunique.com/forums/view-thread/217

December 6, 2014

Juan Angel Hernandez Hernandez Juan Angel Hernandez Hernandez
Beginner
27 posts
To start a discussion or reply to a post please Login or Create an account.