Fix of "exponentional values generated as G1 F-1.95058e+006 causing problems"
https://github.com/prusa3d/Slic3r/issues/463
This commit is contained in:
parent
98408bbed0
commit
6b2b279889
@ -131,9 +131,13 @@ float Flow::spacing(const Flow &other) const
|
|||||||
// This method returns extrusion volume per head move unit.
|
// This method returns extrusion volume per head move unit.
|
||||||
double Flow::mm3_per_mm() const
|
double Flow::mm3_per_mm() const
|
||||||
{
|
{
|
||||||
return this->bridge ?
|
double res = this->bridge ?
|
||||||
|
// Area of a circle with dmr of this->width.
|
||||||
(this->width * this->width) * 0.25 * PI :
|
(this->width * this->width) * 0.25 * PI :
|
||||||
this->width * this->height + 0.25 * (this->height * this->height) / (PI - 4.0);
|
// Rectangle with semicircles at the ends. ~ h (w - 0.215 h)
|
||||||
|
this->height * (this->width - this->height * (1. - 0.25 * PI));
|
||||||
|
assert(res > 0.);
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
Flow support_material_flow(const PrintObject *object, float layer_height)
|
Flow support_material_flow(const PrintObject *object, float layer_height)
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
#define FLAVOR_IS(val) this->config.gcode_flavor == val
|
#define FLAVOR_IS(val) this->config.gcode_flavor == val
|
||||||
#define FLAVOR_IS_NOT(val) this->config.gcode_flavor != val
|
#define FLAVOR_IS_NOT(val) this->config.gcode_flavor != val
|
||||||
@ -259,6 +260,8 @@ std::string GCodeWriter::toolchange(unsigned int extruder_id)
|
|||||||
|
|
||||||
std::string GCodeWriter::set_speed(double F, const std::string &comment, const std::string &cooling_marker) const
|
std::string GCodeWriter::set_speed(double F, const std::string &comment, const std::string &cooling_marker) const
|
||||||
{
|
{
|
||||||
|
assert(F > 0.);
|
||||||
|
assert(F < 100000.);
|
||||||
std::ostringstream gcode;
|
std::ostringstream gcode;
|
||||||
gcode << "G1 F" << F;
|
gcode << "G1 F" << F;
|
||||||
COMMENT(comment);
|
COMMENT(comment);
|
||||||
|
@ -158,6 +158,7 @@ public:
|
|||||||
BoundingBoxf3 bounding_box() const {
|
BoundingBoxf3 bounding_box() const {
|
||||||
BoundingBoxf3 bbox;
|
BoundingBoxf3 bbox;
|
||||||
if (! this->vertices_and_normals_interleaved.empty()) {
|
if (! this->vertices_and_normals_interleaved.empty()) {
|
||||||
|
bbox.defined = true;
|
||||||
bbox.min.x = bbox.max.x = this->vertices_and_normals_interleaved[3];
|
bbox.min.x = bbox.max.x = this->vertices_and_normals_interleaved[3];
|
||||||
bbox.min.y = bbox.max.y = this->vertices_and_normals_interleaved[4];
|
bbox.min.y = bbox.max.y = this->vertices_and_normals_interleaved[4];
|
||||||
bbox.min.z = bbox.max.z = this->vertices_and_normals_interleaved[5];
|
bbox.min.z = bbox.max.z = this->vertices_and_normals_interleaved[5];
|
||||||
|
Loading…
Reference in New Issue
Block a user