Experimental Plug Track: 3D-printed, CNC-milled, laser-cut

Hayfield

Member
Location
Essex
Martin

Certainly from a track builders point of view this is the correct way, I have found though when using the Exactoscale parts which are designed for P4 timber spacing, they also work well for both EM and 00 spacing, however in the case of separate chairs the next few standard chairs have their position altered (if only for a few thou), but are we talking about amounts that within normal build tolerance ?

Or am I misunderstanding what you are saying

Another thought does the gauge alter the slide rail lengths, if so would you have to increase them up to PL2 position ?
 
_______________
message ref: 3124

Paul Boyd

Member
Location
Loughborough, UK
.
Now that I'm looking at the switch and crossing chairs, I have had to make a decision about something I've been pondering for ages. Should the chairing be prototypical or programmatic? I've settled on programmatic.

What do I mean by that? Suppose you have created an irregular diamond-crossing which fits your track plan nicely, and one of the V-crossings is showing as 1:7.38 angle. Now obviously no such size of V-crossing exists on the prototype -- the nearest size, 1:7.5, would be used instead. And the big 'ammer would be brought into play to make it fit. That is also what you do if building with C&L or Exactoscale chairs, because they don't make 1:7.38 crossing chairs either.

To be strictly prototypical therefore, Templot should do the same, and I should implement a corresponding big 'ammer function.

Well I'm not going to -- it's just too much of a minefield of conflicting dimensions and prototype variations. I am hoping to finish this project within my lifetime!

Instead, Templot will programmatically create 1:7.38 crossing chairs for a perfect fit. Only you and I will ever know the difference, no-one else will notice. If that's not something you can live with, -- using Templot isn't compulsory. :)

Another example of programmatic chairing will be for the switch block chairs. Suppose you shove one of the switch timbers along a bit, like this:

View attachment 2675

You know and I know that you should never do that. The block chairs support angled rails, and will fit the rails in one position only. You can't shove switch timbers more than an inch or so under the chairs, and the chairs need to stay put while you do it.

But Templot doesn't know that, and will happily shorten or lengthen the block chair, and adjust the rail angle, as you shove the timber along. Whereas the prototype has only a few fixed sizes of block chair, not an infinite range of sizes.

But in a cramped model design, you may need to shove switch timbers more than a bit, so this unprototypical result might be useful.

Again, I'm creating these chairs programmatically in order to have some hope of chairing the whole range of switches in my lifetime.

But this decision does have consequences. It means the 3D chairs file and timbering brick file will be a matched pair and need to be created at the same time and kept together, and not interchanged with the files for other templates or bricks, even if the templates are nominally the same size.

I'm intending that it will be possible to bunch together all the chairs from a brick for resin-printing, and print a paper chart showing which chair goes where on the templates.

cheers,

Martin.
Hi Martin

That all sounds an eminently sensible and pragmatic solution to me!

Cheers,
Paul
 
_______________
message ref: 3125

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
but are we talking about amounts that within normal build tolerance ?

Or am I misunderstanding what you are saying
@Hayfield

Hi John,

Providing you use the chairs from the corresponding STL file, and not some you had left over from a previous file, they should fit the corresponding timbering base perfectly, and there should be no need to rely on build tolerances to make things fit.

I say "should" because I haven't actually written the code yet. :)

Also, it is necessary to set the shrinkage rates correctly. At present there is a single allowance on the dialog which is used for all 3-D files, and ignored for all 2-D files. The default I have on there at present is 1.5% which is about right I think for the resin-printing, but maybe a bit too much for FDM filament printing. Indeed with the wide footprint of a typical timbering brick on the build plate, there may be very little shrinkage of the timbering brick at all, unlike when printing more bulky items having a smaller footprint. My test prints tend to confirm this. But like most plastics, some age-shrinkage may take place afterwards over time.

In addition, all machines 2-D and 3-D may need scaling adjustments to cover for any mechanical errors in the pitch of lead screws, pitch of toothed belts, diameter of pulleys, rollers, etc., on individual machines.

