Templot Club forums powered for Martin Wynne by XenForo :
  • The Plug Track functions are experimental and still being developed. Some of the earlier pages of this topic are now out-of-date.

    For an updated overview of this project see this topic.   For some practical modelling aspects of using Plug Track see Building 3D Track.

    The assumption is that you have your own machines on which to experiment, or helpful friends with machines. Please do not send Templot files to commercial laser cutting or 3D printing firms while this project is still experimental, because the results are unpredictable and possibly wasteful.

    Some pages of this and other topics include contributions from members who are creating and posting their own CAD designs for 3D printing and laser-cutting. Do not confuse them with Templot's own exported CAD files. All files derived from Templot are © Martin Wynne.
  • The Plug Track functions are experimental and still being developed.

    For an updated overview of this project see this topic.   For some practical modelling aspects of using Plug Track see Building 3D Track.

    The assumption is that you have your own machines on which to experiment, or helpful friends with machines. Please do not send Templot files to commercial laser cutting or 3D printing firms while this project is still experimental, because the results are unpredictable and possibly wasteful.

    Some pages of this and other topics include contributions from members who are creating and posting their own CAD designs for 3D printing and laser-cutting. Do not confuse them with Templot's own exported CAD files. All files derived from Templot are © Martin Wynne.

Templot5 and plug track - progress discussions

Quick reply >
Hi Martin,
herewith the sources, more or less working, but not yet commented with any change notes

I have not changed any meanings yet.
Perhaps something for a later bulk update when things have settled down.

Steve
 

Attachments

  • shoved_colour_unit.lfm
    9.9 KB · Views: 21
  • shoved_colour_unit.pas
    9.4 KB · Views: 21
_______________
message ref: 15879
Hi Martin,
herewith the sources, more or less working, but not yet commented with any change notes

I have not changed any meanings yet.
Perhaps something for a later bulk update when things have settled down.

Steve
@Steve_Cornford

Hi Steve,

Thanks for that. (y)

I'm not going to do any more merging until I've got 556b released. To which end I'm going to ignore open-source considerations and simply do whatever it takes, as I used to do for Templot2. Then have a re-think.

p.s. I'm not too clear what you are doing here:

// obscure highlight background

Normally for owner draw you do everything twice:

Code:
if (odSelected in State)=True    // item is selected, show highlighted
   then begin
          Brush.Color:=
          Font.Color:=
          ...
          ...
        end
   else begin                    // not selected, show normal
          Brush.Color:=
          Font.Color:=
          ...
          ...
        end;

If an item has dotted focus lines around it, you can also do

if (odFocused in State)=True

to make changes if you wish.

cheers,

Martin.
 
_______________
message ref: 15881
On my window 10 laptop, highlighttext is white (ink), highlight is blue (paper) , so I get a funny blue panel with white text for the selected text.
obscure gets rid of the blue panel.
As far as I can seit is not possible to override clHighLightText so font.color has no effect.
Steve
 
_______________
message ref: 15883
@Steve_Cornford

Hi Steve,

Seems to be working ok here:

listbox_test.png


Code:
procedure Tbgnd_form.bgnd_shapes_listboxDrawItem(Control:TWinControl; Index:Integer; Rect:TRect; State:TOwnerDrawState);

var
  mark_str:string;
  text_colour:TColor;

  brick_rect_left,brick_rect_right:integer;

begin
  if (Index<0) or (Index>(bgnd_shapes_listbox.Items.Count-1)) then EXIT;  // ???

  with (Control as TListBox).Canvas do begin

    Pen.Width:=1;
    Brush.Style:=bsSolid;

    if (odSelected in State)=True
       then begin
              Brush.Color:=clYellow;  //test          //$00FF7700;   // light blue
              text_colour:=clRed;     //test          //clWhite;
              Pen.Color:=clWhite;
            end
       else begin
              Brush.Color:=bgnd_shapes_listbox.Color;
              text_colour:=clBlack;
              Pen.Color:=clBlack;
            end;

    FillRect(Rect);  // blank the entry first
    mark_str:=' ';
    ...
        Font.Color:=text_colour;

        TextOut(Rect.Left,Rect.Top,mark_str+(Control as TListBox).Items.Strings[Index]);

cheers,

Martin.
 
_______________
message ref: 15884
I can understand Martin has designed the system(s) a certain way and is only happy with solutions he has tested and proved
Hi Guys,
This comment form John does actual raise an interesting question. I am not trying be controversial here, but I would like to understand where we all sit on this one.
The point being if as everybody knowns its an experiment, Does that mean only Martin can experiment until he is happy with a solution? If so that does seem to be a lot of Martins time that could be covered by others.

I am not saying Martin has to approve other ideas, clearly he like everybody else will have his preference. But surly there is no harm in people trying things and reporting back. The key point here is how you go about reporting back.

If Martin does not like an idea for what ever reason, thats is fine, he is more than welcome to say I don't like this, and will probable have a very good reason to be saying so.

