Skip to content

Commit

Permalink
merge pullrequest for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
supermerill committed Jul 8, 2024
2 parents c4713c7 + 03906fa commit a5323c5
Show file tree
Hide file tree
Showing 11 changed files with 513 additions and 414 deletions.
23 changes: 20 additions & 3 deletions resources/calibration/filament_pressure/filament_pressure.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,31 @@ <h1>Pressure/Linear Advance</h1>
</tbody>
</table>

<p><strong>this test is still in development, beta should work "ok" for now though.<br> your current print settings will need to be saved before clicking "generate" since it uses the saved values to create the model</strong></p>
<p>note: this test will auto pull all your currently loaded config parameters and generate a model for you to print!<br> for to help with firmware speed/processing limitations it's reccomended to have most extrusion roles similar set to speeds.</p>
<p><strong>this test is still in development, beta should work "ok" for now though.this page will be get updated along with it :)<br> your current print settings will need to be saved before clicking "generate" since it uses the saved values to create the model</strong></p>
<p>note: this test will auto pull all your currently loaded config parameters and generate a model for you to print!<br> for to help with firmware speed/processing limitations it's reccomended to have most extrusion roles similar set to speeds.(but you don't have to!)</p>

<h2>How to tune your printer for Pressure/Linear Advance</h2>
<p>todo add detaisl here</p>
<p>to get started</p>
<ul>
<li>select the number of tests to create, if you select more than 1 for now you will have to resize the window manually(click and drag the window from the bottom right)</li>
<li>select the start/end/increment/ extrusion role values</li>
<li>each row is the config for each base test model, eg; first row = externalPerimeter second row = firstLayer </li>
<li>since each model will have it's own config one test model might be faster/slower than the others, this is expected and normal</li>
<li>i will reccomend setting 'first_layer_speed' and 'first_layer_min_speed' to the same vales </li>

</ul>

<p>what is this "verify" option?<br>
you may notice there is the "verify" option in the extrusion role dropdown, this feature currently doesn't work.(you can still use it, but any role that has gap fill will be incorrect and the test for that role should be ignored!) <br>
when i get it working, it's purpose is to make it easy to see what extrusion roles need it's PA values tuned.
it will create a model for each ER role, and assign that roles speed/acceleration/widths/spacing to the single model<br>
you can then manually add the pressure advance command into the "per region g-code" box, slice and print it.
</p>

<h2>Advice</h2>
<p>Before doing this test, it's preferable to tune everything else first!<br>i would reccomended setting XXXX to the same speeds, XXX to a slow speed, and everything else you can send it with.</p>
<p>note: having large variance with ER speeds can reduce print quality/dimensional accuracy this is effect is mainly caused by the inner perimeter getting pulled closer to the external perimeter as it cools down, since each perimeter would be at different temperatues.</p>
<p>i will reccomend setting 'first_layer_speed' and 'first_layer_min_speed' to the same vales </p>
<p><strong>TODO add things about PA and setting first layer correctly<br>add notes about fan speed and disabling fan speed for this test, or do i have check box in GUI that would auto change relavent UI tab?</strong></p>
<ul>
<li>bullet points</li>
Expand Down
3 changes: 2 additions & 1 deletion src/libslic3r/BuildVolume.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,8 @@ BuildVolume::ObjectState object_state_templ(const indexed_triangle_set &its, con
const stl_vertex p2 = trafo * its.vertices[tri(iedge)];
assert(sign(p1) == s[iprev]);
assert(sign(p2) == s[iedge]);
assert(p1.z() * p2.z() < 0);
assert(p1.z() * p2.z() <= 0);
assert(std::abs(p2.z() - p1.z()) > EPSILON);
// Edge crosses the z plane. Calculate intersection point with the plane.
const float t = (world_min_z - p1.z()) / (p2.z() - p1.z());
(is_inside(Vec3f(p1.x() + (p2.x() - p1.x()) * t, p1.y() + (p2.y() - p1.y()) * t, world_min_z)) ? inside : outside) = true;
Expand Down
2 changes: 2 additions & 0 deletions src/libslic3r/GCodeWriter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ class GCodeWriter {
std::vector<Extruder> m_extruders;
std::vector<Mill> m_millers;
std::string m_extrusion_axis = "E";
std::string m_current_per_object_gcode;
std::string m_last_per_object_gcode;
bool m_single_extruder_multi_material = false;
Tool* m_tool = nullptr;
uint32_t m_last_acceleration = 0;
Expand Down
Loading

0 comments on commit a5323c5

Please sign in to comment.