• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

P3D v4 Attached windsock?

Messages
269
Hey,
I have a model I wanna attach a windsock to it.
This is how the object looks in real world:

I have created an object similiar to the real one. But I can't find the way to attach a windsock. There is almost no information about this process and as far as I know, P3D/FSX's windsock are not a "regular" library object, but they are being generated in a different way.
Anyone have done this before?
 
One possibility would be to use an SODE-animated windsock and place it with the SODE-placement tool (SODE Placer) from Jeffrey Staehli.
A French guy (Jaques-Paul Bollard (aka Bégipè or JP87)) has devised several animated windsocks (SODE_BJP_SOCKS) and can be downloaded from here:

https://sites.google.com/site/patdebarrsimus/home/sode

SODE Placer can be downloaded from here:

https://www.fsdeveloper.com/forum/threads/sodeplacer-v0-4.442264/

SODE can be downloadd from here:

https://sode.12bpilot.ch/?page_id=9

Conrad
 

Attachments

Hi.

I understand you correctly, you want to have a default windsock in your scenery?

Then your problem is not a problem. Because you can easily install a default windsock in your scenery. All you need is the Windsock section in your XML file. The code looks like this:

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<FSData version="9.0" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation="bglcomp.xsd">

<SceneryObject lat="50.793352" lon="8.464352" alt="0.0M" altitudeIsAgl="TRUE" pitch="0" bank="0" heading="0" imageComplexity="SPARSE">

<NoAutogenSuppression/>
<NoCrash/>
<NoFog/>
<NoShadow/>

<Windsock poleHeight="5.5" sockLength="3.5" lighted="TRUE">
<PoleColor red="211" green="211" blue="211"/>
<SockColor red="255" green="165" blue="0"/>
</Windsock>
</SceneryObject>

</FSData>

Of course you have to change the coordinates and possibly the height so that the windsock is in the correct position. The other parameters are self-explanatory. The red-marked commands are optional and are not needed to properly display the windsock.

If all parameters have been set as desired, then you can copy the entire code into a text file. You store this text file with the file extension .xml, for example: windsock.xml. You can drag and drop this new xml file to bglcomp.exe from the SDK. You will receive a BGL file. Then copy this BGL file into your Scenerey folder.

Hopefully it will help you a little bit further :)
 

Attachments

Hi.

I understand you correctly, you want to have a default windsock in your scenery?

Then your problem is not a problem. Because you can easily install a default windsock in your scenery. All you need is the Windsock section in your XML file. The code looks like this:

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<FSData version="9.0" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation="bglcomp.xsd">

<SceneryObject lat="50.793352" lon="8.464352" alt="0.0M" altitudeIsAgl="TRUE" pitch="0" bank="0" heading="0" imageComplexity="SPARSE">

<NoAutogenSuppression/>
<NoCrash/>
<NoFog/>
<NoShadow/>

<Windsock poleHeight="5.5" sockLength="3.5" lighted="TRUE">
<PoleColor red="211" green="211" blue="211"/>
<SockColor red="255" green="165" blue="0"/>
</Windsock>
</SceneryObject>

</FSData>

Of course you have to change the coordinates and possibly the height so that the windsock is in the correct position. The other parameters are self-explanatory. The red-marked commands are optional and are not needed to properly display the windsock.

If all parameters have been set as desired, then you can copy the entire code into a text file. You store this text file with the file extension .xml, for example: windsock.xml. You can drag and drop this new xml file to bglcomp.exe from the SDK. You will receive a BGL file. Then copy this BGL file into your Scenerey folder.

Hopefully it will help you a little bit further :)
Christian

Your Suggestion is the terrible looking Default windsock from the Flight Simulator. That one could also be placed with Airport Design Editor, because it is part of the ADE-program. Here the looking of the Default Windsock:

Default Windsock.jpg


Thats the one from your XML-file placed in one of my sceneries. Following is now the one from BJP, which is also animated:

Animated Windsock.jpg


The Segmented circle is not part from BJP, I found it on the Internet, in fact from this site and it is called: Segmented Circle ET V1 devised by Ed Tomlinson!

Kind reards

Conrad
 
Christian

Your Suggestion is the terrible looking Default windsock from the Flight Simulator.
I would suggest that these things are relative. When someone is first starting on their very first windsock placement, the originally supplied, default object library, can be immensely desirable, over adding additional variables and unknowns by trying to incorporate downloaded objects.
as far as I know, P3D/FSX's windsock are not a "regular" library object, but they are being generated in a different way.
I believe you are confusing the idea of an interactive windsock with the static library object.
 