But that should not stop other people doing things there way just to see what happens, after all its an experiment. .

What I do agree with Martin here is, if anybody does anything that is shall we say is different, then they must ensure in witting there saying this is there personnel idea or experiment, and as such is not endorsed as Official Templot thinking and does not reflect as such or words to that effect. That should at least prevent the thought that "bad ideas can slip out as Templot thinking"

The other alternatives as I see it are either, nobody does anything until Martin has approved it. Or they do what they want, and simply don't tell anybody. Which to me at least is potentially more of a problem, lets face it "some of these ideas" will get out they always do.
cheers
Phil,
 
_______________
message ref: 15889
@Phil G

I want to preface this by saying I’m not trying to be inflammatory—this is just my perspective.

The confusion, I think, comes from distinguishing between what is truly open source—licensed for free tinkering, contribution, or derivative projects—and what reflects Martin’s personal focus: creating highly specialised track planning software for scaled-down model engineering that closely mirrors real-world railways and 3d printing.

Templot 5, for example, is licensed under GNU GPLv3. This means it’s open to tinkering, contributions, and experimentation, even for creating derivative projects both electronic and physical. I’ve been considering developing a Python-based parametric track builder rendered as a progressive web app, using the open-sourced Templot 5 as a starting point. Once I fully understand its structure, porting it to a more widely-used language could lower the barrier for modellers to 3D print accurate set tracks.

A great example of open-source done right is DCC EX. They’ve embraced open collaboration, encouraging contributions and experimentation, while clearly indicating whether a feature is in alpha, beta, or production. Their Facebook group and Discord server are full of activity, and their core committee of programmers deserves credit for responding to service tickets and questions while steering the project effectively.

As for using experimental work, the risks are ultimately on the modeller. If someone chooses to use an alpha or beta version and it damages a board, decoder, or loco, that’s their responsibility. I think a simillar notation should be used within Templot, if its alpha then we know the results will be everywhere; beta, then we understand its almost there and full production should be delivering consistent results - this is software though and it can't run every where brilliantly all of the time.

