Topics

Announcing the V5.2.0 Beta 2.0 #Bug #v5dot2


scenicsRme
 

draw line parallel to a (cornu) curved track does not draw a curved line, but rather a series of straight (look saggy likke telephone wires between poles. Doesn't seem to be rhyme or reason for number of segments or placement between "poles". clicking on the line to try to change it's properties to curve crashes the program. trying to draw a second line parallel to the first also crashes. I have tried both with cornu easements on and with no easements selected with same result.

On 7/20/20 2:08 AM, Adam Richards wrote:
The Parallel Track command allows you to create a parallel track to another track. The Parallel Line command (click on the little arrow next to Parallel Track) allows lines parallel to either tracks or lines.??

LineType can be set either in Properties for the Draw Object, or via the Modify Local Context menu (Right Click or Shift+Right-Click depending on the setting of Options->Command->Right-Click).

Adam

??


Adam Richards
 

Straight lines are a limitation of the PolyLines we have - they are straight segments with potentially smoothed vertices - which is a limitation of trying to support Win+GTK+DXF and keep the UI simple enough. They do not "sag", BTW, that is an optical illusion when comparing to a Cornu. You'll note that we don't have a Cornu line either, in fact. 

The line parallel algorithm uses the points of the bezier curves inside the Cornu as its "rhyme or reason" and the curves and straights within that to approximate curves with lines (as we all recall from geometry, an arc can be approximated with straight lines). The question is the balance between too many and too few points - as one could obviously pepper the ground with points but that would make the polyline very difficult to change. The algorithm can be tweaked, of course, as the moment it is looking for divergence at the quarter points between the curve and the polyline. If you send me your test case Cornu, I can see what might be improved. 

There is an issue with some Cornu with complex shapes because the offset is not obvious as the curve reverses itself (forms figure eights, etc). The same thing happens with Bezier, incidentally, so I do not intend to produce a universally good answer for those sorts of curves.

Should the choice of points be too sparse for you, incidentally, you can add points and drag them where you feel the "sag" is too much. 

Now the issue of a failure during the creation of the line is caused by a recently introduced bug - and I have created a fix for that. It is another 2.1 candidate.

The other issue we have is that now "c" has been co-opted by "center" Pan, the use of "c" to close polygons has been exposed and doesn't happen... We already have 'e' for extents as well. So some changes are needed - all these commands will still work today using the Local Context Menu (Right-Click with our without Shift based on Options->Command->Right-Click setting).

New settings of shortcuts in Modify

"c"=> Center pan
"e" => Extents zoom

---------

"g" -> close polyline to polyGon
"l" => open polygon to polyLine

"u" -> Unfill. 
"f" => Fill

"s" => Smooth node
"r" => Round node
"v" => Vertex node

"p" => Points mode
"o" => Origin mode

Origin Mode

"0"-     => set Draw origin to layout origin
"1"-"4"=> set Draw origin to node 1-4 (mainly used for boxes, lines and curves)
"l"        => set Draw origin to last selected node (mainly used for Polygons and PolyLines)
"m".     => set Draw origin to the middle/centroid of the shape

 


Adam Richards
 

I found that the approximation scheme was not very good as the Cornu segments were being translated into a Polyline - it failed to take radius into account when deciding how many segments to use.  So that has been improved - to one that aims for a displacement error limit of 0.05". In practice this will add a few more spots on long large radius curved segments and short small radius ones.

I also found several bugs in the area and tidied them up. 

Adam


scenicsRme
 

Are your fixes uploaded to the files on source forge? can I install them or do I have to forgo using the functions that crash the program i.e parallel lines until an update is issued? I have been waiting with baited breath to add my town's roads and then buildings to my layout plan I am working on, I had been checking several times a day for B.2 to come out of staging, I can deal with the parallel line facetting, but not the constant crashes that is real frustrating. I really want to start actual building really soon and I want to be sure all will fit as envisioned. I may sound overly anxious, it is because I am, I'm 74 and would like to see trains running rather than just currently being surrounded by boxes of components that I've been collecting the last few months. I have a truck available the end of this week to buy materials.

Now, another question: how do I check the clearances between overcrossing tracks. I know there was a discussion of it being a new feature of the program and some issues but i can't find how to determine it short of subtracting elevation of each track close to where they cross. What is the clearance figure shown, is it the purely the distance between railhead to railhead of the two tracks? If so would I need to add in additional dimensions for sub-roadbed, roadbed, bridge deck, tie and rail height, etc. for the overhead track to determine the actual clearance above the lower track? I assume so?

On 7/20/20 7:51 PM, Adam Richards wrote:

Straight lines are a limitation of the PolyLines we have - they are straight segments with potentially smoothed vertices - which is a limitation of trying to support Win+GTK+DXF and keep the UI simple enough. They do not "sag", BTW, that is an optical illusion when comparing to a Cornu. You'll note that we don't have a Cornu line either, in fact. 

The line parallel algorithm uses the points of the bezier curves inside the Cornu as its "rhyme or reason" and the curves and straights within that to approximate curves with lines (as we all recall from geometry, an arc can be approximated with straight lines). The question is the balance between too many and too few points - as one could obviously pepper the ground with points but that would make the polyline very difficult to change. The algorithm can be tweaked, of course, as the moment it is looking for divergence at the quarter points between the curve and the polyline. If you send me your test case Cornu, I can see what might be improved. 

There is an issue with some Cornu with complex shapes because the offset is not obvious as the curve reverses itself (forms figure eights, etc). The same thing happens with Bezier, incidentally, so I do not intend to produce a universally good answer for those sorts of curves.

Should the choice of points be too sparse for you, incidentally, you can add points and drag them where you feel the "sag" is too much. 

Now the issue of a failure during the creation of the line is caused by a recently introduced bug - and I have created a fix for that. It is another 2.1 candidate.

The other issue we have is that now "c" has been co-opted by "center" Pan, the use of "c" to close polygons has been exposed and doesn't happen... We already have 'e' for extents as well. So some changes are needed - all these commands will still work today using the Local Context Menu (Right-Click with our without Shift based on Options->Command->Right-Click setting).

New settings of shortcuts in Modify

"c"=> Center pan
"e" => Extents zoom

---------

"g" -> close polyline to polyGon
"l" => open polygon to polyLine

"u" -> Unfill. 
"f" => Fill

"s" => Smooth node
"r" => Round node
"v" => Vertex node

"p" => Points mode
"o" => Origin mode

Origin Mode

"0"-     => set Draw origin to layout origin
"1"-"4"=> set Draw origin to node 1-4 (mainly used for boxes, lines and curves)
"l"        => set Draw origin to last selected node (mainly used for Polygons and PolyLines)
"m".     => set Draw origin to the middle/centroid of the shape

 


Adam Richards
 

All source code changes are published to the SourceForge Mercurial source code repository. So, in theory, anyone can build the product if they wish to.  But we know that not all will so choose to learn the art of Cmake and so on.

Which OS platform are you running on? 

Given this is an actual Abend -> that means we will need to issue a dot release hotfix build - but we will wait until the weekend to see if we can snare any other significant other ones as each build takes some effort from the three of us.

Elevation Clearances - Use Shift while moving the mouse over the tracks - the current elevation of the spot in question will be shown along with a split anchor (bar). If there is another track in the vicinity, a square anchor will show and the relative heights and difference will be shown. As with all elevations in XtrackCAD, the elevation is a pure number - no additional things (like baseboard thickness, ballast height, sleeper height, rail height and so on) are included. 

Adam


scenicsRme
 

win 10. thanks!

On 7/22/20 2:26 AM, Adam Richards wrote:
All source code changes are published to the SourceForge Mercurial source code repository. So, in theory, anyone can build the product if they wish to.  But we know that not all will so choose to learn the art of Cmake and so on.

Which OS platform are you running on? 

Given this is an actual Abend -> that means we will need to issue a dot release hotfix build - but we will wait until the weekend to see if we can snare any other significant other ones as each build takes some effort from the three of us.

Elevation Clearances - Use Shift while moving the mouse over the tracks - the current elevation of the spot in question will be shown along with a split anchor (bar). If there is another track in the vicinity, a square anchor will show and the relative heights and difference will be shown. As with all elevations in XtrackCAD, the elevation is a pure number - no additional things (like baseboard thickness, ballast height, sleeper height, rail height and so on) are included. 

Adam


scenicsRme
 

What is the opensezme I need to use to see the clearances besides holding down the shift key while hovering over the crossing with the mouse? What else needs to be turned on, menu selection, or hot button pressed, fingers crossed, etc etc to get this to work? Tried using selection cursor; elevation menu selection; with labels on and off I don't get any anchors, boxes, numbers, nothing, it just sits there hovering, doing nothing, like my dog when I tell him to do something he doesn't want to do, and just as irritating!

Maybe I shouldn't ask, leave well enough?? alone, don't fix what ain't broken and all that... but where do you change the size of the hot buttons?

PS: in case you haven't noticed I use humor to replace frustration.

On 7/22/20 2:21 PM, scenicsRme via groups.io wrote:

win 10. thanks!

On 7/22/20 2:26 AM, Adam Richards wrote:
All source code changes are published to the SourceForge Mercurial source code repository. So, in theory, anyone can build the product if they wish to.????But we know that not all will so choose to learn the art of Cmake and so on.

Which OS platform are you running on???

Given this is an actual Abend -> that means we will need to issue a dot release hotfix build - but we will wait until the weekend to see if we can snare any other significant other ones as each build takes some effort from the three of us.

Elevation Clearances - Use Shift while moving the mouse over the tracks - the current elevation of the spot in question will be shown along with a split anchor (bar). If there is another track in the vicinity, a square anchor will show and the relative heights and difference will be shown. As with all elevations in XtrackCAD, the elevation is a pure number - no additional things (like baseboard thickness, ballast height, sleeper height, rail height and so on) are included.??

Adam


Adam Richards
 

Well the simplest thing is this -

This function only works when the Elevation command (little icon with the "z" arrow, easily confused with the "desc" arrow that is next to it) is selected. You'll be able to click on endpoints to set elevations (the endpoints have an open circle when you are near them) as a test that you are in the right place.

Shift+Click is used in this Elevation command to Split track so that an elevation can be defined and so (before clicking! and with Shift held) there will be an anchor running along the track as the mouse moves close to it. That filled blue dot will show its elevation in the status field (bottom bar of window on right).

The showing of clearances (in the Status Bar) where tracks cross happens in Beta 2 in Elevation with or without shift as long as you are close to the point of crossing.  A blue square will appear and the details will be in the Status Bar. 

So in case you still can't make it work based on this description, I made a video and demonstrate it. https://www.loom.com/share/75ab52162f8444e9903c6d8be1199a4f

This function originally grew out of a desire to be able to split inside Elevation so that elevation of key points could be defined. The other functions were added as we went. But I can now see that the rolling display of elevation has utility in Elevation command outside of Split, so I have just made a change to have that work without needing Shift. 

Adam


Joost van der Waa
 

Great modification!

Regards,

Joost

On 23 Jul 2020, at 11:05, Adam Richards <adamjmrichards@...> wrote:

Well the simplest thing is this -

This function only works when the Elevation command (little icon with the "z" arrow, easily confused with the "desc" arrow that is next to it) is selected. You'll be able to click on endpoints to set elevations (the endpoints have an open circle when you are near them) as a test that you are in the right place.

Shift+Click is used in this Elevation command to Split track so that an elevation can be defined and so (before clicking! and with Shift held) there will be an anchor running along the track as the mouse moves close to it. That filled blue dot will show its elevation in the status field (bottom bar of window on right).

The showing of clearances (in the Status Bar) where tracks cross happens in Beta 2 in Elevation with or without shift as long as you are close to the point of crossing.  A blue square will appear and the details will be in the Status Bar. 

So in case you still can't make it work based on this description, I made a video and demonstrate it. https://www.loom.com/share/75ab52162f8444e9903c6d8be1199a4f

This function originally grew out of a desire to be able to split inside Elevation so that elevation of key points could be defined. The other functions were added as we went. But I can now see that the rolling display of elevation has utility in Elevation command outside of Split, so I have just made a change to have that work without needing Shift. 

Adam