Hey, guys. Thanks for the comments.
Just to make things clear, I know how to place the default windsock (ADE and the old fashioned XML code way). I have built an object similar to the real one form the picture in the first post. I am looking for a way to attach the defualt windsock to the object.
I am using ModelConverter X to attach objects to objects, but the default windsock can't be attached to another object because it is not recognized as a "library object" but rather has a some different "way" to be shown.

As it seems, my only solution is to create or download a custom made windsock(as suggested in the second post) and attach it to my object.

Christian, I think that you are one of the FlightPort library developers. Can I use your windsock library?

Cheers :)
 
Last edited:
Hey, guys. Thanks for the comments.
Just to make things clear, I know how to place the default windsock (ADE and the old fashioned XML code way). I have built an object similar to the real one form the picture in the first post. I am looking for a way to attach the defualt windsock to the object.
I am using ModelConverter X to attach objects to objects, but the default windsock can't be attached to another object because it is not recognized as a "library object" but rather has a some different "way" to be shown.

As it seems, my only solution is to create or download a custom made windsock(as suggested in the second post) and attach it to my object.

Christian, I think that you are one of the FlightPort library developers. Can I use your windsock library?

Cheers :)
Hi bar_rodoy

Just download BJP's animated windsock and look into his construction, you are smart enough, so you might even find a way to modify your own created windsock. You will find useful things in the download, although in French!

Cheers too :wave:
 
Last edited:
Hello:

I do not (yet) have P3Dv4 to test with, and I also have not tested SODE or the above cited special SimObject MDLs intended for use with SODE.

However, I am wondering if the format of those special SimObject "Windsock" MDLs would allow them to still be controlled by SODE if they were attached via 'AttachPoint code' on a "non-SODE" custom scenery library object MDL placed directly via BGLComp ...due to the differing methods for display of an attached "Library Object" used by BGLComp compared to being attached on an "AttachPoint"- or as a "Merged Object"- via MCX ? :scratchch

http://www.prepar3d.com/SDKv4/sdk/world/scenery/scenery_overview.html#AttachedObject

GaryGB
 
Last edited:
Gary,
It seems that indeed SODE uses a different technique to display its' objects.
What I need is a P3D supported windsock model. I tried to search for it online, but couldn't find anything for P3D. I found FlightPort's windsock object but it doesnt shown up in P3D, even if I convert it with MCX.
 
On a practical basis, the terminal or FBO building that you are modeling is rather unique, and is likely to only be used once at its real-world location. :pushpin:

Therefore, IMHO, you could place the Windsock object at its intended Geographic coordinates, Altitude AMSL or AGL, and Heading using SODE SimObject placement tool, rather than attempting to attach that object to the terminal or FBO building MDL file via an AttachPoint, as you are unlikely to ever need to move the terminal or FBO building and/or place it multiple times from a scenery object library. :idea:

GaryGB
 
SODE is a separate .dll, it requires manually starting it every time you run flight simulator. I once installed a Drzewiecki airport, visited it once and for the next few weeks I had to click yes (or no) for SODE before P3D would finish opening every time. I finally disabled it. So if I were running a bunch of SODE conditional hangars and jet bridges, well then I'd just have to use it, but I don't.
For installing one windsock on one scenery? I know that if something renders in FS9, that it can be made to render in P3D and I know it would be easier to export the windsock to P3Dv4 standard, than it would be to implement SODE for the same purpose.
I do not (yet) have P3Dv4 to test with, and I also have not tested SODE or the above cited special SimObject MDLs intended for use with SODE.
Ok I do have P3Dv4 and I have used SODE items created by others and I have tried to implement SODE and it is technical, at the very minimum, it is something else one has to learn how to do. For what I needed, I did not continue to learn how to implement SODE, I chose another route. You should do as you please, my recommendation is to keep it simple.

The windsock on the top of the hangar is animated ambient and renders fine in P3Dv4, as does the waving flag in the next image.

JC6G0aZ.jpg

B3iQIuv.jpg
 
