Sign in to follow this  
Guest

FS points snaping question for scenery experts

Recommended Posts

hello,As you know FS snaps points of polygons and that results in non alligned taxilines for exemple. Actually I am trying desperatly to trace lines that touch each others perfectly. In my scenery program they are touching each others but FS snaps the point to a specific coord that results in spaces between lines that should be touching.The only way to fix them is to make trial and erros and move the points in the scenery program then recompile and reload in FS2002 to see how it looks in FS and that takes forever with FS2002 loading time...So do you have any idea or trick on how to get around this issue?Is there any spcific rule of thumb that FS uses for that?Thanks!Michel

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

I don't think FS snaps to a point. But both lines have a RefPoint and from that all the distances are calculated. I think there are just some small calculation errors in that, which causes the lines to not allign perfectly.In my scenery I solved it by using the same RefPoint for all lines and then they just match perfect. The backside of this is probably a small performance hit.ArnoMember NL2000 Teamhttp://home.wanadoo.nl/arno.gerretsen

Share this post


Link to post
Share on other sites

If you download scasm 2.8, you can write your own macro to make taxilines, and they can be drawn precicely using coordinates of your choice. An example:;Bowerman TaxiLineSet( FSVers 800 )Area( 5 %1 %2 80 )LayerCall( :bob_1 40 )Jump( :exit ):bob_1 RefPoint( rel :bob_2 %4 %1 %2 v1= 0 v2= 3234 )RotatedCall( :bob_3 0 0 %5 ):bob_2Return:bob_3IfVarRange( :skiplabel 028C 0001 0001 )TaxiMarkings( 0xC7 -2110 -346.667 ;L start of inv line 0xC7 -2373.33 -403.333 ;L end of inv line 0x08 0x87 -2515.83 -349.167 ;s of Seg 1 0x87 -2535.5 -255.833 ;end of seg 1 0x00 0x87 -2535.5 -255.833 ;s of seg 2 0x87 -2364.17 19.167 ;s of seg 3 0x87 2176.67 900 ;s of seg 4 0x87 2418.333 728.333 ;s of seg 5 0x87 2441.667 613.333 ;s of seg 6 0X08 0xC7 2365 516.6667 ;s of rh inv line 0xC7 2065.833 457.5 ; end of rh inv line 0x00 0xC7 -1091.67 -150 ;s of lh ex.. 0xC7 -955 -133.333 ;end of inv line...l 0X08 0X87 -863.333 -23.333 ;visible line s 0X87 -914 266.6667 ;end of visible line 0X08 0XC7 -965 290 ;l top inv line s 0XC7 -1061.67 276.6667 ;l top inv line end 0X00 0XC7 -601.667 -60 ;rt inv rwy line s 0XC7 -741.667 -86.6667 ;rt inv rwy line e 0X08 0XC7 -863.333 -23.333 ;inv main line s 0XC7 -914 266.6667 ;inv main line e 0X08 0XC7 -901.667 303.3333 ;rt inv line s 0XC7 -751.667 333.3333 ;rt inv line e 0X00 ;r x STARTS HERE 0XC7 650 186.6667 0XC7 770 210 0X08 0X87 840.8333 301.6667 0X87 782.5 591.66667 0X08 0XC7 720.8333 616.6667 0XC7 592.5 591.6667 0X00 0XC7 1043.333 260 0XC7 926.6667 246.6667 0X08 0XC7 840.8333 301.6667 0XC7 782.5 591.66667 0X08 0XC7 812.5 633.3333 0XC7 862.5 648.3333 0x00 0x82 -2552.07 -323.333 -2505.4 -339.167 ;l hold line 0x00 )jump( :gohere ):skiplabelTaxiMarkings( 0xC7 -2110 -346.667 ;L start of inv line 0xC7 -2373.33 -403.333 ;L end of inv line 0x0D 0x8c -2515.83 -349.167 ;s of Seg 1 0x8c -2535.5 -255.833 ;end of seg 1 0x00 0x8c -2535.5 -255.833 ;s of seg 2 0x8c -2364.17 19.167 ;s of seg 3 0x8c 2176.67 900 ;s of seg 4 0x8c 2418.333 728.333 ;s of seg 5 0x8c 2441.667 613.333 ;s of seg 6 0X0D 0xC7 2365 516.6667 ;s of rh inv line 0xC7 2065.833 457.5 ; end of rh inv line 0x00 0xC7 -1091.67 -150 ;s of lh ex.. 0xC7 -955 -133.333 ;end of inv line...l 0X0D 0X8c -863.333 -23.333 ;visible line s 0X8c -914 266.6667 ;end of visible line 0X0D 0XC7 -965 290 ;l top inv line s 0XC7 -1061.67 276.6667 ;l top inv line end 0X00 0XC7 -601.667 -60 ;rt inv rwy line s 0XC7 -741.667 -86.6667 ;rt inv rwy line e 0X0D 0XC7 -863.333 -23.333 ;inv main line s 0XC7 -914 266.6667 ;inv main line e 0X0D 0XC7 -901.667 303.3333 ;rt inv line s 0XC7 -751.667 333.3333 ;rt inv line e 0X00 ;r x STARTS HERE 0XC7 650 186.6667 0XC7 770 210 0X0D 0X8c 840.8333 301.6667 0X8c 782.5 591.66667 0X0D 0XC7 720.8333 616.6667 0XC7 592.5 591.6667 0X00 0XC7 1043.333 260 0XC7 926.6667 246.6667 0X0D 0XC7 840.8333 301.6667 0XC7 782.5 591.66667 0X0D 0XC7 812.5 633.3333 0XC7 862.5 648.3333 0x00 0x82 -2552.07 -323.333 -2505.4 -339.167 ;l hold line 0x00):gohereReturn:exitEndAThis is the code I'm working with to do a version of Bowerman Field's line. The docs in scasm 2.8 define what each code does, like 0xC7 draws an invisible line, and the following numbers are just x,y coordinates in meters.I know that may be hard to follow if you are new to scasm. Just thought I'd offer an alternative that doesn't suffer from the problems you are having.Bob Bernstein

