discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Provide a simple measurement tool

MM
Michael Möller
Sun, Aug 29, 2021 7:19 PM

Ray West asked about my reply :

And the point is - you don't measure the distance created in one
module and then recode it in the other part - you code the distance,

once.

I can't quite envisage this. Any chance you could show a simple example?

Adrian Mariano answered that quite well. That's what the technique covers.
Not two random points.

> > Ray West asked about my reply : > > And the point is - you don't measure the distance created in one > > module and then recode it in the other part - you code the distance, > once. > > I can't quite envisage this. Any chance you could show a simple example? > > Adrian Mariano answered that quite well. That's what the technique covers. Not two random points.
RW
Ray West
Mon, Aug 30, 2021 12:02 AM

On 29/08/2021 20:19, Michael Möller wrote:

 Ray West asked about my reply :

And the point is - you don't measure the distance created in one
module and then recode it in the other part - you code the

 distance, once.

 I can't quite envisage this. Any chance you could show a simple
 example?

Adrian Mariano answered that quite well. That's what the technique
covers. Not two random points.

Hi Michael,

I did not understand what was being said, and I guess understanding
whether the 'you' that you were using was a generic 'you', instructions
for the world at large, or a specific you, a confirmation for Bob.  The
example I posed is just to represent two random points. (It would be
easy to calculate the distance from the two lines of code to generate
the cones in this specific case, but that was not what I was looking
for). The eyeball/cube/whatever can be applied anywhere, relatively
easily. I was of the understanding that you were describing a technique
that could be applied  between any two points, but by being calculated,
instead of eyeballing. I was hoping that based on the example two
points, the code could be written to generate the distance between them,
in a way that could be applied to any two points, no matter how much is
involved in generating them. I suppose it is different in specifying the
distance between two points, say,  compared to having two points and
trying to find the distance between them.

Best wishes,

Ray

On 29/08/2021 20:19, Michael Möller wrote: > > Ray West asked about my reply : > > And the point is - you don't measure the distance created in one > > module and then recode it in the other part - you code the > distance, once. > > I can't quite envisage this. Any chance you could show a simple > example? > > > > Adrian Mariano answered that quite well. That's what the technique > covers. Not two random points. > Hi Michael, I did not understand what was being said, and I guess understanding whether the 'you' that you were using was a generic 'you', instructions for the world at large, or a specific you, a confirmation for Bob.  The example I posed is just to represent two random points. (It would be easy to calculate the distance from the two lines of code to generate the cones in this specific case, but that was not what I was looking for). The eyeball/cube/whatever can be applied anywhere, relatively easily. I was of the understanding that you were describing a technique that could be applied  between any two points, but by being calculated, instead of eyeballing. I was hoping that based on the example two points, the code could be written to generate the distance between them, in a way that could be applied to any two points, no matter how much is involved in generating them. I suppose it is different in specifying the distance between two points, say,  compared to having two points and trying to find the distance between them. Best wishes, Ray
AM
Adrian Mariano
Mon, Aug 30, 2021 12:57 AM

Ray,

I think you need to distinguish two cases.  You are talking about "random"
points.  What's a "random" point?  To me it's the result of a rands()
computation, which means you have the point value in a variable, and hence
it's easy to compute with them.  If you have points that are defined in
some complex way by a sequence of geometry operations then there's no way
to gain access to those points.  So if, say, you don't understand how to
find the point of a cone (in your example) you'd be left with the trial and
error approach.  But anything that OpenSCAD can compute you can compute
yourself, so you can, in principle, write code to compute the location of
points that result from some complex sequence of operations.  We had a
discussion a while back about a bisection method for solving equations.
I've written a linear solver.  Tools like this can find points defined by
geometry.  But it's not something you can extract automatically from your
model.  It's something you have to do separately.

The question I have is: why do you need to know where a point is?  What are
you trying to do that requires this knowledge in a real model?  I wonder if
there might be alternative approaches that don't require that information,
or where the model can be structured so that it's easy to know where the
point is.  I suspect that at least some of the time, such alternative
approaches may exist.

On Sun, Aug 29, 2021 at 8:02 PM Ray West raywest@raywest.com wrote:

On 29/08/2021 20:19, Michael Möller wrote:

Ray West asked about my reply :

And the point is - you don't measure the distance created in one
module and then recode it in the other part - you code the distance,

once.

I can't quite envisage this. Any chance you could show a simple example?

Adrian Mariano answered that quite well. That's what the technique covers.
Not two random points.

Hi Michael,

I did not understand what was being said, and I guess understanding
whether the 'you' that you were using was a generic 'you', instructions for
the world at large, or a specific you, a confirmation for Bob.  The example
I posed is just to represent two random points. (It would be easy to
calculate the distance from the two lines of code to generate the cones in
this specific case, but that was not what I was looking for). The
eyeball/cube/whatever can be applied anywhere, relatively easily. I was of
the understanding that you were describing a technique that could be
applied  between any two points, but by being calculated, instead of
eyeballing. I was hoping that based on the example two points, the code
could be written to generate the distance between them, in a way that could
be applied to any two points, no matter how much is involved in generating
them. I suppose it is different in specifying the distance between two
points, say,  compared to having two points and trying to find the distance
between them.

Best wishes,