I feel Martin is often too hard on himself ( I hope you read this Martin, you've done a grand job ). His software works, and it doesn’t take long to learn. You get access to a 3D file for free, and in most cases, the results are fantastic. If someone bases an important project or business on free, open-source software without accounting for potential setbacks, reliance on volunteers or the need for experimentation, then the fault lies with them—not the software or its maintainers. At the end of the day, anyone frustrated with the process can always fall back on traditional methods, buying rail and chairs and learning to work by hand- which I think is Martins hesitation.

As Uncle Bob once said 'no one should base business decisions on beta code.'

I believe the call to action here is to clearly define alpha, beta, and production versions. While it’s great that versions are numbered, it might be helpful to ensure the master branch is entirely stable, reserved for safe, production-ready use. Experimental features could then be isolated in alpha, beta, or nightly builds for those who enjoy pushing boundaries. Defining these categories clearly and perhaps running them from separate repositories could help to separate concerns and avoid any confusion. Secondly, perhaps some standards would be handy which could help prevent instances of using the wrong material thickness or saying something incorrectly how a clip is managed in the software and not siloed in conversations or minds..

Just the world according to me
 
_______________
message ref: 15890
Last edited:
I believe the call to action here is to clearly define alpha, beta, and production versions. While it’s great that versions are numbered, it might be helpful to ensure the master branch is entirely stable, reserved for safe, production-ready use. Experimental features could then be isolated in alpha, beta, or nightly builds for those who enjoy pushing boundaries. Defining these categories clearly and perhaps running them from separate repositories could help to separate concerns and avoid any confusion.
@Phil G @Richardb

er, no.

Templot is simply my hobby, nothing more. I enjoy tinkering with the code. Seeing how it can be made to do things. What can be created using it. For fun. I'm happy to share it with anyone else having similar aims. For fun. But preferably without requiring constant explanations.

I have recently made it open-source. Primarily so that if I get run over by a bus, anyone relying on it will be able to continue doing so.

There are no alphas, betas, gammas, deltas or any other Greek letters. There is no nightly build. No master branch. After 4 attempts to get into Github and repos, and a mental car crash every time, I'm not touching it again with a bargepole.

If others now want to develop it in different directions, create a proper software "product" or whatever, that's fine by me (within the licence terms). But don't expect me to get involved. In particular, don't associate my name with any parts of it which were not created by me. But to the extent that some parts of it were created by me, a credit would be nice. I retain my copyright on the "look and feel" of the printed paper templates and corresponding PDF files.

It is all getting out of hand. I'm thinking of switching this web site off for a while so that I can catch up, and remove all the wording relating to the time when I was selling Templot commercially -- now 13 years ago, and no longer in any way relevant.

Martin.
 
_______________
message ref: 15892
@Phil G @Richardb

The previous two posts are nothing to do with Shapeways or track building. I have moved them.

Martin.
Hi Martin,
I am not sure where my post should have gone to be honest,
However I was not in anyway referring to coding although Richard B has taken that way for sure.
By the way I endorse everything he has said about the brilliance of the software, and you taking on far too much on your self.

My refence was to modelling or playing if you want to call it that, with anything that can currently be made by using existing elements of Templot be they plug track/cot track or even other outputs that come with Templot.
It was not meant in another way, other than to help you either.
In my view something done in error with a solution found, even if not the ideal solution to some is still a win for all.
I don't want to go into specifics although there have been a few in recent days/weeks.
cheers
phil
 
_______________
message ref: 15893
Whilst at times I may be seen to push the parameters a bit, I will always stand behind Martin and his goals for Templot

Far too often with the 2D Templot a few folk who probably had little or no knowledge of how Templot works, made statements elsewhere which were totally inaccurate, I guess this is the society we live in, and why should we be immune from what ever goes on elsewhere, so it may be the price we have to pay for living in an open society

Likewise Martin has experimented, developed and honed a track building system. I can see when others try altering parts of the system it must be very annoying to see them replicating things which have been found do not work already

Having said this unless we try these things, we would not be in a position we are in with COT track.

The fact is at shows ( or forums) I see Templot being used extensively by both demonstrators and layout builders, many of whom I guess have never seen Templot club or taken part on the site. Certainly at times using it in weird and wonderful ways.

Time to sit back and enjoy the festive period and take a break.

Happy Christmas to all

John
 
_______________
message ref: 15894
@Martin Wynne
Templot is simply my hobby, nothing more. I enjoy tinkering with the code. Seeing how it can be made to do things. What can be created using it. For fun. I'm happy to share it with anyone else having similar aims

That's perfectly fine in my view and I respect that. I do the same, I like taking Javascript libraries to make web apps, most of the time I get to a point where I'm stuck but once something is deployed and in production it is a great feeling. Offer still stands to help with your docs and standards, you just need to send me the details of how I can edit the wiki.

After 4 attempts to get into Github and repos, and a mental car crash every time, I'm not touching it again with a bargepole.

I agree, Github does throw everything at you all at once and can be upsetting to work and doesn't feel intuitive. I do like CI/CD though Github, once it is setup.

Whilst at times I may be seen to push the parameters a bit, I will always stand behind Martin and his goals for Templot
Having said this unless we try these things, we would not be in a position we are in with COT track.

Same here, I did think about not posting my experiments but with the developments in 3d printing technology, I couldn't resist. I am pleased I peaked Martin's interest on this although it is a shame his printer has a finicky hotend/nozzle swap procedure (exactly why I returned my ender 3 ke). That said I now realise the importance of annotating what I am doing as derivative work.

There are no alphas, betas, gammas, deltas or any other Greek letters.

However I was not in anyway referring to coding although Richard B has taken that way for sure

The programming terms I’m using—like MVP, production, alpha, and beta—are widely recognised. They make it easier to understand a software’s stage in its lifecycle, including its physical outputs, and what people can expect at each phase.

In my view, you could simplify things by presenting the experimental plug and COT track as a developmental version of your choice. You could explain that you currently lack the resources or documentation to support derivative work or the community. Once the standards are finalised, we can direct users to them if they encounter unexpected results or provide a form for feedback, following a process like the one outlined below.

Code:
Pre-Alpha → Alpha → Beta → Release Candidate → Production (GA)
                                     ↘
                                   Preview

I do think folks need to understand if you're changing a physical standard at the output end then you are creating a derivative work and the stipulations within GNU GPLv3 apply.

Code:
Original Software (GPLv3 Licensed)
         ↓
  Generates Outputs (e.g., PDFs, Templates)
         ↓
     Altered Outputs (Physical Standard Changes)
         ↓
   Derivative Work (Requires Compliance with GPLv3)
         ↓
  Attribution or License Violation
         ↘
       Frustration for Martin

If others now want to develop it in different directions, create a proper software "product" or whatever, that's fine by me (within the licence terms). But don't expect me to get involved. In particular, don't associate my name with any parts of it which were not created by me. But to the extent that some parts of it were created by me, a credit would be nice. I retain my copyright on the "look and feel" of the printed paper templates and corresponding PDF files.

I respect you and your decision. I've noted your point about naming conventions and credit, I don't think I can build something under GPLv3 without doing that. Under the GPLv3, others are free to develop and redistribute the software, provided they comply with the license terms. Attribution for your original contributions is required, so credit isn’t just “nice”—it’s mandatory. I was planning to use something like:

Code:
"""
This software is a lightweight Python rewrite of the original Pascal software developed by Martin under GNU GPLv3.
Original contributions by Martin include [specific features, algorithms, or concepts].
Outputs generated by this software may resemble those from the original Pascal software.
For details, see the original project's licensing terms and attributions.
"""



How about creating a derivative forum topic? We can moderate anything which interferes with your progress and is counter productive but still retain a resource of the communities experiments in a handy place. Perhaps password protect an area or even hide it from search engine results or a pop up modal to remind folks what they are reading is a derivative.
 
_______________
message ref: 15895
Last edited:
The clue might be in the fact that Elegoo provide Cura with their Neptune printers, presumably for a reason.
Hi Martin,
Last week I received this from Elegoo:-

ELEGOO SatelLite: Your New All-in-One 3D Slicer

SatelLite

Unlock your 3D printing potential with ELEGOO SatelLite!
your new go-to all-in-one slicer, now available for Windows at no cost!
🎉

Why Choose SatelLite?
🤔
Effortless Slicing: The innovative node-based technology simplifies complex tasks, delivering professional results with ease.

Smart EVO Support: Automatically identifies the best support structures for flawless prints, giving you complete control over your projects.

Extensive Material Library: Easily manage resin settings with quick access to official profiles, ensuring optimal setups in a snap.

Advanced Repair Tools: Automatically fix model flaws for smoother prints and higher success rates - focus on creativity, not troubleshooting.

Customizable Toolbar: Personalize your workspace to enhance efficiency and streamline your workflow.

User-Friendly Guides: The step-by-step instructions help first-time users get started quickly, with clear visuals and simple annotations that make complex tasks effortless.

Ready to transform your 3D printing journey? Click here to learn more and download ELEGOO SatelLite for free now!
🚀
FacebookTwitterInstagramYoutubeTiktokredditDiscord

I have downloaded but not yet had time to explore.....

Now I must get back to 556b -- poor Steve is still waiting to see his work on the new dialogs released.

I dont mind. Rome wasn't built in a day.

Note the 8-sided chairs. :)

