Jump to content
Sign in to follow this  
Keith Henry

Hardened surfaces (Like Helipads)

Recommended Posts

There's got to be a better way to do this...Right now, to harden a surface for something like a helipad on top of an API macro object that I insert (Like an oil rig), I place an "invisible" runway at the height I want the pad at. I then add a flatten Polygon to prevent FS from heaving the ground up to the invisible runway level...Problem is, If you fly away from the rig, say more then 15-20 NM, then return to it, you see the terrain rising up to the runway height, which of course pushes my 3D object (the rig) up on the "hill" FS has created. I then fall through the helipad....The only fix for this I've found is to refresh my scenery upon returning to the rig, which is a pain in the back-side...What other techniques are available to harden the helipad surface. I've explored the "zero height" advanced building option, and it does work if crash detection is turned on, but there's got to be a better way. Some pilots wont use crash detect and they're going to run into problems if I release my scenery to the general public...Thanks in advance.

Share this post


Link to post
Share on other sites

Hi Keith.Header( 1 N38:10 N38:0 W081.0 W081.10 )LatRange( N38:0 N38:10 ); ----------------------------------------Area16( a N38:03.94 W81:05.30 12 )Call( :_Make_Surface )Jump( : ):_Make_Surface RefPoint( abs :_SetElevation_Surface_Fail 1.00 N38:03.94 W081:05.30V1= 20000 V2= 3000 E= 524 )RotatedCall( :_SetElevation_Surface 0 0 237 )Return:_SetElevation_SurfaceSenseBorder( :-24 150024 150024 -1500-24 -1500)SetElevation( 524 ):_SetElevation_Surface_Fail ReturnEndAThat code was from a discussion:http://forums.avsim.net/dcboard.php?az=sho...=3&topic_page=1The runway was for a bridge that was 24 meters x 1500 meters and angled at 237*The only problem I can find is if your building sits at ground level, and the mesh changes, the height ( 524 meters ) will be off.That can be solved by placing an Area16 flatten right under the object's footprint, to force the mesh to a defined elevation.This works in FS2004... I found some problems with the advanced building trick.Dick

Share this post


Link to post
Share on other sites

Hi Keith.A correction to the above info:The area is 48 x 3000 meters total.Also, this should be possible:Header( 1 N38:10 N38:0 W081.0 W081.10 )LatRange( N38:0 N38:10 ); ----------------------------------------Area16( a N38:03.94 W81:05.30 12 )Call( :_Make_Surface )Jump( : ):_Make_Surface RefPoint( abs :_SetElevation_Surface_Fail 1.00 N38:03.94 W081:05.30V1= 20000 V2= 3000 E= 524 )RotatedCall( :_SetElevation_Surface 0 0 237 )Return:_SetElevation_SurfaceSenseBorder( :-24 150024 150024 -1500-24 -1500)SetElevation( 476 )SetElevation( 500 )SetElevation( 524 ):_SetElevation_Surface_Fail ReturnEndAI haven't yet tried this, but multiple elevations should be possible... the SDK says to set the bottom most floor first.===============The poor thing is that the hardened surface is set to a point in space, rather than set to a surface of an object. I know of no other way around this. That means you must force the underlying mesh to a specific altitude with a flatten. I believe th flatten code must be given first, then the set elevation code.Dick

Share this post


Link to post
Share on other sites

Thanks for the help, Dick.I have very limited programming knowledge. I'm going to play with this code, but if it's not too much trouble, would it be possible to break down the different elements shown above?For instance, I think the AREA16 tag is the flatten area isn't it?And I see the different SetElevation tags (476, 500 and 524 which I'm assuming are also in meters)But where does the actual dimensions of the pad come (or bridge surface in your example) come into play. Is is set by the Lat/Long coordinates? Or does the SenseBorder call do this?Again, I'll play around and see if I can figure it out. But if you have some time to point out those areas I'd sure appreciate it.Thanks again for your help! Here's hoping this works!

Share this post


Link to post
Share on other sites

Hi Keith.The refpoint contains the center of the flatten ( it's reference point ).The numbers are defining point pairs ( 4 in this case ) of the invisible elevational poly. I think there can be more than 4. The points are defined by the scale in the refpoint ( 1.00 in this case = 1 meter ). The elevation is always in meters ( I think ), and must be an integer ( no decimals ).Header( 1 N38:10 N38:0 W081.0 W081.10 )LatRange( N38:0 N38:10 ); ----------------------------------------Area16( a N38:03.94 W81:05.30 12 )Call( :_Make_Surface )Jump( : ):_Make_Surface RefPoint( abs :_SetElevation_Surface_Fail 1.00 N38:03.94 W081:05.30V1= 2000 V2= 35 E= 200 )RotatedCall( :_SetElevation_Surface 0 0 0 )Return:_SetElevation_SurfaceSenseBorder( :-15 1515 1515 -15-15 -15)SetElevation( 200 ):_SetElevation_Surface_Fail ReturnEndAHere's a 30 x 30 meter surface at 200 meters elevation.Dick

Share this post


Link to post
Share on other sites

Thanks a ton!That explains alot. And so far, it appears to be working! Have to mess around to get the size right, but I can certainly land now!I owe you a bottle of your favorite! LOL

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  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...