Ray


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Ray, I think you need to distinguish two cases. You are talking about "random" points. What's a "random" point? To me it's the result of a rands() computation, which means you have the point value in a variable, and hence it's easy to compute with them. If you have points that are defined in some complex way by a sequence of geometry operations then there's no way to gain access to those points. So if, say, you don't understand how to find the point of a cone (in your example) you'd be left with the trial and error approach. But anything that OpenSCAD can compute you can compute yourself, so you can, in principle, write code to compute the location of points that result from some complex sequence of operations. We had a discussion a while back about a bisection method for solving equations. I've written a linear solver. Tools like this can find points defined by geometry. But it's not something you can extract automatically from your model. It's something you have to do separately. The question I have is: why do you need to know where a point is? What are you trying to do that requires this knowledge in a real model? I wonder if there might be alternative approaches that don't require that information, or where the model can be structured so that it's easy to know where the point is. I suspect that at least some of the time, such alternative approaches may exist. On Sun, Aug 29, 2021 at 8:02 PM Ray West <raywest@raywest.com> wrote: > > On 29/08/2021 20:19, Michael Möller wrote: > > Ray West asked about my reply : >> > And the point is - you don't measure the distance created in one >> > module and then recode it in the other part - you code the distance, >> once. >> >> I can't quite envisage this. Any chance you could show a simple example? >> >> > > Adrian Mariano answered that quite well. That's what the technique covers. > Not two random points. > > > Hi Michael, > > I did not understand what was being said, and I guess understanding > whether the 'you' that you were using was a generic 'you', instructions for > the world at large, or a specific you, a confirmation for Bob. The example > I posed is just to represent two random points. (It would be easy to > calculate the distance from the two lines of code to generate the cones in > this specific case, but that was not what I was looking for). The > eyeball/cube/whatever can be applied anywhere, relatively easily. I was of > the understanding that you were describing a technique that could be > applied between any two points, but by being calculated, instead of > eyeballing. I was hoping that based on the example two points, the code > could be written to generate the distance between them, in a way that could > be applied to any two points, no matter how much is involved in generating > them. I suppose it is different in specifying the distance between two > points, say, compared to having two points and trying to find the distance > between them. > > Best wishes, > > Ray > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RW
Ray West
Mon, Aug 30, 2021 10:45 AM

Hi Adrian,

My use of random was meant to refer points that i did not know the
position of (without a lot of work), any point on (or off) the object,
for example an imported dxf file, or stl generated elsewhere. In my
previous post I came  to the conclusion that you have mentioned in your
first paragraph, below.

wrt why? - If something needs to be made to fit something else.
Depending on the tolerances required, then it becomes an iterative
process of making prototypes, which could be reduced if distances were
more accurately known.

The problem seems to be caused (at the higher level) by the fact that
values can not be passed out from a module.  I'm thinking a solution
would be to parse the text openscad file in some other program/language,
merely to calculate points. The question then becomes how to define the
points of interest? e.g, in words I can describe it as 'the tip of the
cone that is not at the origin' (and then it needs a better definition,
since both tips are not at the origin) , but can I identify/name that
point in openscad?

I tend to work around the limitations to produce what I want, I'm not
adverse to reaming holes to the correct size, for example, but my
approach to these problems is more pragmatic than pure.

Best wishes,

Ray

On 30/08/2021 01:57, Adrian Mariano wrote:

Ray,

I think you need to distinguish two cases.  You are talking about
"random" points.  What's a "random" point?   To me it's the result of
a rands() computation, which means you have the point value in a
variable, and hence it's easy to compute with them.  If you have
points that are defined in some complex way by a sequence of geometry
operations then there's no way to gain access to those points.  So if,
say, you don't understand how to find the point of a cone (in your
example) you'd be left with the trial and error approach.  But
anything that OpenSCAD can compute you can compute yourself, so you
can, in principle, write code to compute the location of points that
result from some complex sequence of operations.  We had a discussion
a while back about a bisection method for solving equations.  I've
written a linear solver.  Tools like this can find points defined by
geometry.  But it's not something you can extract automatically from
your model.  It's something you have to do separately.

The question I have is: why do you need to know where a point is? 
What are you trying to do that requires this knowledge in a real
model?  I wonder if there might be alternative approaches that don't
require that information, or where the model can be structured so that
it's easy to know where the point is.  I suspect that at least some of
the time, such alternative approaches may exist.

On Sun, Aug 29, 2021 at 8:02 PM Ray West <raywest@raywest.com
mailto:raywest@raywest.com> wrote:

 On 29/08/2021 20:19, Michael Möller wrote:
     Ray West asked about my reply :

And the point is - you don't measure the distance created

     in one

