Jump to content

SCARM Tolerance


Recommended Posts

Recent discussions in another thread caused me to wonder, what is the tolerance that SCARM uses to suggest that your track layout joins.

I decided to use R600, a 168 mm straight.  I then set a new start points, near to 168 mm

large.ScarmJoins.jpg.79b3afdd620e645c9516b1d6d74d3136.jpg

The first thing of note is that SCARM blesses your layout in two different ways, as a function of the overlap / gap.

At the top and bottom, SCARM shows the double arrows, indicating a fairly big disconnect.  At +2 mm from 168, double arrows.  At -3 mm from 168, double arrows.

Smaller disconnects are just indicated by double lines.  You may observe them at 166, 167 and 169 mm. 

It is only at 168 mm that a single line appears at the gap.

SCARM permits you to zoom way in, so you may inspect each join to see if its really good or just a so so join.  Here is a very zoomed in image at another join, 0.059 mm apart

large.CloseupImproperlyjoinedat438.15mmradius.jpg.59fe5c54b1fe17352e051798ab72e348.jpg

Two lines at the join.  SCARM will not show you the double arrows, since it is within 2 mm or so.  But in reality, SCARM is still warning me, those tracks aren't aligned.

What about 0.001 mm of error, will you see double lines?  Why yes, yes you do.  SCARM will tell you when you are 1 micron out, but only if you look!

large.onemicron.jpg.1e91ca88d0d6f6ff943ae0f30cccfc00.jpg

 

Bee

 

Edited by What About The Bee
Title was all caps. Fixed
Link to comment
Share on other sites

Scarm allows one to set one's own tolerances - from memory both length and angle. There is a default.

A simple way to check for dis-joint errors is to invoke the train sim feature. Any track fault will be flagged up as this track may not run a train, etc (I forget the exact caution) and the fault is immediately noticeable under 3-D view, especially if the track has height differences.

  • Thanks 1
Link to comment
Share on other sites

Well, that was somewhat disappointing.

The minimum value you can set for 

Tolerances->Distance is 1 mm.

 You can set floating point values, like 1.5 mm, but anything below 1 mm reverts to 1 mm.

I tried the special case of 0.0 mm, to demand mathematical perfection of each join.  Sadly, this was also reverted to 1 mm.

Bee

  • Like 1
Link to comment
Share on other sites

9 hours ago, What About The Bee said:

Well, that was somewhat disappointing.

The minimum value you can set for 

Tolerances->Distance is 1 mm.

 You can set floating point values, like 1.5 mm, but anything below 1 mm reverts to 1 mm.

I tried the special case of 0.0 mm, to demand mathematical perfection of each join.  Sadly, this was also reverted to 1 mm.

Bee