Well done!

Any chance of a 3D-Builder view of a resin raft of them?

Steve
 
_______________
message ref: 15937
_______________
message ref: 15939
.
Email just now about Lazarus update.



The Lazarus team is glad to announce the second release candidate of Lazarus 4.0.

This release was built with FPC 3.2.2.

Here is the list of changes for Lazarus and Free Pascal:
http://wiki.lazarus.freepascal.org/Lazarus_4.0_release_notes
http://wiki.lazarus.freepascal.org/User_Changes_3.2.2

Here is the list of fixes for Lazarus 4.x:
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_4/

The release is available for download on SourceForge:
http://sourceforge.net/projects/lazarus/files/

Choose your CPU, OS, distro and then the "Lazarus 4.0RC2" directory.

Checksums for the SourceForge files:
https://www.lazarus-ide.org/index.php?page=checksums#4_0RC2

Minimum requirements:

Windows:
2k, 32 or 64bit, Qt, Qt5, Qt6 (64bit only)

FreeBSD/Linux:
gtk 2.24 for gtk2, qt4.5 for qt, qt5.6 for qt5, Qt6.2 for qt6, 32 or 64bit.

Mac OS X:
Cocoa (64bit) 10.12, Carbon (32bit) 10.5 to 10.14, Qt and Qt5 (32 or 64bit), Qt6 (64bit only).

The gitlab page:
https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/lazarus_4_0RC2

For people who are blocked by SF, the Lazarus releases from SourceForge
are mirrored at:
https://download.lazarus-ide.org/
ftp://ftp.freepascal.org/pub/lazarus/releases/

== Why should everybody (including you) test the release candidate? ==

In the past weeks the Lazarus team has stabilized the 4.0 fixes branch.
The resulting 4.0RC2 is now stable enough to be used by any one for
test purposes.

While we have tested those ourselves, there may still be problems
that only occur with very specific configurations or one project in a
million.

Yes, it may be that you are the only person with a project, that will
not work in the new IDE. So if you do not test, we can not fix it.

Please do not wait for the final release, in order to test. It may be
too late. Once the release is out we will have to be more selective
about which fixes can be merged for further 4.x releases. So it may be,
that we can not merge the fix you require. And then you will miss out
on all the new features.

== How to test ==

Download and install the 4.0 RC2.
- On Windows you can install as a 2ndary install, that will not affect
your current install:

http://wiki.lazarus.freepascal.org/Multiple_Lazarus#Installation_of_multiple_Lazarus
- On other platforms, if you install to a new location you need to use
--primary-config-path

In either case you should make backups. (including your primary config)

Open your project in your current Lazarus, and use "Publish
Project" from the project menu. This creates a clean copy of your
project.

You can then open that copy in the 4.0RC2. Please test:
- If you can edit forms in the designer
- rename components / change properties in Object inspector / Add
new events
- Add components to form / Move components on form
- Frames, if you use them
- If you can navigate the source code (e.g. jump to implementation)
- Auto completion in source code
- Compile, debug and run
- Anything else you use in your daily work


Mattias



I don't think I have time to get involved in such testing at present. 556b is beginning to look a distant dream. :(

Martin.
 
_______________
message ref: 16013
.
COT thickness options

Adding 4mm COT track to 556b has made the already tangled COT timber thickness settings 10 times worse. It's fine if you know exactly what you want and enter all the dimensions manually. But I'm trying to provide one-click buttons to make it easy.