module and then recode it in the other part - you code the

     distance, once.

     I can't quite envisage this. Any chance you could show a
     simple example?



 Adrian Mariano answered that quite well. That's what the
 technique covers. Not two random points.
 Hi Michael,

 I did not understand what was being said, and I guess
 understanding whether the 'you' that you were using was a generic
 'you', instructions for the world at large, or a specific you, a
 confirmation for Bob.  The example I posed is just to represent
 two random points. (It would be easy to calculate the distance
 from the two lines of code to generate the cones in this specific
 case, but that was not what I was looking for). The
 eyeball/cube/whatever can be applied anywhere, relatively easily.
 I was of the understanding that you were describing a technique
 that could be applied  between any two points, but by being
 calculated, instead of eyeballing. I was hoping that based on the
 example two points, the code could be written to generate the
 distance between them, in a way that could be applied to any two
 points, no matter how much is involved in generating them. I
 suppose it is different in specifying the distance between two
 points, say,  compared to having two points and trying to find the
 distance between them.

 Best wishes,

 Ray


 _______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org
 <mailto:discuss-leave@lists.openscad.org>

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Hi Adrian, My use of random was meant to refer points that i did not know the position of (without a lot of work), any point on (or off) the object, for example an imported dxf file, or stl generated elsewhere. In my previous post I came  to the conclusion that you have mentioned in your first paragraph, below. wrt why? - If something needs to be made to fit something else. Depending on the tolerances required, then it becomes an iterative process of making prototypes, which could be reduced if distances were more accurately known. The problem seems to be caused (at the higher level) by the fact that values can not be passed out from a module.  I'm thinking a solution would be to parse the text openscad file in some other program/language, merely to calculate points. The question then becomes how to define the points of interest? e.g, in words I can describe it as 'the tip of the cone that is not at the origin' (and then it needs a better definition, since both tips are not at the origin) , but can I identify/name that point in openscad? I tend to work around the limitations to produce what I want, I'm not adverse to reaming holes to the correct size, for example, but my approach to these problems is more pragmatic than pure. Best wishes, Ray On 30/08/2021 01:57, Adrian Mariano wrote: > Ray, > > I think you need to distinguish two cases.  You are talking about > "random" points.  What's a "random" point?   To me it's the result of > a rands() computation, which means you have the point value in a > variable, and hence it's easy to compute with them.  If you have > points that are defined in some complex way by a sequence of geometry > operations then there's no way to gain access to those points.  So if, > say, you don't understand how to find the point of a cone (in your > example) you'd be left with the trial and error approach.  But > anything that OpenSCAD can compute you can compute yourself, so you > can, in principle, write code to compute the location of points that > result from some complex sequence of operations.  We had a discussion > a while back about a bisection method for solving equations.  I've > written a linear solver.  Tools like this can find points defined by > geometry.  But it's not something you can extract automatically from > your model.  It's something you have to do separately. > > The question I have is: why do you need to know where a point is?  > What are you trying to do that requires this knowledge in a real > model?  I wonder if there might be alternative approaches that don't > require that information, or where the model can be structured so that > it's easy to know where the point is.  I suspect that at least some of > the time, such alternative approaches may exist. > > On Sun, Aug 29, 2021 at 8:02 PM Ray West <raywest@raywest.com > <mailto:raywest@raywest.com>> wrote: > > > On 29/08/2021 20:19, Michael Möller wrote: >> >> Ray West asked about my reply : >> > And the point is - you don't measure the distance created >> in one >> > module and then recode it in the other part - you code the >> distance, once. >> >> I can't quite envisage this. Any chance you could show a >> simple example? >> >> >> >> Adrian Mariano answered that quite well. That's what the >> technique covers. Not two random points. >> > Hi Michael, > > I did not understand what was being said, and I guess > understanding whether the 'you' that you were using was a generic > 'you', instructions for the world at large, or a specific you, a > confirmation for Bob.  The example I posed is just to represent > two random points. (It would be easy to calculate the distance > from the two lines of code to generate the cones in this specific > case, but that was not what I was looking for). The > eyeball/cube/whatever can be applied anywhere, relatively easily. > I was of the understanding that you were describing a technique > that could be applied  between any two points, but by being > calculated, instead of eyeballing. I was hoping that based on the > example two points, the code could be written to generate the > distance between them, in a way that could be applied to any two > points, no matter how much is involved in generating them. I > suppose it is different in specifying the distance between two > points, say,  compared to having two points and trying to find the > distance between them. > > Best wishes, > > Ray > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > <mailto:discuss-leave@lists.openscad.org> > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
GH
Gene Heskett
Mon, Aug 30, 2021 2:28 PM

On Sunday 29 August 2021 03:47:09 Gene Heskett wrote:

On Saturday 28 August 2021 23:21:21 MichaelAtOz wrote:

Calibration is something you need to do, not the printer.

You need to slice & print calibration objects and get your callipers
out.

Then adjust slicer settings, rinse, repeat, until you get physical
objects matching the specification of the calibration object.

You will need to have profiles for different materials with settings
from a calibration run for that material (usually just extruder
settings being different).

I haven't calibrated for a long time as I use Shapeways, but Google
coughed up these which look reasonable.

Yes, I dl'd several of them, should be helpfull, thank you.

I am preparing to print 1 or two of what I have dl'd from the links above
and below, but first I thought I'd see what happens to a priint by
fiddling with temps and flows. Flow in particular seems to be excessive.
so as a test, using the printers builtin first layer calibration.
adjusted it for an initial single line thickness of .19mm, but the solid
pad at the end of that pattern was .25 to .27 thick, so I repeated that
but at 90% flow from the printers tune menu, and got a final pad .21mm
thick that when microscoped, was still nicely welded to the adjacent
line, but the top surface felt a lot smoother, so I have it doing one of
the spline parts, and its looking cleaner about half done than previous
copies have.  Then I'll do that 100mmX,100mmY,50mmZ thingy. Big enough
to separate scaling errors from nozzle radius errors.

There is little point printing functional objects until you can
print a calibration object accurately.

https://www.thingiverse.com/search?q=calibration
https://www.thingiverse.com/search?q=calibration&type=things
&type=things


From: Father Horton [mailto:fatherhorton@gmail.com]
Sent: Sun, 29 Aug 2021 12:36
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Provide a simple measurement tool

It almost sounds as if your printer profile is messed up. Are you
using defaults in PrusaSlicer, or did you change something, or are
you using Cura?

On Sat, Aug 28, 2021 at 9:24 PM Gene Heskett gheskett@shentel.net
wrote:

On Saturday 28 August 2021 20:51:21 Gareth Chen wrote:

If your printer is printing 5.98mm parts to be 6.51mm tall it's
seriously out of calibration...

Its a Prusa mk3S, has about a 25 minute calibration using markers on
the bed for xy references. But other that running z against to top
stops and hammering on the top for a while, I don't see where it
calibrates the z range. XY home apparently senses motor current to
detect just touching the left and rear stops. Not even hard enough
to obviously hear it hit. If the same circuit is used for detecting
the top of travel, then its failing as its dual z motors and useing
a default because it hammers the top of travel for about a full
second. I'll ask prusa monday. And get the m command to change it
too.

Thank you..
[...]
Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law
respectable. - Louis D. Brandeis
Genes Web page http://geneslinuxbox.net:6309/gene


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.

