Crzyrndm

[1.3] Procedural Wings

Recommended Posts

Hi everyone. Dropping by to warn users of this mod that the FAR patches are incorrectly defined for all parts of the mod "Procedural Wings". B9 One seems OK. If you are not using FAR, things are good too.

So, while searching thru the "ModuleManager.ConfigCache" file for parts that lacked proper FAR definitions, I came across this (the section is in bold):

Spoiler

name = Proceduralwing2EndPiece
    type = PART
    parentUrl = ProceduralDynamics/Parts/DYJproceduralwing2endcap/part
    url = ProceduralDynamics/Parts/DYJproceduralwing2endcap/part/Proceduralwing2EndPiece
    PART
    {
        name = Proceduralwing2EndPiece
        module = Part
        author = DYJ
        mesh = model.mu
        scale = 1
        rescaleFactor = 1
        TechRequired = advAerodynamics
        entryCost = 10000
        cost = 0
        category = Aero
        subcategory = 0
        title = PWing - Mark2 Tip
        manufacturer = Procedural Dynamics
        description = Wing part of yet to be determined shape, size, mass and other measurements aswell, this one is rounder than the others.
        attachRules = 0,1,0,1,1
        node_attach = 0.0, 0.0, 0.0, -1.0, 0.0, 0.0
        mass = 0.033
        dragModelType = none
        crashTolerance = 15
        maxTemp = 2400
        explosionPotential = 0.1
        fuelCrossFeed = True
        breakingTorque = 100
        breakingForce = 100
        bulkheadProfiles = srf
        thermalMassModifier = 8.0
        emissiveConstant = 0.95
        MODULE
        {
            name = WingManipulator
        }
        MODULE
        {
            name = ModuleLiftingSurface
            useInternalDragModel = True
            deflectionLiftCoeff = 2.0
            dragAtMaxAoA = 0.5
            dragAtMinAoA = 0.0
        }
        -MODULE[ModuleLiftingSurface]
        {
        }

        MODULE
        {
            name = FARWingAerodynamicModel
            MAC = 2
            MidChordSweep = 0
            b_2 = 1
            TaperRatio = 1
        }
        MODULE
        {
            name = PartTemperatureState
        }
        MODULE
        {
            name = ModuleAGX
        }
        MODULE
        {
            name = AYPart
        }
        MODULE
        {
            name = GeometryPartModule
            forceUseMeshes = True
        }
        MODULE
        {
            name = FARAeroPartModule
        }
        MODULE
        {
            name = HotSpotModule
        }
    }
}

Apparently, the use of the following line in all "Procedural Wings" mod wing parts CFG files: "-MODULE[ModuleLiftingSurface]:NEEDS[ferramGraph] {}" does not produce the desired effect of removing that module definition from the targeted part because of the ":NEEDS[]" section.

Ah much better approach would be to use this instead:
 

Spoiler

 

[...]

// This takes care of the "Vanilla/Stock" aerodynamic model only if FAR is not installed. Note the ! before "FerramAerospaceResearch" for NOT.

MODULE:NEEDS[!FerramAerospaceResearch]
 {
        name = ModuleLiftingSurface
        useInternalDragModel = True
        deflectionLiftCoeff = 2.0
        dragAtMaxAoA = 0.5
        dragAtMinAoA = 0.0
 }

 

// This takes care of the "FAR" aerodynamic model only if FAR is installed.
 MODULE:NEEDS[
FerramAerospaceResearch]
 {
        name = FARWingAerodynamicModel
        MAC = 2
        MidChordSweep = 0
        b_2 = 1
        TaperRatio = 1
  }

[...]

 

Now, for the three "Control Surface" parts defined in Procedural Wings, the same apply but the MODULE name are different: ModuleControlSurface for Stock and FARControllableSurface for FAR.

It is quite amazing (and sad actually) to see so many mods with incorrect or poorly done Module Manager patches. This often results in strange and hard to fix issues. I know this mod is no longer maintained but I do hope that any future maintainer would take care of the issues.

Edited by Galenmacil

Share this post


Link to post
Share on other sites

Actually, that looks like the needs worked just fine, just the '-' to remove the node was incorrectly selected (if the correct syntax was used, the node would've been nuked as intended)

Explanation on why it was done the way it is

  • ferramgraph: is not the GameData folder name, and so doesn't trigger when uninstalled by a package manager but the folder remains because of other files (which then leads to "my wings don't lift...")
  • adding then removing the node: Config works even if Module Manager isn't installed. With a NEEDS on the node, it doesn't work if MM is not installed (also leading to "my wings don't lift...")

Since there has been a significant reduction in installation issues above after making this change, I'd say I made the right decision and the remove syntax should be done properly rather than suggesting a significant regression

Edited by Crzyrndm

Share this post


Link to post
Share on other sites
8 hours ago, /not/pol/ said:

..i think he meant if the maintainer would recompile it for 1.3.1..

...and? ... vOv
whats the difference?

also, anyone can see that the developer has been on VERY recently... even after 1.3.1 dropped, so I have a feeling that he/she likely KNOWS, this may need a recompile/update...

Share this post


Link to post
Share on other sites
On 10/9/2017 at 3:47 PM, dundun92 said:

How would you recompile for 1.3.1?

 

Share this post


Link to post
Share on other sites

where are the part config files for the wings where you press j on them and you can edit them im needing to modify them some because im making a shuttle rss ro and they keep blowing up on reentry and ive tried getting rid of weight but it just wont go through 

Share this post


Link to post
Share on other sites
20 hours ago, Jim123 said:

where are the part config files for the wings where you press j on them and you can edit them im needing to modify them some because im making a shuttle rss ro and they keep blowing up on reentry and ive tried getting rid of weight but it just wont go through 

In "..\GameData\B9_Aerospace_ProceduralWings\Parts\Aero_Wing_Procedural\" folder. Removing weight will create oposite effect from desired as you will remove heat capacity from part. And if you are using FAR, you need to increase strenght/weight if you experience aerodynamic failure.

It is hard to figure out from your question if failure comes from overheating or too much G forces or due to dynamic preassure.

Edited by kcs123

Share this post


Link to post
Share on other sites
On 10/18/2017 at 7:07 PM, Jim123 said:

where are the part config files for the wings where you press j on them and you can edit them im needing to modify them some because im making a shuttle rss ro and they keep blowing up on reentry and ive tried getting rid of weight but it just wont go through 

if you are using the most advanced tech wings - they read something like B9 Procedural Wing (Spaceplane) - you should not have any temperature issues during reentry

I have been experimenting with spaceplanes in RO + RSS for quite some time now and I would start by looking at your re-entry profile - try a shallower re-entry to maximize your time in the upper atmosphere and bleed off as much speed as you can there - to do so, circularize a 140km by 140km orbit before re-entering and then lower your periapse to let's say 80 km - that should get you down to the ground minimizing aerodynamic heating.

Share this post


Link to post
Share on other sites

Hi @Crzyrndm, I have been using B9 Procedural wings before some years, but not the main branch, but some other fork.  (I think it was 01010101lzy fork?) The wings had some good features including shaping them by degrees or matching shape/color/trails by parent part. Will you in future implement some shaping by degrees? 

Thanks

Edited by Toonu

Share this post


Link to post
Share on other sites
8 hours ago, Toonu said:

Hi @Crzyrndm, I have been using B9 Procedural wings before some years, but not the main branch, but some other fork.  (I think it was 01010101lzy fork?) The wings had some good features including shaping them by degrees or matching shape/color/trails by parent part. Will you in future implement some shaping by degrees? 

Thanks

mate, @Supergamervictor has you covered! head over to his post as he recompiled it for 1.2.2 & 1.3 (experimental)

 

Share this post


Link to post
Share on other sites
1 hour ago, hypervelocity said:

mate, @Supergamervictor has you covered! head over to his post as he recompiled it for 1.2.2 & 1.3 (experimental)

 

Thanks, but can I expect it to work on 1.3+ (1.4 KSP) while it says halted in the name? :D Or maybe I can then switch back to normal B9 probably...

Share this post


Link to post
Share on other sites

I'm having some minor issues with these wings. For whatever reason, KJR doesn't seem to work on this mod, so even small three meter wings flop around like wet noodles, and even when using rigid attach and auto-strut, I find my wings getting sheared off at around 1km/s and 20km altitude. The other annoying issue I'm experiencing is when I'm making wings, if I try to add another PWing on one I've already attached to my vessel, I only get one chance to edit the second wing and then I can't edit it again. I've tried uninstalling and reinstalling the mod a couple of times and my problems persist. I tried looking through the thread and I couldn't find anyone else having any similar issues.

Share this post


Link to post
Share on other sites

where is the actuall procedural parts, not wings

 

Share this post


Link to post
Share on other sites
12 hours ago, Abpilot said:

where is the actuall procedural parts, not wings

 

Different author, different mod and forum thread:

 

Share this post


Link to post
Share on other sites

So there was  NathanKell's ProceduralWings, then  Bac9 forked it (or created separately) Bac9's Procedural Wings, and then @Crzyrndm  forked both of them? 

Do you want support both of them or (I see at last forum page) preference is given to Bac9's Procedural Wings - fork ?

Share this post


Link to post
Share on other sites

More accurate history of the two seperate mods

  • Procedural wings created by DYJ, later maintained by NK and then myself when NK became a dev (I was already maintaining B9 at the time and submitting some patches across)
  • B9 procedural wings created by Bac9 to overcome some of the issues noted with the original version. During late development I started submitting patches (liked the mod, not the stability...), and maintained a fork when Bac9 went quiet

Obviously they are now both looking for a maintainer since I've moved on (unless someones picked it up and I've not seen / forgotten about it. I'm not looking hard :D)

Share this post


Link to post
Share on other sites

So, has anybody else taken up the mantle on this yet, or are my realistic replicas forever doomed to have inaccurate wings?

Share this post


Link to post
Share on other sites
Just now, Brainpop14 said:

Someone please update these for 1.3.1

It works in 1.3.1 as is.

Share this post


Link to post
Share on other sites

Looks like the 1.3 update might have broken the "Show wing data" toggle in the right-click menu in the editor?

When I click "Show wing data", the text changes to "Hide wing data", but nothing appears in the right-click menu, and I get the following stack trace in KSP.log:

Spoiler

[EXC 02:21:17.290] NullReferenceException: Object reference not set to an instance of an object
    WingProcedural.WingProcedural.InfoToggleEvent ()
    BaseEvent.Invoke ()
    UIPartActionButton.OnClick ()
    UnityEngine.Events.InvokableCall.Invoke (System.Object[] args)
    UnityEngine.Events.InvokableCallList.Invoke (System.Object[] parameters)
    UnityEngine.Events.UnityEventBase.Invoke (System.Object[] parameters)
    UnityEngine.Events.UnityEvent.Invoke ()
    UnityEngine.UI.Button.Press ()
    UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData)
    UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData)
    UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor)
    UnityEngine.EventSystems.EventSystem:Update()

At least as far as I can tell, it seems that the NRE is thrown when trying to show the corresponding fields in lines 2646 - 2653 in WingProcedural.cs, since the KSPField attribute was removed from the corresponding fields in commit 1ba21237ed43ea5653de6f1e1cb66326e4b07259 (along with some code updating the values for those fields).

Was "Show wing data" supposed to be removed completely?

Share this post


Link to post
Share on other sites

Hi all. I am using this mod (or a forked version of it for RSS/RO for KSP 1.2.2) and I am looking for a way to increase the maximum length (and maybe other parameters) of these procedural wings.
I am trying to do a replica of the B-52, but the max length I have is 16m, while the B-52 wings are IIRC close to 25m length.
Anyone knows how to allow bigger sizes?
I've looked in parts .cfg and in the source code too, but was unable to find where these min/max/step parameter sizes are defined

I could 'glue' two wings together, but... that never looks as good and create some weeker joints (even with KJR)

Thanks for any help possible

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.