I think COT will need to be divided into 3 separate designations:

ALLCOT = 100% integral chairs on timbers, no hybrid arrangements with any plug-in chairs.

STUBCOT = some chairs can be plug-in. They can be solid jaws, or separate glue-on stub jaws.

PINCOT = some chairs can be plug-in. They can be solid jaws, or long-pinned loose jaws (as plug track).

Then the available timber thickness options are:



4mm scale COT timbers:

THIN - matches rivetted plywood and copper-clad: ALLCOT only
MEDIUM - matches C&L and Peco BH flexi-track: ALLCOT or STUBCOT (experimental plug-ins, very fiddly)
THICK - matches plug track: ALLCOT or STUBCOT or PINCOT


7mm scale COT timbers:

THIN - matches copper-clad: ALLCOT only
MEDIUM125 - with code125 rail - matches Peco 0 flexi-track: ALLCOT or STUBCOT
MEDIUM131 - with code131 rail - matches Peco 0 flexi-track: ALLCOT or STUBCOT
THICK - matches plug track: ALLCOT or STUBCOT or PINCOT


I hope this can be made clear on the buttons.

cheers,

Martin.
 
_______________
message ref: 16070
.
COT thickness options

Adding 4mm COT track to 556b has made the already tangled COT timber thickness settings 10 times worse. It's fine if you know exactly what you want and enter all the dimensions manually. But I'm trying to provide one-click buttons to make it easy.

I think COT will need to be divided into 3 separate designations:

ALLCOT = 100% integral chairs on timbers, no hybrid arrangements with any plug-in chairs.

STUBCOT = some chairs can be plug-in. They can be solid jaws, or separate glue-on stub jaws.

PINCOT = some chairs can be plug-in. They can be solid jaws, or long-pinned loose jaws (as plug track).

Then the available timber thickness options are:



4mm scale COT timbers:

THIN - matches rivetted plywood and copper-clad: ALLCOT only
MEDIUM - matches C&L and Peco BH flexi-track: ALLCOT or STUBCOT (experimental plug-ins, very fiddly)
THICK - matches plug track: ALLCOT or STUBCOT or PINCOT


7mm scale COT timbers:

THIN - matches copper-clad: ALLCOT only
MEDIUM125 - with code125 rail - matches Peco 0 flexi-track: ALLCOT or STUBCOT
MEDIUM131 - with code131 rail - matches Peco 0 flexi-track: ALLCOT or STUBCOT
THICK - matches plug track: ALLCOT or STUBCOT or PINCOT


I hope this can be made clear on the buttons.

cheers,

Martin.
Hi Martin,
I think one question that becomes more important as the number of radio buttons increase, is would be possible or relatively easy for Templot to remember your chosen radio setting at the end of a section? (in the same way it currently does with the box files)
Unless I am missing something I have noticed each time I open Templot, it has reset itself to the default 3D settings.

I understand that is the primary purpose of the quick change options settings that are there when you open the 3D menu box. These are indeed a great help, in pointing you down the right path. It would however (if at all possible) for Templot to be able to remember your chosen setting on start up. ( that assumes of course once you have made a decision on your settings you will normally stay with them).
If that is in fact a lot of work don't even bother :)
cheers
Phil
 
_______________
message ref: 16074
Hi Phil,

Go to the custom tab on the export settings, then SAVE CUSTOM SETTINGS you get to choose a name, so you can have several different saved settings.
Then next time you want to re-use those settings, use the LOAD CUSTOM SETTINGS button.
Steve
 
_______________
message ref: 16075
I understand that is the primary purpose of the quick change options settings that are there when you open the 3D menu box. These are indeed a great help, in pointing you down the right path. It would however (if at all possible) for Templot to be able to remember your chosen setting on start up. ( that assumes of course once you have made a decision on your settings you will normally stay with them).
@Phil G

Hi Phil,

All that is intended and planned. Please don't jump ahead of me -- we can't write code to save custom settings until we know what actual custom settings will be available. The settings available in 556b will be different from those in 556a, and 556c is likely to be different again. So saving them in files at this stage is meaningless.

Folks keep treating plug track as if it's a finished and done thing, when in fact it is barely started. I removed a lot of website stuff over the Christmas break to row back on any suggestion it is ready to use.

For example I have just today deleted all this stuff and the related settings and code:


scrub_thinify.png



I want to have a fresh start on all that. Unfortunately I fell asleep in the middle of it, so now I have to try to remember where I had got to. :unsure:

cheers,

Martin.
 
_______________
message ref: 16076
.
I'm not sure that I can carry on with this. I'm happy to do the coding, and enjoy it. But I can't face spending the rest of my life explaining it. I just can't. No matter how many times I post this stuff, I just know I shall be asked about it over and over again. And need to keep correcting folks who post about it wrong. All this new COT stuff is on top of the existing unfinished plug track stuff:


cot_help_notes.png


Martin.
 
_______________
message ref: 16083
Hi Martin,
But I can't face spending the rest of my life explaining it. I just can't. No matter how many times I post this stuff, I just know I shall be asked about it over and over again.
What you need the are some COT disciples 💡
I can think of a couple of candidates 👮‍♂️👷‍♀️
Perhaps they could sit an exam first? 🧑‍🎓

And need to keep correcting folks who post about it wrong.
Sorry if that has been me, but I do try and learn by my mistakes.

This is a wonderful experiment that you have embarked on, and we are all very grateful for the progress you have made.

I'm happy to do the coding, and enjoy it.
Jolly good.

Would a zoom meeting to welcome in the New Year help in any way?

I've managed a couple of 1 hour sessions on the allotment, and feeling recharged have got the Kingroon out of the cupboard (it hides in there if we have family staying) and dusted down, and managed to print a few items, which has cheered me up no end.

Regards Steve
 
_______________
message ref: 16086
Martin,

If the answer has already been posted on here, just use the phrase that the PM, used to use at PMQs, "I refer the honorable gentleman/lady, too the answer I gave previously.

If you only look here once or twice a week, there will be less temptation to get involved. On the other forums, just answer with "the answer to your question is on Templot club".

Ignore everything else, most of the regulars on here can usually respond to most of the queries. No other software gets the level of backup that you have provided.

WE ALL KNOW THAT ALL THE 3D SOFTWARE IS UNDER DEVELOPMENT AND SUBJECT TO CHANGE.

At least until the bus comes along, please stop trying to please all of the people, all of the time and worrying aboutit. If they don't like the answer, that's tough.

The 2D Templot works, even if some of us struggle with it at times and that is/was the biggest advance in hand built trackwork, which is all we ask. We managed to build trackwork before the advent of 3D printers, they are the icing on the cake and if the naysayers don't like it, there's nothing to stop them developing their own techniques.

Have a boiled egg and a nip of what you like.

I'm just hoping that this blunt appraisal doesn't upset you. Enjoy the programming and stick your fingers in your ears and ignore the rest.
 
_______________
message ref: 16087
And need to keep correcting folks who post about it wrong.
Guilty as charged Martin, and I am genuinely sorry for creating extra workload for you through my own various mistakes and mis-understandings.
I will stop posting Plug Track related stuff so you needn't worry about incoming clangers, but will continue to enjoy the fruits of your labours, and help-out on here where I can. :)
I'm always willing to to be helpful if I can, but will wait until asked.
Also happy to test stuff out behind the scenes should you want someone to test and aspect and feedback directly or do some laser cutting or whatever else might be helpful.

All the best,

James
 
_______________
message ref: 16090
.
I have added a new sub-folder to the Templot installation folder:

C:\TEMPLOT_DEV\CUSTOM-3D-FILES\

This will be included in the 556b installer, but I may forget to update the open-source zip files. Mentioning it now while I think of it, so that if I do forget someone will hopefully remind me. Thanks.

Martin.
 
_______________
message ref: 16171
@Phil G

Hi Phil,

Another day, another tick-box. :)

New function in 556b:


custom_block_file1.png



Ticking this box and setting a valid block name will cause a DXF file and an STL file containing only this block to be created on export and saved in the C:\TEMPLOT_DEV\CUSTOM-3D-FILES\ folder:


custom_block_file2.png


custom_block_file5.png



Note that in the DXF file, these elements are inserted as blocks and shifted/rotated as needed when inserted.

This means that the Z data origin is the rail top, so all Z values will be negative, i.e. below the rail top.
X origin is the chair centre-line.
Y origin is the rail gauge face.

These additional files will be created when exporting a DXF/STL file, not for the preview. The DXF will be a flat file, i.e. not an inserted block. The DXF and STL contents will be the same size, reflecting the current shrinkage settings in Templot. Also reflecting all the current adjusted settings for beefing, FDM corrections, etc.

Untick the box when not wanted, for normal exports. I'm not providing any idiot-proofing or warning messages on this -- it is up to you to make sure the block name is valid and to handle the accumulating contents of the \CUSTOM-3D-FILES\ folder. And to set up all the usual stuff -- scale, gauge, rail-section, shrinkage, etc.

Also if you want to give a file a more descriptive name you must rename it afterwards. On export it will look like this, with date/time:

S1OUTJAW_25_01_30_0607_01.stl

This will be the raw Templot export, i.e. not mesh-fixed. You must do that yourself in 3D Builder (or elsewhere) before the file will be fully usable.

Here is the current list of the valid block names (must be upper case):

custom_block_file3.png


The block names for the modified jaws on the special crossing chairs will also be valid, but only IF the corresponding chair is included in the export. Here is the list of those:

custom_block_file4.png


These jaws are unique to the template they came from (matching the crossing angle, whether regular or curviform, etc.). They are identified as a 2-letter code + the template storage box index + the timber number.



Will be in the next program update 556b.