Share this post


Link to post
Share on other sites

Good point Bob. I still have to find the time to try the taxilines make with these new commands. But for the docs it looks like you can also make nice arcs with it etc. That would be very nice.ArnoMember NL2000 Teamhttp://home.wanadoo.nl/arno.gerretsen

Share this post


Link to post
Share on other sites

I put another example using the easier to read (for me) opcodes in this thread over in the airport support forum:http://www.flightsimnetwork.com/dcforum/DCForumID11/322.htmlDerekI must say they look and work great!Oh, and here's another "optimization" question: I was kinda wondering whether there was any advantage to breaking the airport up to two or three of these commands, or just do the whole airport as one long string!

Share this post


Link to post
Share on other sites

Hi :)Thanks allot gentlemen for your help. Actually I use Architect2002 plugin but alligning the point perfectly is tricky and time consuming. I agree on the fact its refpoint related because I did a small test by tracing a taxiline with the plugin then the last point I made it a Break then traced from another point by matching the x,y and in FS the tracing ends and starts at the other point and they are perfectly alligned. That means the default FS taxilines are probably drawn with a single refpoint with break commands so they match perfectly. However the Break command does not work if it is used more then once, it bugs. In the plugin anyways. I will see if the macro can make it easier concidering the frame rate issue as well.Maybe the code you pasted already has this feature but I just thought why not having a sortof "auto-taxiline" type of command where we set the width of the taxiway itslef wish is transparent but the width we set creates automatically centerline and sidelines that we can adjust and then when 2 auto-taxilines get over each others they meet at a point where turns are created automatically. I wonder how easy to code this automation can be concidering I am not a programmer ;)Cheers!Michel

Share this post


Link to post
Share on other sites

Hi Rob,This is what I have actually, Architect2002 with the plugin and it works great exept when we have to allign lets say a straight line with an arc that starts from it and curves toward a perpendicular taxiline for exemple. Exactly like the tutorial Doug did on his site. If you notice the taxiline screenshot in the tutorial, the arc starts perfectly from the straight line. However if you notice the screenshot of the tracing in Architect you will see that there is a space between the straight line and the arc one that Doug did on purpose after some trial and error to match them. This is what he told me anyways. But when we have a huge airport to trace this can take forever to match! :)CheersMichel

Share this post


Link to post
Share on other sites

Michel, I don't know the architect program. However I can show you in my code why the lines come perfectly together. I use one ref point, and the coordinates of two arcs end point are identical:0x000xC7 -1091.67 -150 ;start of lh invisible line0xC7 -955 -133.333 ;end of inv line0X08 ;arc on the left0X87 -863.333 -23.333 ;visible line start point0X87 -914 266.6667 ;end of visible line....0X000XC7 -601.667 -60 ;right hand inv rwy line start 0XC7 -741.667 -86.6667 ;right hand inv rwy line end 0X08 ;arc on the right0XC7 -863.333 -23.333 ;inv main line start (same coords as above)0XC7 -914 266.6667 ;inv main line end (same coords as above)....One ref point for all lines, and I put the code for day and the code for night in one macro cuz it lets me use the conditional test for night time (IfVarRange ()) do determine which to draw.Hope this helps.Bob B

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this