Templot Club forums powered for Martin Wynne by XenForo :

TEMPLOT 3D PLUG TRACK - To get up to speed with this experimental project click here.   To watch an introductory video click here.   See the User Guide at Bexhill West.

     Templot5 - To join this open-source project on GitHub click here.  For the latest on-going developments click here.

  • 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 - progress discussions

Quick reply >
Hi Martin,
mint_unit
1724187824978.png

cosmetic changes etc.

Pull Request created.
Steve
 
_______________
message ref: 12602
Thanks Phil, John, but I'm not quite there yet. I turned 76 recently
Hi Martin,
firstly happy Birthday, and secondly thanks for the clarification of the 80th confusion. I though to myself when I read that, was I out of it for 4 years:) as I am sure Martin was only 75 on his last birthday.
cheers
Phil
 
_______________
message ref: 12603
Hi Phil O, and others...
Here is an example of the small amount of human intervention to get parts of Templot5 looking like Templot2 as best we can.

Templot2 Jig forms:-
crossing vee rails
1724224819472.png

or switch blades
1724224871681.png

now after automatic conversion from Delphi to Lazarus, before tidying up by a human:-
Crossing vee rails
1724225022892.png

or switch blades:-
1724225057052.png


*note the very faint box outlines (Windows intervention here) and the fact that the contents of the boxes are not a) aligned b) visible.

and after cosmetic changes:-
croosing vee rails:-
1724227101341.png

and switch blades (back):-
1724227147715.png

switch blades (front):-
1724227199546.png


so altogether 7 Tgroupbox objects converted to Tpanel objects (with a Tlabel object to hold the old Tgroupbox caption)
this example took just under an hour to apply these changes.

Steve
ps I am happy to spend this time as it lets Martin concentrate on more important stuff :)🥚
 
_______________
message ref: 12604
Hi Martin,
Pull Request created for jigs_unit changes.
Steve
@Steve_Cornford

Hi Steve,

Thanks, all now merged.

As a point of interest, after I merge your request, do you get a message saying so? Does it say that you need to update your fork? Or that you don't need to because GitHub now matches your fork? Or something else? Or nothing?

It's interesting because we now have 5 forks (+me, who isn't allowed to have one). Of which 3 are marked as Active and 2 as Inactive (never updated). I'm wondering if the inactive ones are getting the messages and choosing not to update, or are not getting messages and don't know about the updates?

cheers,

Martin.
 
_______________
message ref: 12606
Hi Martin,
I receive an email:-
1724237738811.png


I then use GitHub Desktop to view the online repository, then select my fork.
This tells me I am 1 commit behind, so I invoke SYNC, this tells me I am behind & offers me the option to "update branch" (obviously it actually means 'update fork').
I press that button, then leave the online repository.
Then in my local GitHub Desktop I fetch origin, which then pops up a "pull request", which I invoke.
This then updates my local Github folder so that it matches my online github fork.

I have no idea what emails get sent to the other fork holders.
Active I think means that someone has created a fork in the online repository, then cloned that fork into their local github repository.
Inactive I think means that someone has created a fork, then done nothing with it.

Perhaps we could invite the other fork holders to a zoom session & share what little knowledge we have?

Or perhaps we just carry on as we are?

Steve
 
_______________
message ref: 12607
Hi Martin,
I have applied the usual cosmetic changes to intersect_unit.

1724238427371.png


When I compared with Templot2, I noticed there was a larger gap between the 4th radio button and the 5th radio buttons, on both panels.

Was that intentional, and if so would you prefer that I replicate that in Templot5 before uploading to github?

Steve
 
_______________
message ref: 12608
When I compared with Templot2, I noticed there was a larger gap between the 4th radio button and the 5th radio buttons, on both panels.

Was that intentional, and if so would you prefer that I replicate that in Templot5 before uploading to github?
@Steve_Cornford

Hi Steve,

Gap intentional -- first 4 are rail edges, bottom 2 are track centre-lines.

Zoom good idea -- when would be convenient?

cheers,

Martin.
 
_______________
message ref: 12609
Hi Martin,
I receive an email:-
View attachment 10704

I then use GitHub Desktop to view the online repository, then select my fork.
This tells me I am 1 commit behind, so I invoke SYNC, this tells me I am behind & offers me the option to "update branch" (obviously it actually means 'update fork').
I press that button, then leave the online repository.
Then in my local GitHub Desktop I fetch origin, which then pops up a "pull request", which I invoke.
This then updates my local Github folder so that it matches my online github fork.