On Sunday 29 August 2021 03:47:09 Gene Heskett wrote: > On Saturday 28 August 2021 23:21:21 MichaelAtOz wrote: > > Calibration is something you need to do, not the printer. > > > > You need to slice & print calibration objects and get your callipers > > out. > > > > Then adjust slicer settings, rinse, repeat, until you get physical > > objects matching the specification of the calibration object. > > > > You will need to have profiles for different materials with settings > > from a calibration run for that material (usually just extruder > > settings being different). > > > > > > > > I haven't calibrated for a long time as I use Shapeways, but Google > > coughed up these which look reasonable. > > Yes, I dl'd several of them, should be helpfull, thank you. > > > https://all3dp.com/2/how-to-calibrate-a-3d-printer-simply-explained/ > > > > > > > > Then do some torture tests > > > > > > > > https://all3dp.com/2/best-3d-printer-test-print-3d-models/ > > I am preparing to print 1 or two of what I have dl'd from the links above and below, but first I thought I'd see what happens to a priint by fiddling with temps and flows. Flow in particular seems to be excessive. so as a test, using the printers builtin first layer calibration. adjusted it for an initial single line thickness of .19mm, but the solid pad at the end of that pattern was .25 to .27 thick, so I repeated that but at 90% flow from the printers tune menu, and got a final pad .21mm thick that when microscoped, was still nicely welded to the adjacent line, but the top surface felt a lot smoother, so I have it doing one of the spline parts, and its looking cleaner about half done than previous copies have. Then I'll do that 100mmX,100mmY,50mmZ thingy. Big enough to separate scaling errors from nozzle radius errors. > > > > > > There is little point printing functional objects until you can > > print a calibration object accurately. > > > > > > > > https://www.thingiverse.com/search?q=calibration > > <https://www.thingiverse.com/search?q=calibration&type=things> > > &type=things > > > > > > > > > > > > _____ > > > > From: Father Horton [mailto:fatherhorton@gmail.com] > > Sent: Sun, 29 Aug 2021 12:36 > > To: OpenSCAD general discussion > > Subject: [OpenSCAD] Re: Provide a simple measurement tool > > > > > > > > It almost sounds as if your printer profile is messed up. Are you > > using defaults in PrusaSlicer, or did you change something, or are > > you using Cura? > > > > > > > > On Sat, Aug 28, 2021 at 9:24 PM Gene Heskett <gheskett@shentel.net> > > wrote: > > > > On Saturday 28 August 2021 20:51:21 Gareth Chen wrote: > > > If your printer is printing 5.98mm parts to be 6.51mm tall it's > > > seriously out of calibration... > > > > Its a Prusa mk3S, has about a 25 minute calibration using markers on > > the bed for xy references. But other that running z against to top > > stops and hammering on the top for a while, I don't see where it > > calibrates the z range. XY home apparently senses motor current to > > detect just touching the left and rear stops. Not even hard enough > > to obviously hear it hit. If the same circuit is used for detecting > > the top of travel, then its failing as its dual z motors and useing > > a default because it hammers the top of travel for about a full > > second. I'll ask prusa monday. And get the m command to change it > > too. > > > > Thank you.. > > [...] > > Cheers, Gene Heskett > > -- > > "There are four boxes to be used in defense of liberty: > > soap, ballot, jury, and ammo. Please use in that order." > > -Ed Howdershelt (Author) > > If we desire respect for the law, we must first make the law > > respectable. - Louis D. Brandeis > > Genes Web page <http://geneslinuxbox.net:6309/gene> > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > Cheers, Gene Heskett Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene>
NH
nop head
Mon, Aug 30, 2021 3:21 PM

The nozzle radius has no effect on the object dimensions. What matters is
the volume of plastic flowing through it.

On Mon, 30 Aug 2021 at 15:28, Gene Heskett gheskett@shentel.net wrote:

On Sunday 29 August 2021 03:47:09 Gene Heskett wrote:

On Saturday 28 August 2021 23:21:21 MichaelAtOz wrote:

Calibration is something you need to do, not the printer.

You need to slice & print calibration objects and get your callipers
out.

Then adjust slicer settings, rinse, repeat, until you get physical
objects matching the specification of the calibration object.

You will need to have profiles for different materials with settings
from a calibration run for that material (usually just extruder
settings being different).

I haven't calibrated for a long time as I use Shapeways, but Google
coughed up these which look reasonable.

Yes, I dl'd several of them, should be helpfull, thank you.

I am preparing to print 1 or two of what I have dl'd from the links above
and below, but first I thought I'd see what happens to a priint by
fiddling with temps and flows. Flow in particular seems to be excessive.
so as a test, using the printers builtin first layer calibration.
adjusted it for an initial single line thickness of .19mm, but the solid
pad at the end of that pattern was .25 to .27 thick, so I repeated that
but at 90% flow from the printers tune menu, and got a final pad .21mm
thick that when microscoped, was still nicely welded to the adjacent
line, but the top surface felt a lot smoother, so I have it doing one of
the spline parts, and its looking cleaner about half done than previous
copies have.  Then I'll do that 100mmX,100mmY,50mmZ thingy. Big enough
to separate scaling errors from nozzle radius errors.

There is little point printing functional objects until you can
print a calibration object accurately.

https://www.thingiverse.com/search?q=calibration
https://www.thingiverse.com/search?q=calibration&type=things
&type=things


From: Father Horton [mailto:fatherhorton@gmail.com]
Sent: Sun, 29 Aug 2021 12:36
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Provide a simple measurement tool

It almost sounds as if your printer profile is messed up. Are you
using defaults in PrusaSlicer, or did you change something, or are
you using Cura?

On Sat, Aug 28, 2021 at 9:24 PM Gene Heskett gheskett@shentel.net
wrote:

On Saturday 28 August 2021 20:51:21 Gareth Chen wrote:

If your printer is printing 5.98mm parts to be 6.51mm tall it's
seriously out of calibration...

Its a Prusa mk3S, has about a 25 minute calibration using markers on
the bed for xy references. But other that running z against to top
stops and hammering on the top for a while, I don't see where it
calibrates the z range. XY home apparently senses motor current to
detect just touching the left and rear stops. Not even hard enough
to obviously hear it hit. If the same circuit is used for detecting
the top of travel, then its failing as its dual z motors and useing
a default because it hammers the top of travel for about a full
second. I'll ask prusa monday. And get the m command to change it
too.