All this is still very much in the air and subject to trial and error when we are in a position to start making Plug Track in anger.

Another thought does the gauge alter the slide rail lengths, if so would you have to increase them up to PL2 position ?

The P slide chairs are all a single size along the rail, like the S1 and L1 chairs, but will be adjusted in length to suit the current scale/gauge setting -- see my previous reply. They should therefore be interchangeable in different templates, provided you don't mix up the P4 ones with the EM ones, etc. Beyond the P chairs are the block chairs. These will be programmatically generated to match the switch, as I mentioned, so they won't necessarily be interchangeable with any other template and will need to be kept for the corresponding timbering base if you want a perfect fit.

At some stage all this stuff will need to be written up, with all the ifs and buts, and I'm not looking forward to it. But that's jumping a long way ahead, because I'm still at the more fundamental stage of making stuff work.

cheers,

Martin.
 
_______________
message ref: 3126

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
@Hayfield

p.s. John, apologies if my previous post appeared in bits, I think I've found a bug in this forum editor related to the Tab key.

I have posted a bug report on the XenForo site.

cheers,

Martin.
 
_______________
message ref: 3127

Trevor

Member
Location
Morecambe
Hello Martin,
With regard to the switch blade over hanging chair bolts.
Could one not simply file a couple of slight hollows in the bottom of the switch blade to clear the bolt heads?
Trevor.:)
 
_______________
message ref: 3141
Hats off to Martin.
By providing four more radio buttons, Martin is allowing you (the builder) to choose which solution best suits you.
Having used the 301A Exactoscale slide chairs for OO-SF turnouts I don't think you really notice that they are longer once laid.
ps time to get my eyes tested again then!
pps must save a 20p piece before they go out of circulation in this cashless society!
 
_______________
message ref: 3144
I'm intending that it will be possible to bunch together all the chairs from a brick for resin-printing, and print a paper chart showing which chair goes where on the templates.
In the far off future, please can we have a template timber bunch facility for the 2D export for use when Laser Cutting but in this case with the timbers adjacent. ie sharing a cutting line. This makes the laser cutting more economical when outsourcing.
Obviously when 3D printing the timbers need to be discrete and the bunching is just to maximise the use of the print bed area.
Steve
ps but don't let this request distract from chair production ;)
 
_______________
message ref: 3154

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
In the far off future, please can we have a template timber bunch facility for the 2D export for use when Laser Cutting but in this case with the timbers adjacent. ie sharing a cutting line. This makes the laser cutting more economical when outsourcing.
Obviously when 3D printing the timbers need to be discrete and the bunching is just to maximise the use of the print bed area.
@Steve_Cornford

Hi Steve,

The timber separation will be adjustable to whatever you set. If you want them to share a common cutter line it will be up to you to set the separation accordingly, allowing for the laser kerf width.

If the timber kerf lines end up coincident I will find some way to omit one of them, so that the cutter lines are not duplicated in the DXF file.

If you don't have any waste between the timbers, how do you hold it all together while cutting?

cheers,

Martin.
 
_______________
message ref: 3155
If you don't have any waste between the timbers, how do you hold it all together while cutting?
Don't know.
They cut the sockets first, then the timbers.
LaserCutSleepers.jpg

This is what I got back. There is what appears to be masking tape on the back.
I can only assume that it is gravity.
They do offer a "taping" service as an option, but this is to alleviate the burn marks on the surface.
I did not opt for the "taping" service, as I was not too worried about burn marks, as sleepers(or timbers) will be stained with indian ink etc
Most of the sockets that are missing have fallen out with my handling.
Just like punched cards chad from my early programming days.
Miniature bricks anyone?
The cost depended in part upon the total length of lines cut, hence request for "bunch".
The sample I sent you of the turnouts etc was just as output by Templot, the above was as a result of the cutting service editing one of the files I had output from Templot.
I will ask the cutting service about duplicate lines. They might have some utility that removes them.
Steve
 
_______________
message ref: 3156

richard_t

Member
Location
nr Spalding
Probably a question for Martin, but do you think your CNC mill would work with 2mm thick Walnut or Mahogany? i.e. work as in "work as you're intending to work with MDF". I can send you some once my order from Cornwall Model Boat arrives if that helps.

