Results 211 to 220 of 396
-
03-04-2015, 11:28 AM #211
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.
-
03-04-2015, 12:34 PM #212
- 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.
-
03-04-2015, 12:48 PM #213
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.
-
03-04-2015, 01:41 PM #214
- Join Date
- Feb 2015
- Posts
- 371
Just the same files that are in the gut hub folders.
-
03-04-2015, 03:02 PM #215
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
-
03-06-2015, 08:14 AM #216
-
03-06-2015, 09:48 AM #217
- 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.
-
03-06-2015, 11:44 AM #218
-
03-08-2015, 11:59 PM #219
- 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?
-
03-09-2015, 11:08 AM #220
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!
Holes and pockmarks in print walls
06-04-2024, 09:14 AM in General 3D Printing Discussion