Thank you..
[...]
Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law
respectable. - Louis D. Brandeis
Genes Web page http://geneslinuxbox.net:6309/gene


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

The nozzle radius has no effect on the object dimensions. What matters is the volume of plastic flowing through it. On Mon, 30 Aug 2021 at 15:28, Gene Heskett <gheskett@shentel.net> wrote: > On Sunday 29 August 2021 03:47:09 Gene Heskett wrote: > > > On Saturday 28 August 2021 23:21:21 MichaelAtOz wrote: > > > Calibration is something you need to do, not the printer. > > > > > > You need to slice & print calibration objects and get your callipers > > > out. > > > > > > Then adjust slicer settings, rinse, repeat, until you get physical > > > objects matching the specification of the calibration object. > > > > > > You will need to have profiles for different materials with settings > > > from a calibration run for that material (usually just extruder > > > settings being different). > > > > > > > > > > > > I haven't calibrated for a long time as I use Shapeways, but Google > > > coughed up these which look reasonable. > > > > Yes, I dl'd several of them, should be helpfull, thank you. > > > > > https://all3dp.com/2/how-to-calibrate-a-3d-printer-simply-explained/ > > > > > > > > > > > > Then do some torture tests > > > > > > > > > > > > https://all3dp.com/2/best-3d-printer-test-print-3d-models/ > > > > I am preparing to print 1 or two of what I have dl'd from the links above > and below, but first I thought I'd see what happens to a priint by > fiddling with temps and flows. Flow in particular seems to be excessive. > so as a test, using the printers builtin first layer calibration. > adjusted it for an initial single line thickness of .19mm, but the solid > pad at the end of that pattern was .25 to .27 thick, so I repeated that > but at 90% flow from the printers tune menu, and got a final pad .21mm > thick that when microscoped, was still nicely welded to the adjacent > line, but the top surface felt a lot smoother, so I have it doing one of > the spline parts, and its looking cleaner about half done than previous > copies have. Then I'll do that 100mmX,100mmY,50mmZ thingy. Big enough > to separate scaling errors from nozzle radius errors. > > > > > > > > > There is little point printing functional objects until you can > > > print a calibration object accurately. > > > > > > > > > > > > https://www.thingiverse.com/search?q=calibration > > > <https://www.thingiverse.com/search?q=calibration&type=things> > > > &type=things > > > > > > > > > > > > > > > > > > _____ > > > > > > From: Father Horton [mailto:fatherhorton@gmail.com] > > > Sent: Sun, 29 Aug 2021 12:36 > > > To: OpenSCAD general discussion > > > Subject: [OpenSCAD] Re: Provide a simple measurement tool > > > > > > > > > > > > It almost sounds as if your printer profile is messed up. Are you > > > using defaults in PrusaSlicer, or did you change something, or are > > > you using Cura? > > > > > > > > > > > > On Sat, Aug 28, 2021 at 9:24 PM Gene Heskett <gheskett@shentel.net> > > > wrote: > > > > > > On Saturday 28 August 2021 20:51:21 Gareth Chen wrote: > > > > If your printer is printing 5.98mm parts to be 6.51mm tall it's > > > > seriously out of calibration... > > > > > > Its a Prusa mk3S, has about a 25 minute calibration using markers on > > > the bed for xy references. But other that running z against to top > > > stops and hammering on the top for a while, I don't see where it > > > calibrates the z range. XY home apparently senses motor current to > > > detect just touching the left and rear stops. Not even hard enough > > > to obviously hear it hit. If the same circuit is used for detecting > > > the top of travel, then its failing as its dual z motors and useing > > > a default because it hammers the top of travel for about a full > > > second. I'll ask prusa monday. And get the m command to change it > > > too. > > > > > > Thank you.. > > > [...] > > > Cheers, Gene Heskett > > > -- > > > "There are four boxes to be used in defense of liberty: > > > soap, ballot, jury, and ammo. Please use in that order." > > > -Ed Howdershelt (Author) > > > If we desire respect for the law, we must first make the law > > > respectable. - Louis D. Brandeis > > > Genes Web page <http://geneslinuxbox.net:6309/gene> > > > _______________________________________________ > > > OpenSCAD mailing list > > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > Cheers, Gene Heskett > > > Cheers, Gene Heskett > -- > "There are four boxes to be used in defense of liberty: > soap, ballot, jury, and ammo. Please use in that order." > -Ed Howdershelt (Author) > If we desire respect for the law, we must first make the law respectable. > - Louis D. Brandeis > Genes Web page <http://geneslinuxbox.net:6309/gene> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
JB
Jordan Brown
Mon, Aug 30, 2021 3:47 PM

On 8/29/2021 10:48 AM, Bob Ewart wrote:

I've been a programmer for over 60 years, which is probably why I like
OpenSCAD so much.  I'm not sure my hands are steady enough to place a
point on the UI.

Zoom is your friend.

I would much rather put an echo in the code to find out where I am. 
Your discussion
https://forum.openscad.org/Some-thoughts-on-deriving-world-coordinates-for-objects-td30377.html
in the forum on Oct 22, 2020 contained code which I've added to my
local library.  I will be using it.

You should consider putting it somewhere like on github so everyone
can find it.

More likely is to incorporate it into OpenSCAD proper, so that the
native transformations track the cumulative transformation and make it
available.

That technique has advantages, but it also has serious weaknesses:

  • It can't measure the distance between points on two sibling objects,
    because of the "black hole" effect.  (You can echo coordinates out
    to the log and then externally do math on them, but bleah.)
  • It has no direct way to measure from anything but the origin. 
    Measuring against simple objects like cubes is easy math.  Measuring
    the height of a cylinder is easy.  Measuring from a particular point
    on the perimeter of a circle is not too bad.  Measuring between the
    two closest points of two circles starts to get ugly.  Measuring
    anything non-trivial involving boolean operations gets hard.