Thanks

Richard.
 
_______________
message ref: 3198

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
@richard_t

Hi Richard,

I'm fairly confident the machine is capable -- it is advertised as suitable for engraving hardwoods, and for this plug track application holding a precise cut depth is not necessary. What I'm not so sure about is the amount of splitting and raised burrs which might occur with natural woodgrain. The same applies to plywood of course. So far I have experimented only with MDF. I intend to get some "downcut" end mills for further experiments with natural wood. Both solid wood, and applied as thin iron-on hot-melt veneer on an MDF base.

My planning so far has been for 3mm material -- the current default settings for the plugs require a socket 2.5mm deep. For 2mm material the plugs will need to be reduced (unless you laminate it with an MDF sub-base). My experiments so far for the "plug-in" method have found it necessary to have a good location depth on the plugs so that the chairs can be reliably located loosely in the sockets before pressing the rail home. Otherwise assembly gets too fiddly. For the "slide-in" method with the chairs fixed in place first one at a time, the plugs can be less deep.

The "slide-in" method is more applicable than it first seemed when you realise that not all the other chairs need to be in place on the timbering base before sliding a piece of rail into position, only the actual chairs being slid into are needed. Adding subsequent chairs to the base may then trap the rail so that it couldn't be slid out again. This differs from the situation where all the chairs are integral with a timbering base from the start (as in turnout kits). As I've mentioned a few times there is still a lot of learning and trial and error to work through before this project is done.

I'm happy to receive some offcuts of your wood if you have some to spare. It doesn't need much to make a few trial cuts. What panel size have you managed to obtain in 2mm thickness? Are you planning to build panels by gluing stripwood side-by-side?

cheers,

Martin.
 
_______________
message ref: 3199

richard_t

Member
Location
nr Spalding
Hi

Cornwall Model Boats sell sheet in 1m by 100mm, which I've ordered a few of Walnut and Mahogany, along with some 2mm x 4mm of each strip. My original plan was to cut down the 1m x 100mmm into 3.3mm strips for "normal" sleepers using my Proxxon table saw (the cheaper of the 2 available - the fence is rubbish, so might be something I "upgrade" using the 3D printer).

Happy to send you some - 1 of each letter size? (240mm x 165mm, perhaps a little bit smaller).

Richard.
 
_______________
message ref: 3200

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
.
More buttons.

Testing the MINIBO printer has shown up a significant difference in the PLA shrinkage compared with BIBO. In fact on the MINIBO there doesn't seem to be any shrinkage at all, and it actually needs a slight negative adjustment to get accurate results. This must be due to the cold work plate instead of the heated glass bed on the BIBO. It's difficult to separate shrinkage variations from errors in the machine resolution, but now that I know how much difference the backlash correction makes, I shall be re-testing the settings for the BIBO.

Whatever, it means using different adjustment/shrinkage settings for FDM and resin printing, and to avoid having to change the settings between exports that means yet more buttons:

dxf_3d_options.png


The CAD option means zero adjustment, any changes wanted being made in the CAD program.

If the export is intended for 3D printing it will be important to click the right option before exporting the file (and to have set the right amount of adjustment for your printer).

More about the MINIBO:

https://85a.uk/templot/club/index.php?threads/another-fdm-printer.340/

cheers,

Martin.
 
_______________
message ref: 3241

richard_t

Member
Location
nr Spalding
Hi

Cornwall Model Boats sell sheet in 1m by 100mm, which I've ordered a few of Walnut and Mahogany, along with some 2mm x 4mm of each strip. My original plan was to cut down the 1m x 100mmm into 3.3mm strips for "normal" sleepers using my Proxxon table saw (the cheaper of the 2 available - the fence is rubbish, so might be something I "upgrade" using the 3D printer).

Happy to send you some - 1 of each letter size? (240mm x 165mm, perhaps a little bit smaller).