I have no idea what emails get sent to the other fork holders.
Active I think means that someone has created a fork in the online repository, then cloned that fork into their local github repository.
Inactive I think means that someone has created a fork, then done nothing with it.

Perhaps we could invite the other fork holders to a zoom session & share what little knowledge we have?

Or perhaps we just carry on as we are?

Steve
@Steve_Cornford

Hi Steve,

Thanks for that. I'm not allowed a fork, so I have no idea how they work, and no means of finding out.

cheers,

Martin.
 
_______________
message ref: 12610
Hi Martin,
You allowed to Branch, which gives you more control.
Forks are just a sub-type of branch, but can only create Pull Requests, not Push Requests.

As afar as a zoom meeting, I should be available from next Tuesday onwards.
Just about to have 2 grandchildren arrive for a long weekend......

I have just created a Pull Request having re-instated the gap between buttons 4 and 5.
I assume github has emailed you.

Steve
 
_______________
message ref: 12611
.
I have added another feature to Templot5:


overall_size_1.png




Before exporting or previewing the file, you can click this button to see the overall size of the print, and check that it will fit on your build plate. It may take a moment to calculate. This information is also available in the 3D-Tool preview, but is difficult to access.

After exporting the file the size data is also shown in the dialog :


overall_size_2.png



Will be in the first release of Templot5 shortly.

cheers,

Martin.
 
_______________
message ref: 12613
You allowed to Branch, which gives you more control.
@Steve_Cornford

Hi Steve,

I have created a new branch called: update-22-AUG-2024:

https://github.com/Martin-Wynne/Templot5/tree/update-22-AUG-2024

and pushed/copied/uploaded all my current and WIP Lazarus files into it. This should include all your pull requests, unless I have missed any.

I don't want to get too far ahead in WIP files, but on the other hand I'm not ready to post it all as finished. Picture shapes/maps and EMF are not finished or working.

I don't know if you can see the link, but if you can you should be able to get up-to-date with my Lazarus and try the recent changes. Also I have updated templot_5.exe in the \TEMPLOT5_OUTPUT\ folder for anyone who wants to try Templot5 without using Lazarus (if they can see it).

If you can confirm that all the work you have done is included, I can pull/merge/request this branch into the main branch (I think).

cheers,

Martin.
 
_______________
message ref: 12614
.
I have extended the brim fence to a full cage around the connector clips:


caged_clips1.png



And changed the terminology from "brim fence" to "cage":


caged_clips2.png



Which is now on by default. Untick if not wanted.

To be trimmed away during assembly. Their purpose is to prevent the slicer from starting the first layer on a clip, which could upset a clean print of the clip, and is quite likely if the clips protrude at the corners of the print.

If you like to add a brim for extra adhesion (useful on a printer with a cold bed), the cage also prevents the slicer from attaching the brim to the clip.

The rest of the first layer of a timbering base can be roughly printed, because it all gets lost under the ballast. However the clips have a rebate around the underside to allow for any elephant's foot effect, and a clean print of the clips is important to allow them to clip together properly.

Martin.
 
_______________
message ref: 12615
Hi Martin,

I can follow your link and see the contents of update-22-aug-2024 , but I cannot access them.

However I can do the following:-

Step by step checks:-
Load Github desktop.
> Repository > view on GitHub
1724335028285.png


click on the 2 branches to get:-
1724335085307.png

This shows me your Default branch as main and in your list of Active branches , update-22-aug-2024
this is showing as 1 ahead meaning 1 commit ahead of your main.


going back to the 1st screen, and clicking on forks & selecting SteveCornford i get:-
1724335435153.png

which shows that my fork is 1 commit behind Martin-Wynne/Templot5:main
so my first step is to sync my fork.
1724335516536.png

and select (Update branch)
This is to get my fork inline with the fact that you performed a merge pull request from me.
1724335634349.png


I went back to my local GitHUb desktp, fetched origin, and then actioned the pull request so that my local now matches your main.

Now if i go back to view repository (Martin-Wynne/Templot5), then click on the branches icon, then on your update-22-aug-2024 branch, at the end is a button with 3 dots, and that gives an option compare.

This shows a comparison between your temporary branch (update-22-aug-2024) and you main branch.
1724336421599.png


I have minimised the changes shown, just so I can list the units that you have changed.

Most of them are the ones you flagged up to me as your WIP, with only a couple (such as alert_unit and info_unit) that I might have changed in the past, but these seem to ok anyway.