SODE is a separate .dll, it requires manually starting it every time you run flight simulator. I once installed a Drzewiecki airport, visited it once and for the next few weeks I had to click yes (or no) for SODE before P3D would finish opening every time. I finally disabled it. So if I were running a bunch of SODE conditional hangars and jet bridges, well then I'd just have to use it, but I don't.
For installing one windsock on one scenery? I know that if something renders in FS9, that it can be made to render in P3D and I know it would be easier to export the windsock to P3Dv4 standard, than it would be to implement SODE for the same purpose.

Ok I do have P3Dv4 and I have used SODE items created by others and I have tried to implement SODE and it is technical, at the very minimum, it is something else one has to learn how to do. For what I needed, I did not continue to learn how to implement SODE, I chose another route. You should do as you please, my recommendation is to keep it simple.

The windsock on the top of the hangar is animated ambient and renders fine in P3Dv4, as does the waving flag in the next image.

Is it your own windsock?
 
Just to be clear, SODE-objects will only show-up in an running SODE-Environment. If Sode is not running, you wont see anything which is based on SODE.
SODE-objects are placed within the following path:

C:\ProgramData\12bPilot\SODE\SimObjects

the required definitions are in the following path:

C:\ProgramData\12bPilot\SODE\XML

which contains the definitions in XML-Format, here an example of my animated windsock Placement (7AK_SODE_Windsocks.xml):

XML:
<?xml version="1.0" encoding="utf-8"?>
<SODE>
  <!-- Environmental Data Probe serving its clients -->
  <SimObject Name="7AK_SODE">
    <!--Windsock at Apron-->
    <Placement Lat="54.146840333" Lon="-165.605140821" Alt="133" Hdg="0.0" />
    <Model SimTitle="12bPilot_SODE_Environmental_Data_Probe">
      <EnvironmentalDataProbe ClientList="Mat;Manche" />
    </Model>
  </SimObject>
  <!--Pole-->
  <SimObject Name="Mat">
    <!--Windsock at Runway 09-->
    <Placement Lat="54.145592749" Lon="-165.610398468" Alt="0#AGL" Hdg="0.0" />
    <!--Windsock at Apron-->
    <Placement Lat="54.146840333" Lon="-165.605140821" Alt="0#AGL" Hdg="0.0" />
    <!--Windsock at Runway 27-->
    <Placement Lat="54.143454974" Lon="-165.599186934" Alt="0#AGL" Hdg="0.0" />
    <Model SimTitle="BJP_SUPPORT_IDV_R"></Model>
  </SimObject>
  <!--Brace or Shroud-->
  <SimObject Name="Haubans">
    <!--Windsock at Runway 09-->
    <Placement Lat="54.145592749" Lon="-165.610398468" Alt="0#AGL" Hdg="0.0"></Placement>
    <!--Windsock at Apron-->
    <Placement Lat="54.146840333" Lon="-165.605140821" Alt="0#AGL" Hdg="0.0"></Placement>
    <!--Windsock at Runway 27-->
    <Placement Lat="54.143454974" Lon="-165.599186934" Alt="0#AGL" Hdg="0.0" />
    <Model SimTitle="BJP_Haubans"></Model>
  </SimObject>
  <!--Windsocks-->
  <SimObject Name="Manche">
    <!--Windsock at Runway 09-->
    <Placement Lat="54.145592749" Lon="-165.610398468" Alt="0#AGL" Hdg="0.0"></Placement>
    <!--Windsock at Apron-->
    <Placement Lat="54.146840333" Lon="-165.605140821" Alt="0#AGL" Hdg="0.0"></Placement>
    <!--Windsock at Runway 27-->
    <Placement Lat="54.143454974" Lon="-165.599186934" Alt="0#AGL" Hdg="0.0" />
    <!--Wind Speed 0-3-->
    <Model SimTitle="BJP_Sock0">
      <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No" />
      <ConditionalVisibility Variable="WindSpeed" Value="0-3" />
    </Model>
    <!--Wind Speed 4-9-->
    <Model SimTitle="BJP_Sock4">
      <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No" />
      <ConditionalVisibility Variable="WindSpeed" Value="4-9" />
    </Model>
    <!--Wind Speed 10-14-->
    <Model SimTitle="BJP_Sock10">
      <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No" />
      <ConditionalVisibility Variable="WindSpeed" Value="10-14" />
    </Model>
    <!--Wind Speed 15-19-->
    <Model SimTitle="BJP_Sock15">
      <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No" />
      <ConditionalVisibility Variable="WindSpeed" Value="15-19" />
    </Model>
    <!--Wind Speed 20-24-->
    <Model SimTitle="BJP_Sock20">
      <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No" />
      <ConditionalVisibility Variable="WindSpeed" Value="20-24" />
    </Model>
    <!--Wind Speed 25-60-->
    <Model SimTitle="BJP_Sock25">
      <VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No" />
      <ConditionalVisibility Variable="WindSpeed" Value="25-60" />
    </Model>
  </SimObject>