On 8/29/2021 10:48 AM, Bob Ewart wrote: > > I've been a programmer for over 60 years, which is probably why I like > OpenSCAD so much.  I'm not sure my hands are steady enough to place a > point on the UI. > Zoom is your friend. > I would much rather put an echo in the code to find out where I am.  > Your discussion > <https://forum.openscad.org/Some-thoughts-on-deriving-world-coordinates-for-objects-td30377.html> > in the forum on Oct 22, 2020 contained code which I've added to my > local library.  I will be using it. > > You should consider putting it somewhere like on github so everyone > can find it. > More likely is to incorporate it into OpenSCAD proper, so that the native transformations track the cumulative transformation and make it available. That technique has advantages, but it also has serious weaknesses: * It can't measure the distance between points on two sibling objects, because of the "black hole" effect.  (You can echo coordinates out to the log and then externally do math on them, but bleah.) * It has no direct way to measure from anything but the origin.  Measuring against simple objects like cubes is easy math.  Measuring the height of a cylinder is easy.  Measuring from a particular point on the perimeter of a circle is not too bad.  Measuring between the two closest points of two circles starts to get ugly.  Measuring anything non-trivial involving boolean operations gets *hard*.
JB
Jordan Brown
Mon, Aug 30, 2021 3:57 PM

On 8/29/2021 6:44 AM, Ray West wrote:

xd=54.5;
yd=11.3;
zd=31.3;

/*
 and then need to calculate the diagonal

so diagonal of base (db) = sqrt((xdxd)+(ydyd))
so diagonal = sqrt((dbdb)+(zdzd))
*/

db = sqrt((xdxd)+(ydyd));
diagonal = sqrt((dbdb)+(zdzd));

Slight simplification:  the 3D extension of the Pythagorean Theorem is
straightforwardly x^2 + y^2 + z^2 = d^2, so you can get the distance
with sqrt(x^2 + y^2 + z^2); no need for the intermediate square root. 
(Note that you can derive this from your expression; substitute db into
the second expression and then cancel the square against the square root.)

Better simplification:  this is the definition of the norm() function,
so all you need is norm([xd,yd,zd]).  Note that this also means that if
you have two points p1 and p2, you can get the distance between them
with norm(p1-p2).

On 8/29/2021 6:44 AM, Ray West wrote: > xd=54.5; > yd=11.3; > zd=31.3; > > /* >  and then need to calculate the diagonal > > so diagonal of base (db) = sqrt((xd*xd)+(yd*yd)) > so diagonal = sqrt((db*db)+(zd*zd)) > */ > > db = sqrt((xd*xd)+(yd*yd)); > diagonal = sqrt((db*db)+(zd*zd)); Slight simplification:  the 3D extension of the Pythagorean Theorem is straightforwardly x^2 + y^2 + z^2 = d^2, so you can get the distance with sqrt(x^2 + y^2 + z^2); no need for the intermediate square root.  (Note that you can derive this from your expression; substitute db into the second expression and then cancel the square against the square root.) Better simplification:  this is the definition of the norm() function, so all you need is norm([xd,yd,zd]).  Note that this also means that if you have two points p1 and p2, you can get the distance between them with norm(p1-p2).
JB
Jordan Brown
Mon, Aug 30, 2021 4:45 PM

On 8/29/2021 5:57 PM, Adrian Mariano wrote:

The question I have is: why do you need to know where a point is? 
What are you trying to do that requires this knowledge in a real
model?  I wonder if there might be alternative approaches that don't
require that information, or where the model can be structured so that
it's easy to know where the point is.  I suspect that at least some of
the time, such alternative approaches may exist. 

I think the problem with straight "calculation" schemes is that they can
get very hard, very fast.

Quick, what's the distance between the closest points in these squares?

rotate(a) square(10);
translate([20,20]) rotate(b) square(10);

You're a much stronger math guy than I am, so maybe you can do that off
the top of your head, but it would take me some pretty serious
thinking.  And that's a simple case.

In a real project... as I've mentioned, a lot of my work is in scale
models.  I was designing an armchair:
https://cdn.thingiverse.com/assets/ed/00/42/d1/65/featured_preview_WIN_20200407_22_06_02_Pro.jpg

Here's what generates the sides and arms:

        // Sides
        for (s=[-1, 1]) {
            translate([s*w/2, d, leg_h+seat_h]) {
                rotate([90, 0, -90])
                    clip(v=[0,0,s]) {
                        pipe_polygon(r=wing_t, fill=true, open=true, [
                            [3*inch, 0],
                            [18*inch, 0],
                            [18*inch, 8.5*inch],
                            [4*inch, 8.5*inch],
                            [3.5*inch, 17*inch],
                            [4*inch, 26*inch],
                            [-3.8*inch, 28*inch]
                        ]);
                    }
                // Arms
                translate([s*0*inch, -20.75*inch, 8.75*inch])
                    rotate([-86.5,0,4*s])
                    cylinder(d2=wing_t*1.3, d1=wing_t*2, h=16*inch);
            }
        }

All of those dimensions are measured by hand off the real object, and
the angles are eyeballed.

Now, what's the width, measured between the outsides of the two arms?  I
want to tweak the angles and sizes so that's it's pretty close to correct.