Richard.
Eventually my order from Cornwall Model Boats turned up this morning - the walnut and mahogany strips and sheet have survived but I also ordered some MDF sheets as well, and each one of those are damaged in some way, and also they are now out of stock on some of the MDF and so didn't fulfil my order. I noticed my local timber merchant/DIY* place sells a variety of pre-cut MDF (I suspect for picture framing/backing) so I suspect that might be a better route.

Anyhow, if still you'd like some of the Walnut/Mahogany sheet, I'm sure I can organise that over the next few days (he says... ha ... ha ... ha ...)

All the best

Richard

* Along with offcuts of various bits of plywood, that I can't help getting ... sigh ...
 
_______________
message ref: 3257

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
_______________
message ref: 3260

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
.
More tickboxes:

shove_timber_chairs.png


I'm beginning to wonder if this is all getting a bit too complex for anyone to follow? There is still a long way to go. :confused:

These new tickboxes enable the individual chairs on the selected timber to be switch on and off. There can only ever be 4 chairs belonging to a single timber, numbered 1 to 4 across from the MS end. If more chairs are needed on a long timber, they must be supplied from another (hidden) timber, usually one on a different template.

Why do we need all this? Well consider an ordinary crossover in Templot before the experimental chairing:

chaired_xover0.png


Templot has been in the habit of omitting some of the crossing timbers in a crossover, leaving a convenient space for you to extend long timbers across from the opposite turnout, and then tidy up the timber conflicts with some shoving.

Which works fine until you switch the experimental chairing on:

chaired_xover2.png


As you can see, that leaves the extended timbers with chairs missing, because those rails are not part of the same template.

To get all the chairs along all the rails, we need to generate the full set of crossing timbers without leaving any space:

chaired_xover3.png


Which generates the missing chairs -- but also a lot more which we don't need. Plus some conflicting timbers.

The answer is to use those new tickboxes to remove the unwanted chairs. The wanted chairs can then have their generating timber hidden (hide timber outline button), before being slid along the rails into position over the long timbers. A hidden timber can be selected by clicking its number, in the same way as a visible timber.

This is different from omitting a timber, which removes the timber and its chairs from the template, until you click restore timber.

Here I am sliding the two chairs belonging the hidden sleeper A1 into position over the long timber:

chaired_xover4.png


And the final result is:

chaired_xover5.png


As you can see there is still a long way to go. The special crossing chairs (marked in red) and the check rail chairs (in green) will be automatically generated and positioned by Templot (hopefully). Also the conflicting Y chairs (in orange).

However the conflicting yellow chairs are likely to need a human eyeball and will need to be "heaved" manually. That's because they might be on two different templates. In each case one of them, or maybe both, will need to be changed from an S1 to an L1 or M1 bridge chair.

Likewise if any adjustments are made to the check rail lengths, as in a tandem, the check rail chairs will need to be changed accordingly.

It seems a lot of work, just for an ordinary crossover, but hopefully it will be fairly quick with practice. I will try to provide a video tutorial once it is all working.

Here is the 3D CAD view:

chaired_xover6.png


The sockets for the special chairs are still a mess, but you can see that the long timbers have more than 4 chairs -- some of their own, and some captured from hidden timbers on other templates.

cheers,

Martin.
 
_______________
message ref: 3349

Derek

Member
Location
UK, Midlands
Hello Martin

Is there any way to enable/disable by clicking on the chair or its location on the screen and holding a key for example? Apologies if I'm making a bad suggestion as, despite looking at Lazarus, I haven't a clue whether that is easy or hard.

Either way, I take my hat off to you.

Derek
 
_______________
message ref: 3350

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
Is there any way to enable/disable by clicking on the chair or its location on the screen and holding a key for example? Apologies if I'm making a bad suggestion as, despite looking at Lazarus, I haven't a clue whether that is easy or hard.

Either way, I take my hat off to you
@Derek

Hi Derek,

Thanks. Sure you could click on a chair to select it. Then you might perhaps click on a menu or button to remove it.

The snag comes if ever you want to get it back. What do you click on to select it? If you realise you made a mistake straight away, you can click an undo button somewhere. But what if you decide you need it back a week later?