p.s. If you want to export only the chair base, you can do that already using the existing settings.

cheers,

Martin.
 
_______________
message ref: 16172
@Phil G

Hi Phil,

Another day, another tick-box. :)

New function in 556b:


View attachment 13607


Ticking this box and setting a valid block name will cause a DXF file and an STL file containing only this block to be created on export and saved in the C:\TEMPLOT_DEV\CUSTOM-3D-FILES\ folder:


View attachment 13608

View attachment 13622


Note that in the DXF file, these elements are inserted as blocks and shifted/rotated as needed when inserted.

This means that the Z data origin is the rail top, so all Z values will be negative, i.e. below the rail top.
X origin is the chair centre-line.
Y origin is the rail gauge face.

These additional files will be created when exporting a DXF/STL file, not for the preview. The DXF will be a flat file, i.e. not an inserted block. The DXF and STL contents will be the same size, reflecting the current shrinkage settings in Templot. Also reflecting all the current adjusted settings for beefing, FDM corrections, etc.

Untick the box when not wanted, for normal exports. I'm not providing any idiot-proofing or warning messages on this -- it is up to you to make sure the block name is valid and to handle the accumulating contents of the \CUSTOM-3D-FILES\ folder. And to set up all the usual stuff -- scale, gauge, rail-section, shrinkage, etc.

Also if you want to give a file a more descriptive name you must rename it afterwards. On export it will look like this, with date/time:

S1OUTJAW_25_01_30_0607_01.stl

This will be the raw Templot export, i.e. not mesh-fixed. You must do that yourself in 3D Builder (or elsewhere) before the file will be fully usable.

Here is the current list of the valid block names (must be upper case):

View attachment 13609

The block names for the modified jaws on the special crossing chairs will also be valid, but only IF the corresponding chair is included in the export. Here is the list of those:

View attachment 13619

These jaws are unique to the template they came from (matching the crossing angle, whether regular or curviform, etc.). They are identified as a 2-letter code + the template storage box index + the timber number.



Will be in the next program update 556b.

p.s. If you want to export only the chair base, you can do that already using the existing settings.

cheers,

Martin.

@Phil G @Steve_Cornford

More from Pandora. :)

I have revised this to provide separate options for DXF and STL files.

The DXF option creates all the block files every time.

This isn't possible for the STL files without a major re-write, you can have only one STL file at a time.

edit: see later post.

A full list of the block names is output in \CUSTOM-3D-FILES\blocks_list.txt . The list will contain only the blocks for the current (or most recent) STL export. I've attached such a list below.

Just a reminder that these options apply when doing a full export, not for the preview.

Bear in mind that if you leave these options ticked, the \CUSTOM-3D-FILES\ folder will rapidly fill with a large number of files. It's over to you to handle this and delete unwanted ones as you go.

cheers,

Martin.
 

Attachments

  • blocks_list.txt
    698 bytes · Views: 11
_______________
message ref: 16214
I assume the default is to have these checkboxes unticked?
@Steve_Cornford

Hi Steve,

Yes. Most users will never go near them. :)

Just to make doubly clear, these exported files will reflect all the current settings for scale, gauge, flangeway gap, rail section, crossing angle, type of crossing, shoved timbers, beefing, shrinkage, whether for resin or FDM, and all other tweaks and adjustments.

It would never make sense to post these DXF or STL files here without stating all those settings. The block names refer to the type of block, not any one specific instance of them.

cheers,

Martin.
 
_______________
message ref: 16216
Hi Martin,
Thank you so much for doing this,
Here are a few very early photos of what this can achieve. Its an L1CC minted mainly from Martin's blocks of other chairs, then added to a custom made L1CC base Note the scale is coped from James brilliant idea of 1/4 full size for chairs, in this case its a 1/4 full size of an scaled up S4 chair. In other words S4 multiplied by 76.2 and dived by 4 giving a scaling ratio of 19.05 x S4
Please note at this stage no plug has been made, this will be a critical part of the process as the plug via the socket is what is used to ensure the fixed jaw is the right place and thus gauge the chairs for the correct gauge.

I will show a bit latter a few days , just way this is such a good idea for proofing out ideas. in the mean time the photos.
Everybody Please note this not Plug track it as you know it, please don't connect Martin to any of this work. Its very much me experimenting. I believe it does start to show what could be achieved though
cheers

Phil

side view of L1cc chair.jpg


top detailed view of web.jpg


view of both std CC and L1cc.jpg

 
_______________
message ref: 16223
.
After 45 years ... :)



Hi Martin Wynne,

Congratulations! Templot5 has just been recognized with a Rising Star award by SourceForge. This honor is awarded only to select projects that have reached significant milestones in terms of downloads and user engagement from the SourceForge community.

This is a big achievement, as your project has qualified for this award out of over 500,000 open source projects on SourceForge. SourceForge sees nearly 20 million users per month looking for, and developing, open source software. This award badge will now appear on your project page.




Time for a boiled egg!