Email Milen Peev the Scarm author about it. He is a very friendly chap and always happy to listen to suggestions and / or problems. His email scarm@scarm.info is on his website ( https://www.scarm.info/index.php ) and blog pages ( http://www.scarm.info/blog/ ). 

Link to comment
Share on other sites

16 hours ago, 96RAF said:

Email Milen Peev 

Hello Mr. Peev

 
I was playing with SCARM and there is something bothering me.
 
I am using the default  for Settings->Edit-> Tolerance->Distance = 2vmm.
 
I placed a straight section of Hornby R600 at start point X=0, Y=0, A=0.  R600 is 168 mm long.  Then using the start point tool again, I selected 165,166, 167, 168, 169 and 170 mm, each in turn.  See attached image
 
The tolerance is not uniform around the perfect 168 mm.  SCARM shows no join at 165 and at 170.  If 170 fails, so should 166mm.  Alternatively, if 166 joins, then so should 170.  Both are precisely equidistant from 168 mm.
 
Part Two
 
I attempted to set my own tolerance, but was very, very surprised that SCARM would not let me set anything below 1mm.  
 
If I am setting the tolerance I want, why is SCARM trying to stop me??  I understand that you should not permit negative numbers, but zero and above should be valid.  If I want to check for a perfect nominal join, why should I not be permitted to do so?  I get the result I ask for and will suffer the consequences.  If my tolerance is 1 micron, and nothing is shown as joined, whose problem is that?  Mine!
 
Thank you kindly for reading this and possibly considering it.
 
[Bee]
 
÷÷÷
I will update should I hear from him.
Link to comment
Share on other sites

10 hours ago, What About The Bee said:

Hello Mr. Peev

 
I was playing with SCARM and there is something bothering me.
 
I am using the default  for Settings->Edit-> Tolerance->Distance = 2vmm.
 
I placed a straight section of Hornby R600 at start point X=0, Y=0, A=0.  R600 is 168 mm long.  Then using the start point tool again, I selected 165,166, 167, 168, 169 and 170 mm, each in turn.  See attached image
 
The tolerance is not uniform around the perfect 168 mm.  SCARM shows no join at 165 and at 170.  If 170 fails, so should 166mm.  Alternatively, if 166 joins, then so should 170.  Both are precisely equidistant from 168 mm.
 
Part Two
 
I attempted to set my own tolerance, but was very, very surprised that SCARM would not let me set anything below 1mm.  
 
If I am setting the tolerance I want, why is SCARM trying to stop me??  I understand that you should not permit negative numbers, but zero and above should be valid.  If I want to check for a perfect nominal join, why should I not be permitted to do so?  I get the result I ask for and will suffer the consequences.  If my tolerance is 1 micron, and nothing is shown as joined, whose problem is that?  Mine!
 
Thank you kindly for reading this and possibly considering it.
 
[Bee]
 
÷÷÷
I will update should I hear from him.

Did you intend to write something there Bee. Folk seem to think you wrote in white ink.

Link to comment
Share on other sites

Here is the text that Bee has written in white:

Hello Mr. Peev

I was playing with SCARM and there is something bothering me.

I am using the default  for Settings->Edit-> Tolerance->Distance = 2vmm.

I placed a straight section of Hornby R600 at start point X=0, Y=0, A=0.  R600 is 168 mm long.  Then using the start point tool again, I selected 165,166, 167, 168, 169 and 170 mm, each in turn.  See attached image

The tolerance is not uniform around the perfect 168 mm.  SCARM shows no join at 165 and at 170.  If 170 fails, so should 166mm.  Alternatively, if 166 joins, then so should 170.  Both are precisely equidistant from 168 mm.

Part Two

I attempted to set my own tolerance, but was very, very surprised that SCARM would not let me set anything below 1mm.

If I am setting the tolerance I want, why is SCARM trying to stop me??  I understand that you should not permit negative numbers, but zero and above should be valid.  If I want to check for a perfect nominal join, why should I not be permitted to do so?  I get the result I ask for and will suffer the consequences.  If my tolerance is 1 micron, and nothing is shown as joined, whose problem is that?  Mine!

Thank you kindly for reading this and possibly considering it.

[Bee]

÷÷÷

I will update should I hear from him.

Link to comment
Share on other sites

The text is there, it is simply white. So you select it, (highlight all the white space) copy to a text editor, change font colour, (text appears) paste altered text back here.  Simples! 🙂

Edited by LTSR_NSE
  • Thanks 1
Link to comment
Share on other sites

Doh!  Caught out again.

I prefer white text on a black background, as I find it easier on the eyes.

So when I copy text and subsequently paste it here, Hornby will ask if I want rich or plain text.  I must learn to not paste rich text.  With no particular rhyme or reason, sometimes it pastes as white text.  

I cannot detect the error, since it shows beautifully here.  The background is dark.

Thank you @LTSR_NSEfor realizing the situation and rectifying it.  Now that it has been over 1 hour, I cannot fix it. 

Bee

 

Link to comment
Share on other sites

Astonishingly, Milen Peev has already responded.  I did not expect this.

÷÷÷÷÷

Thank you for your e-mail.

Everything you say is correct, however

1) R600 in SCARM is defined as 167.5 mm as well as all standard Setrack turnouts and left and right crossings. This is done in order to make the Setrack geometry fully consistent with R601 (335 mm) and all radii from R1 to R4.

That is the main reason for your observations.

2) The main problem with zero tolerances is that almost everything in the plan books and geometry examples made by the track manufacturers just does not work and does not joins in any CAD software. And that is simple math. Only full circles or closed ovals works fine, but when you place a turnouts, the problems starts immediately, when there are no tolerance allowed.  