Generally I prefer the Templot method of clicking on a marker, such as a timber number or a check rail label. That remains accessible even after an item has been removed, or when multiple partial templates are stacked obscuring one another.

In Lazarus and most other compilers you can do whatever you like. To select something by clicking on it, you need to keep a list of all the screen locations, and test whether the mouse is within any of them when it is clicked. If it is, you need to redraw the screen with the item highlighted in some way so that the user knows it has been selected, and at the same time redraw any previously highlighted items as now unselected. It works best if the item being clicked on is fairly small, and preferably rectilinear with the screen. Otherwise there is a risk of accidentally clicking it while doing something else.

It is best to perform the test as the mouse button goes down, or as it comes back up. If you do the test on a full click (down and back up) there is a risk that the mouse may have moved between the two actions.

For the best user experience you may also want to highlight the item as the mouse moves over it, before it is clicked. That requires keeping track of the mouse location and testing every time it moves.

Testing if the mouse co-ordinates are within a rectilinear shape is easy. Testing for multi-sided and angled polygon shapes involves a lot more code, which means it might be slow if there are a great many locations to test.

Most of the Templot code is available open-source, from:

https://sourceforge.net/projects/opentemplot/

Download: https://sourceforge.net/projects/opentemplot/files/templot_mec_292a_10_12_2019.zip/download

The download is a couple of years old, but in math_unit.pas have a look at these three procedures for some ideas, and the Windows mouse events on pad_form which call them:

Code:
procedure pad_mouse_move(shift_state:TShiftState; X,Y:integer);

procedure pad_mouse_down(mouse_button:TMouseButton; shift_state:TShiftState; X,Y:integer);

function shove_number_clicked(X,Y:integer):boolean;

cheers,

Martin.
 
_______________
message ref: 3351
Hi Martin,
In your "Chairs" group box, instead of having 4 tickboxes, could you have 4 drop-down combo selection boxes?
With valid choices such as:-
Omit, S1, S1J, L1, M1, CCL, CCC, CCR, etc (I might not have got the right abbreviations but you get the idea)
Omit and a blank box being synonymous.
Selecting a type of chair also selects the type of socket.
Steve
 
_______________
message ref: 3352

Martin Wynne

Admin
Location
West of the Severn UK
Info
.
Enjoy using Templot?
Thanks.

Please do not send requests for help direct to me via email.

Post your questions on the forum where everyone can see them and add
helpful replies.
@Steve_Cornford

Hi Steve,

Yes, all things are possible. But I don't want to cram too much more into the shove timber dialog, it is already getting in the way of seeing what you are doing on a small screen.

At present I have added a settings... button to open a separate dialog for the chairing on a timber:

shove_timber_chairs1.png


In addition to the type of each chair, there are prototype settings such as switching from REA to GWR chairs, or some other custom chair designs. In the larger scales there may be a choice of wooden key or spring steel key. Some of these options would be template-specific rather than timber-specific, but may need to be over-ridden on a specific timber -- it was quite common in BR days to see a mixture of chair origins where there had been spot timber renewals. There will also be some settings related to the special switch and crossing chairs. I want if possible to allow parallel-wing crossings, as they are quite common. Fortunately using all-vertical rails makes them a lot easier to model.

All this may sound far too picky in 4mm scale, but I have to keep in mind that Templot is for all scales up to Gauge 1 and beyond, where such details are clearly visible.

Selecting a type of chair also selects the type of socket.
Yes, that is always automatic.

Another setting which I am currently working on is the keying direction. That would normally be template-specific, but may need to be over-ridden on a specific timber -- for example adjacent to rail joints in pointwork:
keying_menu.png


Forwards means the key is driven into the chair away from the CTRL-0 end towards the opposite end of the template. With the result that the exposed end of the key remains projecting back towards the CTRL-0 end. And in the opposite direction for backwards. The amount by which it projects is randomised, up to the maximum off-centre setting.

The random option allows you to print a batch of mixed chairs to be mixed and matched on different templates as required.

cheers,

Martin.
 
_______________
message ref: 3354
Top