Martin.
 
_______________
message ref: 16233
The DXF option creates all the block files every time.

This isn't possible for the STL files without a major re-write, you can have only one STL file at a time.
@Phil G

Hi Phil,

I was being a bit feeble-brained there. I have now implemented a full set of STL files with every export, so there is no need to copy and paste the block names, you get them all:

custom_block_files1.png


Just one detail to bear in mind. The DXF files have the Z origin at the rail top, so all Z dimensions are negative. The STL files have the Z origin on the underside of the timbers, so all Z dimensions are positive. Note also that they will change if you change the timber thickness. Other than that the file contents are identical and reflect the shrinkage settings, but not mesh-fixed.

cheers,

Martin.
 
_______________
message ref: 16238
Thanks Martin,
Its always going to be much harder to mint your chairs from the blocks, then say simply expecting Templot to do this work for you, but the real advantage is there is no longer any pressure on you to create any more chairs.
We can now do it ourselves. You have expressed in other posts you see it being a couple years before you want to start with programming on other chairs. This option really does fill that gap in the mean time.

It looking as thought the best way to assemble the blocks into new chairs is to use a free version of fusion 360. It can be done in 3D builder but its quite hard to ensure everything is in the right orientation and location, before converting to a single STL and printing.
cheers
Phil,
 
_______________
message ref: 16240
Thanks Martin,
Its always going to be much harder to mint your chairs from the blocks, then say simply expecting Templot to do this work for you, but the real advantage is there is no longer any pressure on you to create any more chairs.
We can now do it ourselves. You have expressed in other posts you see it being a couple years before you want to start with programming on other chairs. This option really does fill that gap in the mean time.

It looking as thought the best way to assemble the blocks into new chairs is to use a free version of fusion 360. It can be done in 3D builder but its quite hard to ensure everything is in the right orientation and location, before converting to a single STL and printing.
cheers
Phil,
@Phil G

Hi Phil,

I suspect you will find the process much more trouble than you suggest, and remember that every time you change the hand or the crossing angle (or almost anything else) you have to do it all over again. You can't just rotate the existing blocks, the required shear angle is baked into each one. I've added this function because you asked for it, rather than because I think most folks will be able to make much use of it.

However, so that you have something to play with, here is a full set of STL blocks for a Left-Hand EM B-8 turnout with regular V-crossing, using EMGS code75 rail, with the default shrinkage settings (and all other defaults). This is the S1OUTJAL block (the key is a separate block):



s1outjal_block.png



I don't remember saying it will be 2 years before I get round to the K-crossing chairs. The key to that is for everyone to stop asking me questions, so that I don't have to do the constant explaining, and I (and others) can just get on with the coding. :)

cheers.

Martin.
 

Attachments

  • CUSTOM-3D-FILES.zip
    257.3 KB · Views: 3
_______________
message ref: 16244
.
I'm intending to release 556b shortly. There is still a lot not yet working, but I'm too exhausted to do any more with it for now. It needs a lot of testing and to have Steve's stuff merged into it. Then I shall be free to make a fresh start on 557.

If you are using 556a to build actual models, please stick with it for now. There are a lot of changes in 556b and the results might not be compatible. Upgrade to 556b only to help me continue with this grand experiment. Thanks.

Martin.
 
_______________
message ref: 16246
.
I'm intending to release 556b shortly. There is still a lot not yet working, but I'm too exhausted to do any more with it for now. It needs a lot of testing and to have Steve's stuff merged into it. Then I shall be free to make a fresh start on 557.

If you are using 556a to build actual models, please stick with it for now. There are a lot of changes in 556b and the results might not be compatible. Upgrade to 556b only to help me continue with this grand experiment. Thanks.

Martin.
Hi Martin,
Just a question is it possible to run to different intercedence of Templot on the same computer? I.e. have both 555a and 556b as two different instance?
cheers
Phil
 
_______________
message ref: 16247
Hi Martin,
Just a question is it possible to run to different instances of Templot on the same computer? I.e. have both 555a and 556b as two different instance?
cheers
Phil
@Phil G

Hi Phil,

Yes. But you are very likely to get in a muddle, especially if swapping to and fro between Templot2 and Templot5. At the very least, change the trackpad colour on one of them, so that you know which one you are on.

Also, don't ask me to sort it out if you get all messed up. :)

It's a good idea to leave one in the default C:\TEMPLOT_DEV\ location, and put the other one on a USB stick,
e.g. E:\OTHER_TEMPLOT\ -- then if you get in a muddle you can just remove the USB stick.

remember NO SPACES anywhere in the path to Templot.

Martin.
 
_______________
message ref: 16248
@Phil G

p.s. Phil, there is a quick way to see the difference between 556b and previous versions.

The box menu header now shows the number of templates in the storage box:


556b_box_menu.png



I have found this so useful when storing and deleting templates, I can't understand why I didn't do it years ago. :)

Martin.
 
_______________
message ref: 16250
Back
Top