Conclusion.
All looks in order.

Please go ahead & merge your update-22-aug-2024 into your main, then I will be able to sync my fork with your main, and I am sure all will be well.

Steve
 
_______________
message ref: 12616
Hi Martin,

WHen you do merge your branch update-22-aug-2024 into your Main, can you let me know, as I do not thick GitHub will inform me of that fact.

Thanks
Steve
@Steve_Cornford

Hi Steve,

Will do. But I don't understand why you can't get the files. When I visit GitHub in a different browser (Opera) and not signed in, I can see and download the Zip:

git_zip.png


cheers,

Matin.
 
_______________
message ref: 12618
I did not know that option was available. Dont forget I am a newbie to this GitHub stuff.

I will give that a try, but not sure it is necessary, as I know my local files match your main, and I can see the difference between your main and your branch update-22-aug-2024.

Steve
 
_______________
message ref: 12619
Hi Martin,
So having chosen your branch update-22-aug-2024 and clicked on the big green < code > button, I was able to download the zip file.
I unzipped it and then used explorer to select mint_unit.lfm, then used winmerge to compare with my copy.


I then got this message :-
1724338802257.png

which I clicked [yes] to.
NOte the unzipped file has Unix highlighted and my copy has Win highlighted.

Having clicked yes I got:-
1724338919080.png


This shows that your branch has indeed got my update to mint_unit included.

Therefore I think all is well.


I assume that the Github server is Unix based.
Steve
 
_______________
message ref: 12620
I did not know that option was available. Don't forget I am a newbie to this GitHub stuff.
@Steve_Cornford

And you think I'm not? :)

Now done the merge and deleted the branch. In order to do this I had to send a pull request to myself and then agree to it. Which doesn't make sense and I'm sure I missed something obvious. :unsure:

Having deleted the branch, GitHub Desktop is now suggesting that I "publish it to the remote", whatever that means after it's deleted.

Martin.
 
_______________
message ref: 12621
_______________
message ref: 12624
Having performed a rebuild (i had to copy in some synapse units) I tested the new cage feature.
1724362429741.png

When I printed this brick before the clips were unusable, so I assume the cage now protects them and they should then work ok.
Steve
ps thank you for a really useful feature
 
_______________
message ref: 12626
Hi Martin,
I have created a Pull Request for keep_select.pas

Steve
@Steve_Cornford

Thanks Steve. (y)

Merged and working fine. What I don't understand is why it is working fine in Templot2 without that mod. Needs some investigation as it might be a symptom of something else gone wrong. :(

Having performed a rebuild (i had to copy in some synapse units) I tested the new cage feature.
View attachment 10739
When I printed this brick before the clips were unusable, so I assume the cage now protects them and they should then work ok.
Steve

I don't think that will work, you have the cages breaking into the sockets. I set it up carefully so that if the clips are clear of the flanges as they need to be, the cage is clear of the sockets. I will have another look.

The cage can't do anything to make a clip work if it didn't work before.

cheers,

Martin.
 
_______________
message ref: 12627
I had to copy in some synapse units)

Sorry Steve, I forgot that I hadn't yet pushed the Synapse folder. Now done. Not all of the units are needed, but we may as well have the whole package -- some more may be needed when we have decided how to do the program updates in T5.

Also need to check for updates to Synapse -- the old version there does not support https.

cheers,

Martin.
 
_______________
message ref: 12628
Hi Martin,

Code:
              case code of
                    -1: keepform_listbox.ItemIndex:=list_position;     // the up-down position takes precedence if any mismatch.
                     0: begin                                          // set to top template;
                          list_position:=keeps_list.Count-1;
                          keepform_listbox.ItemIndex:=keepform_listbox.Items.Count-1;
                        end;
                     1: keepform_listbox.ItemIndex:=list_position;
                     2: list_position:=keepform_listbox.ItemIndex;
              end;//case

Using showmessage statements, I tracked it down to this bit of coding, which if invoked with code = -1 , sets keepform_listbox.ItemIndex to the value contained within the variable list_position.

If you have just deleted the last template in the box list_position will now be out of bounds.

But I think the Lazarus IDE version of free pascal performs a bound check on keepform_listbox.ItemIndex when you update it and displays the error, whereas the Delphi version might check for out of bounds?

Steve
 
_______________
message ref: 12629
Hi Martin,
Brick design
That brick was an end brick of my attempt to produced a Barry slip. I made the middle brick too long anyway, and also had not checked the chair clearance on the middle brick (needed as it is made up of partial templates). I must try harder next time!

