Close



Page 22 of 40 FirstFirst ... 12202122232432 ... LastLast
Results 211 to 220 of 396
  1. #211
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    I only use Slic3r. You can add Post-Processing scripts to Slic3r. Check out: http://manual.slic3r.org/advanced/post-processing
    Last edited by Roxy; 03-04-2015 at 12:46 PM.

  2. #212
    Engineer-in-Training
    Join Date
    Feb 2015
    Posts
    371
    Read that page and for people like me (non-coders), I have no idea what to do next. It says add the file path to the script to run (I get that) but in the zip file there are multiple files in the slic3r post script folder. Which is the executable file you link to? Where does the parent folder get placed?

    I m happy not using this, just thought it intereesting enough to try and incorporate into my printing routine.

  3. #213
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    What scripts do you see in the .ZIP file? I suspect the name is going to indicate what it does. What I would do is move the script to the Slicer directory in Program Files and then point to it within Slic3r. I also suspect it will give you error messages if it can't find the script but I don't know that for sure.

  4. #214
    Engineer-in-Training
    Join Date
    Feb 2015
    Posts
    371
    Just the same files that are in the gut hub folders.


    Attached Images Attached Images

  5. #215
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Ok, I know what is going on... That stuff you found is my G29 Post Processing code written with MicroSoft's Visual Studio. At the time that was done we were thinking Cura and Slic3r would need different post processing scripts. I think we have agreed that is not true. There is a Python script that should be in the Cura directory. In fact, I'm not sure there should be separate directories because the post processors should be compatible regardless of which slicer you use. You are looking for a file called: G29_bounding_box.py I can't attach a Python file, so I'll paste it into this message:

    Code:
    #Name: G29 Bounding Box 0.1
    #Info: Find a print's bounding box and pass those coordinates to enhanced G29
    #Help: G29BoundingBox
    #Depend: GCode
    #Type: postprocess
    #Param: boundingBoxExtension(float:0) Buffer to add to print bounding box (mm)
    
    
    ## Prototype by Dave Beck, beck.dac@live.com
    ## Please contribute!
    ## Idea from various sources
    ## Please see the following forum topics:
    ## http://3dprintboard.com/showthread.php?6165-Marlin-firmware-fork-for-MakerFarm-i3v-w-auto-bed-level-amp-Roxy-s-enhancements
    ## http://3dprintboard.com/showthread.php?3105-Auto_Bed_Leveling-Enhanced-G29-command
    
    
    ## This script is licensed under the Creative Commons - Attribution - Share Alike (CC BY-SA) terms
    
    
    # Uses -
    # G29 V<verbosity flag, 0-4> T n<probe points in X & Y> L<in mm> F<in mm> R<in mm> B<in mm>
    #    where LFRB define the bounding box coordinates in mm
    
    
    #history / changelog:
    # v 0.9: Initial prototype
    
    
    version = '0.9'
    
    
    import re
    import sys # for maxint
    
    
    def getValue(line, key, default = None):
    	if not key in line or (';' in line and line.find(key) > line.find(';') and not ";LAYER:" in key):
    		return default
    	subPart = line[line.find(key) + len(key):] #allows for string lengths larger than 1
            if ";LAYER:" in key:
                    m = re.search('^[+-]?[0-9]*', subPart)
            else:
                    m = re.search('^[-]?[0-9]+\.?[0-9]*', subPart) #the minus at the beginning allows for negative values, e.g. for delta printers
    	if m == None:
    		return default
    	try:
    		return float(m.group(0))
    	except:
    		return default
    
    
    bbL = -sys.maxint;
    bbF = sys.maxint;
    bbR = sys.maxint;
    bbB = -sys.maxint;
    with open(filename, "r") as f:
    	lines = f.readlines()
    
    
    x = 0;
    y = 0;
    layer = 0;
    for line in lines:
    	if getValue(line, 'G', None) == 1:
    		x = getValue(line, 'X', None);
    		y = getValue(line, 'Y', None);
    		if x != None:
    			if x > bbL:
    				bbL = x;
    			if x < bbR:
    				bbR = x;
    		if y != None:
    			if y > bbB:
    				bbB = y;
    			if y < bbF:
    				bbF = y;
    		#print line
    		#print repr(x) + " " + repr(y) + " - L" + repr(bbL) + " F" + repr(bbF) + " R" + repr(bbR) + " B" + repr(bbB)
    	if getValue(line, 'G', None) == 29:
    		G29line = line;
    	if ';LAYER:' in line:
    		layer = getValue(line, ';LAYER:', layer)
    		if layer > 0:
    			break;
    
    
    # do error checking on bb values
    # not implemented
    
    
    # adjust bb values with boundingBoxExtension
    # not implemented
    
    
    print "Bounding Box: L" + repr(bbL) + " F" + repr(bbF) + " R" + repr(bbR) + " B" + repr(bbB)
    print "G29 line before modification: " + G29line
    
    
    # reprocess file and modify G29
    # not implemented

  6. #216
    Engineer clough42's Avatar
    Join Date
    May 2014
    Location
    Meridian, ID
    Posts
    418
    Quote Originally Posted by Roxy View Post
    I only use Slic3r. You can add Post-Processing scripts to Slic3r. Check out: http://manual.slic3r.org/advanced/post-processing
    Can someone explain why we need post processing scripts again? Inever followed that part of the conversation. I've been using Slic3r exclusively with this firmware without any scripts for months.

  7. #217
    Engineer
    Join Date
    Jul 2014
    Location
    Eastern Colorado
    Posts
    536
    The post-processing scripts were for the G29 ABL routine to limit itself just to the area of the print bed where the object would be printed, instead of the whole bed.

  8. #218
    Engineer clough42's Avatar
    Join Date
    May 2014
    Location
    Meridian, ID
    Posts
    418
    Quote Originally Posted by AbuMaia View Post
    The post-processing scripts were for the G29 ABL routine to limit itself just to the area of the print bed where the object would be printed, instead of the whole bed.
    Gotcha. That makes sense. Since I'm not using it, that also explains why I was blissfully unaware.

  9. #219
    Engineer-in-Training
    Join Date
    Feb 2015
    Posts
    371
    I got this series of numbers returned to me after my ABL tonight.

    1.000000 0.000000 -0.000845
    0.000000 1.000000 0.000304
    0.000845 -0.000304 1.000000


    The diagonal reads 1.xxxxx Does my glass really have a 1mm ridge down the diagonal?


  10. #220
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by tsteever View Post
    I got this series of numbers returned to me after my ABL tonight.

    1.000000 0.000000 -0.000845
    0.000000 1.000000 0.000304
    0.000845 -0.000304 1.000000

    The diagonal reads 1.xxxxx Does my glass really have a 1mm ridge down the diagonal?
    Almost for sure, that is the Bed Level Correction matrix. This is the matrix any coordinate gets multiplied against to map it into the 'unlevel' coordinate system. The strange thing is it looks like you are fighting resolution problems with the Arduino math package. The diagonal can't really be unity if there are other components. It would be more plausible if you had .9999 going down the diagonal. But be that as it may be, it is saying your bed is very level!

Page 22 of 40 FirstFirst ... 12202122232432 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •