Jump to content


  • Posts

  • Joined

  • Last visited


12 Good

Personal Information

  • Location
    United States

Recent Profile Visitors

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

  1. 2 reasons why the DLVP method works for us: 1) We can split up the workflow, and have someone cleaning up a crappy venue file while another team member is working on a show file. This is also great if you want to protect IP - you can swap out the painstakingly created 3D file you developed for the original 2D version when you send a design to a venue for approval. 2) We work under the assumption that we are either going back to a given venue or repeating a show somewhere else. In both cases, using a referenced workflow allows for a simple and clean transition. Both the venue file and show file are independent and can easily be updated or repurposed without much fuss. Hope that helps! Dan
  2. You can absolutely use the DVLP method and select different layers! I do this all the time with other types of venues. For instance, a convention center with a unified class structure but separate layers per floor. I will frequently use multiple DLVPs referenced to the same file, choosing different layer and class visibility options. The DLVPs live on separate layers in the “design” document (vs the “venue” file). That allows for easy generating of new plans for separate floors without messing with overall class structure. @setdesigner - you’re on the right track. What you what to do is set up (for instance) the “pit up” viewport first. Then copy and paste in place. Move the 2nd copy to a new layer or class in your working doc. Then select whatever class or layer options on the DLVP that you need for “pit down.” You now have 2 versions referencing the same file. On your design doc sheet layers you can create 2 viewports, one showing each DLVP plus whatever other design elements you want to include.
  3. Turns out the hyperlink tool can generate a QR! You could add that to your symbol in a separate class, like the attached. I had better luck formatting the text below the QR by making it a "convert to group" symbol, but someone else may know how to fix that. symbol_with_qr.vwx
  4. Have you considered using a QR code instead of a bar code? It would allow you to easily link to an external URL like a manufacturer data sheet. It looks like it would be a pretty easy Python script using the qrcode library, or some kind soul could probably whip up a Marionette node.
  5. Hello all, I struggled with this a bit, so I figured I'd share in hopes of saving someone else some pain and anguish. The key learning is that the result of vs.GetObjecTags(class_handle) is a 2-element tuple that contains TRUE in index 0 and either None or a nested tuple with all attached tags in index 1. Once I figured that out it was easy to work with the list. I have not experimented, but I imagine Layer Tags work the same way. Example below creates a worksheet with a list of Class Tags: import vs classes_total = vs.ClassNum() taglist = [] # make a list of tag names, skipping classes without a tag for x in range(classes_total): ClassName = vs.ClassList(x + 1) hClass = vs.GetObject(ClassName) tagTuple = vs.GetObjectTags(hClass) if tagTuple[1] == None: pass #skip classes with no tag else: tagArray = tagTuple[1] for i in range(len(tagArray)): tag = tagArray[i] if tag in taglist: pass else: taglist.append(tag) # check for the Class Tag List worksheet. If it doesn't exist, create it. ws_handle = vs.GetObject("Class Tag List") #if no worksheet found, create it if vs.GetTypeN(ws_handle) != 18: ws_handle = vs.CreateWS("Class Tag List",len(taglist)+1,1) vs.SetWSCellFormulaN(ws_handle, 1, 1, 1, 1, "Class Tags") vs.SetWSCellTextFormat(ws_handle,1,1,1,1,0,0,1) #make the header bold #if the worksheet exists, easist way to handle is delete everything except the header and start from scratch else: rowcount = vs.GetWSRowColumnCount(ws_handle) vs.DeleteWSRows(ws_handle, 2, rowcount[0]-1) vs.InsertWSRows(ws_handle, 2, len(taglist)+1) vs.DeleteWSRows(ws_handle, len(taglist)+1, 1) # add elements from the tag list to the worksheet. for i in range(len(taglist)): vs.SetWSCellFormulaN(ws_handle, i+2, 1, i+2, 1, taglist[i]) vs.SetWSCellTextFormat(ws_handle,i+2,1,i+2,1,0,0,0) #make the content rows regular text vs.ShowWS(ws_handle,True) This example shows or hides classes based on tag value: import vs TagStr = 'Audio' ShowMe = 1 def ViewByTag(TagName,ShowHide): classes_total = vs.ClassNum() for x in range(classes_total): ClassName = vs.ClassList(x + 1) hClass = vs.GetObject(ClassName) tagTuple = vs.GetObjectTags(hClass) if tagTuple[1] == None: pass else: tagArray = tagTuple[1] if TagName in str(tagArray): if ShowHide == 0: vs.HideClass(ClassName) else: vs.ShowClass(ClassName) ViewByTag(TagStr,ShowMe) Enjoy! Real Python coders, please feel free to weigh in if you see an issue. Dan
  6. @Tom W. it's super easy if you are willing to have 2 different scripts rather than toggle visibility. I use this method all the time. "Show" script - ShowClass('NonPlot'); "Hide" script - HideClass('NonPlot'); You can create plug-ins with these simple scripts and give yourself menu items. If you have more than one class to show/hide at a time ("NonPlot-Loci" for instance), you can add additional lines to the script. Make sure to use the semicolon at the end of each line.
  7. Well.. Andy just gave you one method. You could also simply add an image prop in front of the LED structure. Or break your source image into tile-sized pieces and map each one individually. So I wouldn’t say there’s no way to do it. There are plenty of options. It’s just easier with the built in tool.
  8. I've had the same experience working with red symbols and the Video Camera tool. Thanks for bringing this up, I really thought it was me. @RMDiekmann have you experimented with custom camera stands as well? I created one that places the camera at a more realistic height for event industry use in a long throw situation. I find that the 3D locus used for camera body placement seems to mysteriously disappear when I import the red symbol. -Dan
  9. The Pan and Tilt adjustments are limited to adjustments of 1 degree or greater. This doesn't really work in real world conditions where a camera is some distance from the subject, using a "sports" style 9mm x 70mm lens, for instance. It's not uncommon to have a focal length of several hundred millimeters. Framing up a subject with the camera requires panning or tilting in fractions of a degree.
  10. Regarding pdf ungrouping - this is not a Vectorworks issue, it's a problem with the manner in which the document was created. Not all pdf documents include underlying geometry. If the pdf has been rasterized, you won't be able to get anything out of it. -Dan
  11. Someone (DomC maybe?) wrote a Marionette network that adds random symbols from a specified folder inside of a control object. It works really well. You could make a set of sprinkle objects of different colors and use a circle as the control object.
  12. I think your best bet for that would be to use Python. There are a bunch of options for working with file and folder structure using os (https://docs.python.org/3/library/os.html). I wrote a script to snapshot an open file to a subfolder in the current directory using os. You can definitely do what you're looking for, but not necessarily with Vectorscript.
  13. @C. Andrew Dunning I've been wondering about this too, although I haven't tested it exhaustively. Workgroup resources seem to work with Videoscreen and Soft Goods, but not Audio Tools.
  14. I use a Synology DS1813+. I use the Cloudstation feature to share folder structures among multiple machines, both PC and Mac. I also frequently use the Cloud Sync feature to synchronize certain project folders with Dropbox, allowing easy collaboration with outside resources. For access to non-Dropboxed folders outside of my LAN I use a VPN. Honestly, it works very well. The server has been doing it's thing since 2013 with only occasional maintenance. When I add a new computer, it's simply a matter of installing the Cloudstation software, setting up the local folder structure, and letting it download for a couple of hours to sync up. Generally the only time I log in to the server is to set up new Dropbox sync folders. Happy to share more perspective anytime. My Swiss German is a little rough, though. 😉 -Dan .
  15. Thanks Mike. I'm not sure that I buy that official explanation, though. I *always* render using viewports with linked RW cameras. Sometimes the gobo mysteriously disappears, and I can make it come back without re-creating the viewport and linked camera. But until I can pin down exactly what causes it to break, I guess the official line will have to suffice. -Dan
  • Create New...