I must learn to walk before attempting to run!

Perhaps I should try printing the Scaleforum B7 that you are testing & publishing for @Hayfield

Chair Clearance
I believe that within an individual template you perform a chair clearance check, 1/2" comes to mind.

Perhaps in a future Templot5 version there might be an option (within timber heaving) to check chair clearance for all chairs "captured" or "belonging" to a timber? (hope I haven't just dug an even bigger hole for myself!)

Tgroupbox
Are we still aiming to replace all Tgroupbox objects with Tpanel+Tlabel?


Steve
 
_______________
message ref: 12630
Chair Clearance
I believe that within an individual template you perform a chair clearance check, 1/2" comes to mind.
@Steve_Cornford @James Walters

Hi Steve,

There is an option to check for any conflict between flanges and the sockets from a different template. But not for the connector clips. It would be possible to add a check for the clips, I will have a look at that.

The clips are intended to be positioned manually, that's what the extra black lines are for -- they need to be clear of the timber flanges on each side:


conn_clips1.png



otherwise the clips can't work. Which means it is very tricky to fit the clips where there are rail joints with closed-up timber spacings. It is better to place the brick boundaries and clips well clear of rail joints -- or else move the clips out from between the timbers entirely. Which is what I would tend to prefer, but it looks a bit ungainly.

At present the cages don't show on the screen, another job waiting.

As it stands the entire system of brick assemblers is a temporary kludge based on re-using the 2D background shapes. I wish I hadn't done that, it has all got far too complicated. For example the connector clips are re-using the target-mark shapes. But when I will find time now to write an entirely separate brick assemblers function specific to each template I don't know.

Barry Slips seem to be flavour of the month -- James is making one for Scaleforum on his new Neptune 4 printer. :)

cheers,

Martin.
 
_______________
message ref: 12632
Hi Martin,
If you are adding or have added a y new parameters to the dxf_unit, have you also added them to the save/load procedures?
If not perhaps make a memo note on here so that we can add them later.
Steve
 
_______________
message ref: 12633
Hi Martin,
If you are adding or have added a y new parameters to the dxf_unit, have you also added them to the save/load procedures?
If not perhaps make a memo note on here so that we can add them later.
Steve

Hi Steve,

Not done so yet, but I intend to do that -- if I don't forget. Over to you to remind me. :)

Martin.
 
_______________
message ref: 12634
Hi Martin,

Code:
              case code of
                    -1: keepform_listbox.ItemIndex:=list_position;     // the up-down position takes precedence if any mismatch.
                     0: begin                                          // set to top template;
                          list_position:=keeps_list.Count-1;
                          keepform_listbox.ItemIndex:=keepform_listbox.Items.Count-1;
                        end;
                     1: keepform_listbox.ItemIndex:=list_position;
                     2: list_position:=keepform_listbox.ItemIndex;
              end;//case

Using showmessage statements, I tracked it down to this bit of coding, which if invoked with code = -1 , sets keepform_listbox.ItemIndex to the value contained within the variable list_position.

If you have just deleted the last template in the box list_position will now be out of bounds.

But I think the Lazarus IDE version of free pascal performs a bound check on keepform_listbox.ItemIndex when you update it and displays the error, whereas the Delphi version might check for out of bounds?

Steve

Hi Steve,

I have added this line to the delete_keep procedure, which I think was the underlying bug:

finally
if list_position>keeps_list.Count-1 then list_position:=keeps_list.Count-1; // 555a MW 23-AUG-2024
lib_form.lib_listbox.Visible:=(any_library>0); // 234a
redraw(True);
end;//try


I will push this when I next need to push keep_select.

cheers,

Martin.
 
_______________
message ref: 12635
Hi Martin,
Ideally needs to be before the:-

current_state(-1);

statement.
Steve
Hi Steve,

Well-spotted. You get the job. :)

I have moved current_state(-1); into the finally clause.

cheers,

Martin.
 
_______________
message ref: 12637
@Steve_Cornford

Hi Steve,

Most of those are WIP or I have already done, e.g. bgkeeps.

Where the groupbox is the same colour as the form there is no real need to change to a TPanel and we could simply move the contents up.

On balance I think we can leave all those until I have finished the current WIP and then we can take stock. :)

How do you feel about having a look at the file viewer?

cheers,

Martin.
 
_______________
message ref: 12644
Back
Top