On 8/29/2021 5:57 PM, Adrian Mariano wrote: > The question I have is: why do you need to know where a point is?  > What are you trying to do that requires this knowledge in a real > model?  I wonder if there might be alternative approaches that don't > require that information, or where the model can be structured so that > it's easy to know where the point is.  I suspect that at least some of > the time, such alternative approaches may exist.  I think the problem with straight "calculation" schemes is that they can get very hard, very fast. Quick, what's the distance between the closest points in these squares? rotate(a) square(10); translate([20,20]) rotate(b) square(10); You're a much stronger math guy than I am, so maybe you can do that off the top of your head, but it would take me some pretty serious thinking.  And that's a simple case. In a real project... as I've mentioned, a lot of my work is in scale models.  I was designing an armchair: https://cdn.thingiverse.com/assets/ed/00/42/d1/65/featured_preview_WIN_20200407_22_06_02_Pro.jpg Here's what generates the sides and arms: // Sides for (s=[-1, 1]) { translate([s*w/2, d, leg_h+seat_h]) { rotate([90, 0, -90]) clip(v=[0,0,s]) { pipe_polygon(r=wing_t, fill=true, open=true, [ [3*inch, 0], [18*inch, 0], [18*inch, 8.5*inch], [4*inch, 8.5*inch], [3.5*inch, 17*inch], [4*inch, 26*inch], [-3.8*inch, 28*inch] ]); } // Arms translate([s*0*inch, -20.75*inch, 8.75*inch]) rotate([-86.5,0,4*s]) cylinder(d2=wing_t*1.3, d1=wing_t*2, h=16*inch); } } All of those dimensions are measured by hand off the real object, and the angles are eyeballed. Now, what's the width, measured between the outsides of the two arms?  I want to tweak the angles and sizes so that's it's pretty close to correct.
GH
Gene Heskett
Mon, Aug 30, 2021 5:05 PM

On Monday 30 August 2021 11:21:51 nop head wrote:

The nozzle radius has no effect on the object dimensions. What matters
is the volume of plastic flowing through it.

Do you not get a nozzle dia oversize when you are driving the nozzles
center x distance? It is not and never can be a point src when it
is .4mm in diameter. So if I drive it exactly a mm, I will have -.2 at
the start of that mm. and a +.2mm at the end, for a 1.4mm total length.

The slicer is supposed to know that based on the nozzle dia and
compensate but the success of that is highly dependent on the flow,
which if way off, can exceed 2mm in width for the laid down line even if
its only .19mm thick.  With this printer, the initial prime on the edge
of the build plate as it starts is nearly 3mm wide using the default
preamble in cura. I have cut that by 50%, but still get that initial
line nearly 2mm wide. And that I am positive, contributes a lot to the
plastic buildup on the nozzle that will pull a pat loose and waste it.
Several times I have lost a print, and had to clean a 50 cent coin
diameter

Using a .19 layer, its now around 6mm up on that 100x100y50z test file.
It did one of the splines at 90% flow this morning, showing 5.99mm up as
it parked, but the part measures 6.72mm tall.

I'll know more when this is done, a bit over an hour from now.

Once thats fixed, then I'll do a temp tower to see if I can stop the
bridging. By then it will be close to time for another spool, and start
all over. Need 10 kg spools and driers to fit them... :-)

Thank you nop head.

On Mon, 30 Aug 2021 at 15:28, Gene Heskett gheskett@shentel.net

wrote:

On Sunday 29 August 2021 03:47:09 Gene Heskett wrote:

On Saturday 28 August 2021 23:21:21 MichaelAtOz wrote:

Calibration is something you need to do, not the printer.

You need to slice & print calibration objects and get your
callipers out.

Then adjust slicer settings, rinse, repeat, until you get
physical objects matching the specification of the calibration
object.

You will need to have profiles for different materials with
settings from a calibration run for that material (usually just
extruder settings being different).

I haven't calibrated for a long time as I use Shapeways, but
Google coughed up these which look reasonable.

Yes, I dl'd several of them, should be helpfull, thank you.

I am preparing to print 1 or two of what I have dl'd from the links
above and below, but first I thought I'd see what happens to a
priint by fiddling with temps and flows. Flow in particular seems to
be excessive. so as a test, using the printers builtin first layer
calibration. adjusted it for an initial single line thickness of
.19mm, but the solid pad at the end of that pattern was .25 to .27
thick, so I repeated that but at 90% flow from the printers tune
menu, and got a final pad .21mm thick that when microscoped, was
still nicely welded to the adjacent line, but the top surface felt a
lot smoother, so I have it doing one of the spline parts, and its
looking cleaner about half done than previous copies have.  Then
I'll do that 100mmX,100mmY,50mmZ thingy. Big enough to separate
scaling errors from nozzle radius errors.

There is little point printing functional objects until you can
print a calibration object accurately.

https://www.thingiverse.com/search?q=calibration
https://www.thingiverse.com/search?q=calibration&type=things
&type=things


From: Father Horton [mailto:fatherhorton@gmail.com]
Sent: Sun, 29 Aug 2021 12:36
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Provide a simple measurement tool

It almost sounds as if your printer profile is messed up. Are
you using defaults in PrusaSlicer, or did you change something,
or are you using Cura?

On Sat, Aug 28, 2021 at 9:24 PM Gene Heskett
gheskett@shentel.net wrote:

On Saturday 28 August 2021 20:51:21 Gareth Chen wrote:

If your printer is printing 5.98mm parts to be 6.51mm tall
it's seriously out of calibration...

Its a Prusa mk3S, has about a 25 minute calibration using
markers on the bed for xy references. But other that running z
against to top stops and hammering on the top for a while, I
don't see where it calibrates the z range. XY home apparently
senses motor current to detect just touching the left and rear
stops. Not even hard enough to obviously hear it hit. If the
same circuit is used for detecting the top of travel, then its
failing as its dual z motors and useing a default because it
hammers the top of travel for about a full second. I'll ask
prusa monday. And get the m command to change it too.

Thank you..
[...]
Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law
respectable. - Louis D. Brandeis
Genes Web page http://geneslinuxbox.net:6309/gene


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law
respectable. - Louis D. Brandeis
Genes Web page http://geneslinuxbox.net:6309/gene


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.