</SODE>

I hope this helps to understand SODE..

Conrad
 
Rick

You dont need to start SODE manualy, it can be put into "exe.xml" in the following path:

C:\Users\UserName\AppData\Roaming\Lockheed Martin\Prepar3D

or:

C:\Users\UserName\AppData\Roaming\Lockheed Martin\Prepar3D V2

or:

C:\Users\UserName\AppData\Roaming\Lockheed Martin\Prepar3D V3

or:

C:\Users\UserName\AppData\Roaming\Lockheed Martin\Prepar3D V4

XML:
    <Launch.Addon>
        <Name>SODE</Name>
        <Disabled>False</Disabled>
        <ManualLoad>False</ManualLoad>
        <Path>C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe</Path>
        <CommandLine>FSX</CommandLine>
    </Launch.Addon>

Conrad
 
Indeed one does, the simulator will not open until the approval of SODE has been confirmed, therefore the entire process is on hold until such occurs. If the path is not placed into the exe.xml, then the user has to actually navigate to the SODE file and start it.
 

Attachments

Hi Rick

Thanks a lot for the windsock, I will try it out. I am always open for new things and willing to learn from others:wave:

Kind regards

Conrad
 
Indeed one does, the simulator will not open until the approval of SODE has been confirmed

Well, that's certainly not a "feature" of a typical SODE install. SODE normally launches silently.
Somewhere in your FS config files the "Launch.ManualLoad" flag is set to true, which prompts the user to load a module manually every time you start FS.
The SODE installer does not touch this flag at all, so it was set to true by something else.

May I ask which sim this occurs with?
 
https://www.fsdeveloper.com/forum/threads/attached-windsock.442532/post-796356

SODE is a separate .dll, it requires manually starting it every time you run flight simulator. I once installed a Drzewiecki airport, visited it once and for the next few weeks I had to click yes (or no) for SODE before P3D would finish opening every time. I finally disabled it. So if I were running a bunch of SODE conditional hangars and jet bridges, well then I'd just have to use it, but I don't.

For installing one windsock on one scenery? I know that if something renders in FS9, that it can be made to render in P3D and I know it would be easier to export the windsock to P3Dv4 standard, than it would be to implement SODE for the same purpose.

Ok I do have P3Dv4 and I have used SODE items created by others and I have tried to implement SODE and it is technical, at the very minimum, it is something else one has to learn how to do. For what I needed, I did not continue to learn how to implement SODE, I chose another route. You should do as you please, my recommendation is to keep it simple.

The windsock on the top of the hangar is animated ambient and renders fine in P3Dv4, as does the waving flag in the next image.

When you state that "windsock on the top of the hangar is animated ambient and renders fine in P3Dv4, as does the waving flag in the next image", one might wonder whether this infers to the reader and prospective end user that these objects correctly turn into the wind ...by accessing FS system variables. :scratchch


IIUC, accessing a FS system variable in P3D appears to be possible via a custom gauge or module (such as SODE) that runs as a child process of FS, and which perhaps also communicates with an executable that runs outside the FS task session user virtual address space that communicates with SimConnect to use such FS system variables with a dynamic scenery object.

AFAIK, a "true windsock" as a navigational aid to the aviator in FS, should correctly turn into the wind by accessing a environment variable offset within the FS system memory infrastructure.


NOTE: In MSFS, 'Wind Direction' is always expressed in degrees Magnetic; thus Correction for local Magnetic Declination may also be required ...such as has been discussed in these threads:

https://www.fsdeveloper.com/forum/threads/quote-for-animated-windsock.434400/

https://www.fsdeveloper.com/forum/threads/p3dv4-compliant-windobjects.441496/

https://www.fsdeveloper.com/forum/threads/mdl-scenery-object-what-do-i-do.437568/page-2


Please clarify whether the objects that you refer to in your quoted statement above, correctly turn into the wind ...by accessing FS system variables.

GaryGB
 
Last edited:
Back
Top