The secondary issues arises when the users start to tweak the settings. And almost every user sets the tolerances to zero, because he knows that his favorite track system is perfect (it just can’t be opposite). And when he can’t make a join after that, he says “if it shown in the plan book and if I can made the joins with real tracks then your SCARM software is wrong”. Sorry, but I am really tired to explain that all track geometries have their flaws and there is nothing is perfect. The software just tries to adapt to this and that is why I introduced the tolerances in the early beta versions of SCARM.

÷÷÷

I do understand his statement and reasons.  It is a dreadful task to constantly explain and re-explain the same point.  Some will get it, others will not (or refuse to).  Hopefully, by publishing his statement, his work load is (slightly) reduced.

Frankly, 99.99% of SCARMs user base will never investigate the underlying geometry.  To permit fine settings under that regime is asking for trouble.  When used to plan a layout, it is more than sufficient.  Perhaps I've exercised the tool beyond its limits

Bee 

Link to comment
Share on other sites

I think you’ve hit the nail on the head Bee [hopefully that idiom translates correctly across the pond] we perhaps want something that is not possible. I recall “speaking” to Milen on this very subject many years ago when I started using SCARM. His response [given the vagaries of memory] was, there will always be some “wriggle room”. R-

Link to comment
Share on other sites

Hi RB51

The idiom is in practical use here in the States as well. 

The point Milen raises is quite simple. We must place our track with a precision less than his selected tolerance.  Whilst there are ways to place objects with much greater precision than his selected value, it is not typically available to the average enthusiast.

Not brought up was the production standard of the track itself.  The track is imperfect.  His theoretical track is perfectly uniform (deterministic).

We can always wiggle the track to make it connect.  Milen does not have that luxury.

Therefore, as a practical matter, it is irrational to reduce SCARM tolerance below 1 mm.   I understand his reticence.

Bee

  • Like 1
Link to comment
Share on other sites

1 hour ago, What About The Bee said:

We can always wiggle the track to make it connect.  Milen does not have that luxury.

He makes allowance in SCARM for a user to expand the default tolerance to resemble real life where +/- a decent tweak is close enough for government work.

  • Like 1
Link to comment
Share on other sites

Posted (edited)

I was unsatisfied with Milen's answer.  I do understand his rationale and reasons, but it leaves the technical question unresolved.

Here is a much better answer than the one provided.

The first unknown to obviate is any length variation the SCARM library may posses.  To this end, a first start point is set at X=0 Y=0 and A=180.  Essentially a starting point facing left on my screen.  Then, for each subsequent test starting point, X is variable, whilst Y=0 and A=0.  A track going to the right on my screen.  The length of track to the left or right is now completely irrelevant.  It is simply the join in the middle!

The second item to resolve is the resolution.  Ha!  That is, at the maximum zoom using SCARM, what does each pixel represent?  The standard tick marks on SCARMs' axes do not change as you zoom.  Each tic represents 10 millimeters.  So at maximum SCARM zoom, I issued a Windows 'print screen' which copies the screen so it can be pasted.  Which I did, in Microsoft Paint.  I then examined the pixel address of -10 mm and 0 mm, finding the delta is 200 pixels.

10 mm / 200 pixels = 0.050 mm/ pixel

50 microns per pixel

At maximum zoom SCARM presents 0.050 mm/pixel. 

Note: Your screen may vary in resolution, this was using my screen.  My screen is 1366 pixels wide.

Knowing this, I asked for three starting points.  In each, Y=0 and A=0.  But X=0 then X=0.05 mm and then X=0.10 mm.

large.50MicronsperPixelmaxSCARMzoom.png.f469553f244fddddcfa95981cd938355.png

The image represents those three starting points.  At 0 mm, the join line is 1 pixel wide.  At 0.05 mm, there are two lines, side by side, looking like 1 fat line, two pixels wide.  Finally, at 0.1 mm, there is a line, a gap then a line.     

It is my assertion that I can provide 20 times better tolerance than SCARM permits, when using SCARM.  The image confirms the resolution and the assertion.

Bee

Edit: I saved the image as png, where the lines are visible separately.  Apparently, the forum hosting tool compresses the image, making the separate lines hard to see, even when viewing an image directly from the gallery.  This, unfortunately, make the proof hard to see.

Edited by What About The Bee
Image in GALLERY compressed by Hornby
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
  • Create New...