Jayme McColgan Posted February 5 Share Posted February 5 hey! I'm slithering over from the Python forms as I'm having some trouble getting Truss Analysis to work correctly with my plugin and it seems no one in the python forms is doing much with it. there doesn't seem to be a lot of documentation on it... I'm unsure when I should be init the various parts of it. I'm assuming that the things below need to be set up during the "kObjOnInitXProperties" event? vs.DLDBeginLoadData(kDLDTypeDestributedLoad) vs.DLDSetLoadDataString(kDLDSelectorGroupName, "Video") vs.DLDSetLoadDataString(kDLDSelectorLoadID, "LED Screen") vs.DLDSetLoadDataString(kDLDSelectorPrmWeight, "0 lb") vs.DLDSetLoadDataString(kDLDSelPrmTotalDistWght, "0 lb/ft") vs.DLDSetLoadDataReal(kDLDTypeDestributedLoad, vs.OLDMassDistStrToReal(f"{0} lb")[1]) vs.DLDEndLoadData() and the code below needs to be set during the "kResetEventID" event? test = vs.OLDMassDistStrToReal(f"{wallweight/wphy}lb/ft")[1] test2 = vs.OLDMassRealToStr(wallweight)[1] #vs.AlrtDialog(str(test)) vs.OLDSetLoadDataReal(PIO_handle, 5, test, 0) vs.OLDSetLoadDataReal(PIO_handle, 8, test2, 0) vs.OLDSetLoadDataReal(PIO_handle, 9, test2, 0) things don't seem right after I do that. some guidance would be helpful. also are there any endpoints outside the SDK for using the Equipment Subparts feature that some of the built-in VW tools use? Quote Link to comment
MullinRJ Posted February 6 Share Posted February 6 Hello @Jayme McColgan, I know less about this than you, but I am using the following line in my ResetEvent: vs.OLDAddLoadHangPoint(PIOHand, 0, InsP, FALSE); where InsPt is the PIO insertion point. Unless told otherwise, I believe FALSE declares it as a Point Load, and TRUE declares it as a Distributed Load. I doubt it will solve what ails you, but it is one more piece to an undefined puzzle. Any documentation, or usage examples, from the Mother Ship would be immensely appreciated. Raymond Quote Link to comment
Jayme McColgan Posted February 7 Author Share Posted February 7 ok after a few hours of banging my head against the wall... PROGRESS. lol I'm adding this to the init event: vs.DLDBeginLoadData(kDLDTypePointLoad) vs.DLDSetLoadDataString(kDLDSelectorGroupName, "Audio") vs.DLDSetLoadDataString(kDLDSelectorLoadName, "Speaker Array") vs.DLDEndLoadData() I added this during the AddState (44) event (I think that's the right one): vs.OLDShowTrussSnapping() and I'm adding this during the Reset event ### mass is 454 grams to 1 pound vs.OLDClearHangPtsPath(PIO_handle, 0) ### not sure if this is needed vs.OLDAddLoadHangPoint(PIO_handle, 0, 0,0,0, True) ### should this be a (0,0,0)? vs.OLDSetLoadDataBool(PIO_handle, kDLDSelectorInclude, True, 0) vs.OLDSetLoadDataReal(PIO_handle, kDLDSelectorWeight, vs.OLDMassStrToReal(f"{totalweight}lb")[1], 0) doing this seems to work pretty well. braceworks runs correctly (I think). I'm unable to connect a motor directly to my PIO. still working on that. all that being said this is only working on a single-point object... what's the workflow for adding weight to a distributed object? would it be vs.OLDAddLoadHangPoint() in a loop down the length of my object? Quote Link to comment
Recommended Posts
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.