Jump to content

Jayme McColgan

Member
  • Posts

    196
  • Joined

  • Last visited

Reputation

19 Good

1 Follower

Personal Information

  • Location
    United States

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I'm trying to figure out how to draw the 2d path object and have a triangle inserted evenly spaced along the path. I'm struggling to figure out where the points on the line would be. some direction would be appreciated. thank you
  2. 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?
  3. using vs.Generate2DFrom3DComp() will work just fine for me. thanks!
  4. I built a plugin that inserts some 3d objects. I'd like to also add a 2d representation of that if the object doesn't have one. What's the best way to take the "top" of a 3d object and turn it into a 2d object? wow, I hope that makes sense... lol
  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?
  6. I figured out my spacing thing... vs.SetRightItem() allows you to adjust the L-R indent.
  7. so i found vs.CreateResourcePopup() and vs.CreateCustThumbPopup() but how do I apply a resource list to them?
  8. hey everyone, 2 questions about dialog boxes... 1. I vaguely remember seeing a symbol popup selector that opens a list of symbols and lets you pick one. am I crazy? 2. I have an CreateEditText and a CreateStaticText to the right of it, there is some space between them, is it possible to get rid of that?
  9. here's what I use to find out if I'm in top plan. topplan = vs.GetProjection(vs.ActLayer()) if topplan != 6: vs.SetView(xAngleR, yAngleR, zAngleR, offsetPt[0], offsetPt[1], offsetPt[2]) #0 = Orthogonal #1 = Perspective #2 = Cavalier Oblique 45 #3 = Cavalier Oblique 30 #4 = Cabinet Oblique 45 #5 = Cabinet Oblique 30 #6 = Plan #7 = Section #8 = Section Plus
  10. FALSE ALARM: this seems to only work the FIRST TIME after starting VW, It won't work any other time. is there something that would cause a menu command to work differently on its first run vs any other run?
  11. UPDATE: I got this to work for me by turning on "Reset on Move" and "Reset on Rotate" on the point object tool that I'm inserting with vs.CreateCustomObjectN()
  12. it looks like you are trying to make a curved LED wall... I was in a similar boat that no amount of math I did could get it perfect... the way I built mine is I inserted the tile then put in a loci at the location you want to curve to happen and store the handle of it and then on the next tile I repeat the process and moved the tile to the location of the previous loci I made and use the vs.RotatePoint() to rotate the desired amount. I also store all the loci in a list and delete them all after I'm done. this is VERY disjointed but here's the basic premise... vs.Symbol(fulltile, 0,0 , 0) vs.Locus3D(phywidth*curve_interval,0,0) last_loc = vs.LNewObj() ### other random code here ### curloc = vs.GetLocus3D(last_loc) vs.Move3DObj(last, curloc[0], curloc[1], 0) vs.RotatePoint(curloc[0], curloc[1], cur_angle)
  13. yeah, sadly python can't run in the background... I would kill for some JS eventlistener style functionality that can run a script when stuff happens. maybe ill submit that as a feature request one day... let me know if you end up diving into the SDK and how scary it is, I keep meaning to play around with it but I know NOTHING about C++. lol
  14. Happy holidays everyone! I see there's a new equipment subpart in some of the built-in plugins. I'd like to use that on some of my plugins. there seems to be vs.vsoEquipItemDataSet() and 2 others but the small amount of testing I tried didn't work. wondering if anyone has worked with it at all.
  15. Here's how I get the items that are in a popup. i also use this flow to clear out popups and repopulate them with new values. popupItems = [] ok, parmid = vs.vsoPrmName2WidgetID('', 'Product') popupCnt = vs.vsoWidgetPopupGetCnt(parmid) for i in range(popupCnt): popupItems.append(vs.vsoWidgetPopupGet(parmid, i)) vs.AlrtDialog(str(popupItems))
×
×
  • Create New...