On Monday 30 August 2021 11:21:51 nop head wrote: > The nozzle radius has no effect on the object dimensions. What matters > is the volume of plastic flowing through it. > Do you not get a nozzle dia oversize when you are driving the nozzles center x distance? It is not and never can be a point src when it is .4mm in diameter. So if I drive it exactly a mm, I will have -.2 at the start of that mm. and a +.2mm at the end, for a 1.4mm total length. The slicer is supposed to know that based on the nozzle dia and compensate but the success of that is highly dependent on the flow, which if way off, can exceed 2mm in width for the laid down line even if its only .19mm thick. With this printer, the initial prime on the edge of the build plate as it starts is nearly 3mm wide using the default preamble in cura. I have cut that by 50%, but still get that initial line nearly 2mm wide. And that I am positive, contributes a lot to the plastic buildup on the nozzle that will pull a pat loose and waste it. Several times I have lost a print, and had to clean a 50 cent coin diameter Using a .19 layer, its now around 6mm up on that 100x100y50z test file. It did one of the splines at 90% flow this morning, showing 5.99mm up as it parked, but the part measures 6.72mm tall. I'll know more when this is done, a bit over an hour from now. Once thats fixed, then I'll do a temp tower to see if I can stop the bridging. By then it will be close to time for another spool, and start all over. Need 10 kg spools and driers to fit them... :-) Thank you nop head. > On Mon, 30 Aug 2021 at 15:28, Gene Heskett <gheskett@shentel.net> wrote: > > On Sunday 29 August 2021 03:47:09 Gene Heskett wrote: > > > On Saturday 28 August 2021 23:21:21 MichaelAtOz wrote: > > > > Calibration is something you need to do, not the printer. > > > > > > > > You need to slice & print calibration objects and get your > > > > callipers out. > > > > > > > > Then adjust slicer settings, rinse, repeat, until you get > > > > physical objects matching the specification of the calibration > > > > object. > > > > > > > > You will need to have profiles for different materials with > > > > settings from a calibration run for that material (usually just > > > > extruder settings being different). > > > > > > > > > > > > > > > > I haven't calibrated for a long time as I use Shapeways, but > > > > Google coughed up these which look reasonable. > > > > > > Yes, I dl'd several of them, should be helpfull, thank you. > > > > > > > https://all3dp.com/2/how-to-calibrate-a-3d-printer-simply-explai > > > >ned/ > > > > > > > > > > > > > > > > Then do some torture tests > > > > > > > > > > > > > > > > https://all3dp.com/2/best-3d-printer-test-print-3d-models/ > > > > I am preparing to print 1 or two of what I have dl'd from the links > > above and below, but first I thought I'd see what happens to a > > priint by fiddling with temps and flows. Flow in particular seems to > > be excessive. so as a test, using the printers builtin first layer > > calibration. adjusted it for an initial single line thickness of > > .19mm, but the solid pad at the end of that pattern was .25 to .27 > > thick, so I repeated that but at 90% flow from the printers tune > > menu, and got a final pad .21mm thick that when microscoped, was > > still nicely welded to the adjacent line, but the top surface felt a > > lot smoother, so I have it doing one of the spline parts, and its > > looking cleaner about half done than previous copies have. Then > > I'll do that 100mmX,100mmY,50mmZ thingy. Big enough to separate > > scaling errors from nozzle radius errors. > > > > > > There is little point printing functional objects until you can > > > > print a calibration object accurately. > > > > > > > > > > > > > > > > https://www.thingiverse.com/search?q=calibration > > > > <https://www.thingiverse.com/search?q=calibration&type=things> > > > > &type=things > > > > > > > > > > > > > > > > > > > > > > > > _____ > > > > > > > > From: Father Horton [mailto:fatherhorton@gmail.com] > > > > Sent: Sun, 29 Aug 2021 12:36 > > > > To: OpenSCAD general discussion > > > > Subject: [OpenSCAD] Re: Provide a simple measurement tool > > > > > > > > > > > > > > > > It almost sounds as if your printer profile is messed up. Are > > > > you using defaults in PrusaSlicer, or did you change something, > > > > or are you using Cura? > > > > > > > > > > > > > > > > On Sat, Aug 28, 2021 at 9:24 PM Gene Heskett > > > > <gheskett@shentel.net> wrote: > > > > > > > > On Saturday 28 August 2021 20:51:21 Gareth Chen wrote: > > > > > If your printer is printing 5.98mm parts to be 6.51mm tall > > > > > it's seriously out of calibration... > > > > > > > > Its a Prusa mk3S, has about a 25 minute calibration using > > > > markers on the bed for xy references. But other that running z > > > > against to top stops and hammering on the top for a while, I > > > > don't see where it calibrates the z range. XY home apparently > > > > senses motor current to detect just touching the left and rear > > > > stops. Not even hard enough to obviously hear it hit. If the > > > > same circuit is used for detecting the top of travel, then its > > > > failing as its dual z motors and useing a default because it > > > > hammers the top of travel for about a full second. I'll ask > > > > prusa monday. And get the m command to change it too. > > > > > > > > Thank you.. > > > > [...] > > > > Cheers, Gene Heskett > > > > -- > > > > "There are four boxes to be used in defense of liberty: > > > > soap, ballot, jury, and ammo. Please use in that order." > > > > -Ed Howdershelt (Author) > > > > If we desire respect for the law, we must first make the law > > > > respectable. - Louis D. Brandeis > > > > Genes Web page <http://geneslinuxbox.net:6309/gene> > > > > _______________________________________________ > > > > OpenSCAD mailing list > > > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > > > Cheers, Gene Heskett > > > > Cheers, Gene Heskett > > -- > > "There are four boxes to be used in defense of liberty: > > soap, ballot, jury, and ammo. Please use in that order." > > -Ed Howdershelt (Author) > > If we desire respect for the law, we must first make the law > > respectable. - Louis D. Brandeis > > Genes Web page <http://geneslinuxbox.net:6309/gene> > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene>