Jump to content

JBenghiat

Member
  • Posts

    2,013
  • Joined

  • Last visited

Everything posted by JBenghiat

  1. Yes, you can use scripting to work with resources. Unless you are always performing the same action or looking to do batch modifications, making the scripts isn’t necessarily faster than using the resource manager, though.
  2. The Location selector only works for objects in the design layers, not for the crop. You'll have to add additional named polygons to your design layers. An extra step over restricting by VP, but easier than manually counting.
  3. The other way to do this automatically is with a worksheet script. Add the following as a new Python Script resource: vs.WSScript_SetResStr( vs.GetName( vs.GetParent( vs.GetParent( vs.WSScript_GetObject() ) ) ) ) Then use this formula where you want the HP name: =RUNSCRIPT('SCRIPT_NAME') where SCRIPT_NAME is whatever you called the resource.
  4. @Marissa Farrell I was curious if I could get this to work with Marionette. The issue was that you were modifying the objects inside the Hanging Position PIO, but every time the PIO regenerates, these objects get deleted and recreated by the PIO script. Instead, the network needs to modify the objects in the PIO's profile group. I needed to create two custom nodes: Get Profile Group and Get Contained Objects, the latter iterating over the objets in a container and returning a list. Also, the criteria at the start of the list needed to start with the Hanging Position and work in, rather than the contained objects, working out. HPMarionette_MFarrell_JBenghiat.vwx @SCParker See if my explanation to Sam helps. In your example, the worksheet that is doing what you want selects the Truss record, which is the record used to define the Truss PIO. This selector would be identical to saying Type is Truss. The correct report searches for all the Truss PIOs and then displays the Truss Record attached to them. Searching for objects with Truss Record returns both the PIO and the symbols inside the PIO. Your third worksheet searches for objects with the Truss Record that are NOT a Truss PIO, returning only the symbols inside the Truss objects
  5. When you convert objects to a hanging position, you can base the position on a single symbol or embed geometry in the hanging position. If you have a symbol that is, for example, a 40' batten, you can base your HP on the symbol. Otherwise, you usually want to base the HP on embedded geometry (prior to VW 2014, symbol was the only option). The Convert to Hanging Position buttons in the OIP don't even give the option of creating a symbol. Whether the embedded geometry uses symbols is of no consequence to the script. As long as the HP is embedded geometry (i.e. in the profile group) this should work. The Truss PIO uses symbols with the Truss Record attached, an then also attaches a copy of that record to itself so the user can access it. Thus each Truss object has two objects with the record attached: the symbol inside the PIO and the PIO itself. If you want to create a report of objects with Truss Records, Including Components of Plug-in Objects will correctly look inside the Hanging Position. If your positions are made of Truss Objects, you have to edit the criteria to list objects whose Record Truss Record is Present and Type is Parametric object. Alternatively, you can do a report of objects of the type Truss and display data from the Truss Record. If you are using a mixture of Truss Objects and regular truss symbols, the report can get complicated, but you're really better off using a consistent method to place truss anyway. In terms of a script, that's actually a little simpler, as you can just not descend into objects that have the record attached (assuming you're manually iterating over objects and not using FEO).
  6. Assuming the hanging positions all use embedded geometry and not symbols (which would make assigning individual position names impossible), you need to get the Hanging Positions profile group, then iterate through items in the group. The Hanging Position would then need a reset for data to show up in worksheets.
  7. “Lighting Device” is the name of the Vectorworks plug-in. “Lighting Instrument” is a more generic term for the light on the plot. It’s also the term used by Lightwright and factored in to some of the pre-Spotlight lighting tools. You might say the Lighting Device is the tool you use to represent lighting instruments in Spotlight. Complicating things slightly is that the tool for inserting Lighting Devices is called the Insert Lighting Instrument tool. You’re never going to find the term Lighting Device in a lighting textbook or used when you’re referring to your actual rig, so much of the help and some of the tools and commands use the generic term rather than the name of the Spotlight object. I suspect that the name choice had to do with avoiding name conflicts and made sense from an engineering standpoint rather than an attempt to redefine the jargon. In the time since Spotlight debuted, VW gained the ability to change the display name of a plug-in (e.g. the Light Position Obj is now a Hanging Position); this may be the time to discuss whether the “Lighting Device” should change.
  8. I believe this is an issue with the last item of the summary list getting ignored. Try adding an additional dummy item at the end, and see if that helps.
  9. Yes — the hidden line preview is just OpenGL with show edges on, colors, textures, and shadows off. If you prefer to work in a hidden line-like mode, set your OpenGL options in this way. You’re likely not going to see many improvements in Renderworks speed among Vectorworks versions, as this is really just a bunch of math that always needs to happen, so only things like processor speed or availabile memory are going to affect RW significantly (the math is still the math). Where you will find improvements are new rendering options that can provide good results with less overhead — things like using parallax instead of displacement mapping for bump shaders, or using ambient occlusion instead of HDRI lighting. These settings sacrifice some realism for speed so they are not automatic. On the other hand, new options that increase realism, like caustics, will increase rendering time. Whete you should find improvements are things like 2D navigation, sheet layer navigation, OpenGL rendering, etc. The way many of these improvements happen, however, is by caching or sending tasks directly to the graphics card, which means that they are more prone to bugs, as they are dependent on specific OS hardware configurations.
  10. Even embedded lights shouldn't display in VPs, regardless of the light object display preference. This behavior looks unique to lighting devices and looks like it might be a 2019 bug.
  11. You're actually seeing the render light that's embedded in the Lighting Device symbol. Render lights should never show up in viewports (only the effects of the light), so this might be a bug. As soon as you render, whether in hidden line, OpenGL, or RW, they should go away.
  12. The summary is looking at the symbol that represents each type of light. If you want all the lights to have the same fill color, then edit the symbol. Otherwise, you’re looking at per-instance data, which isn’t what the Summary is designed to represent.
  13. All I use my template for is scale, page size, and grid settings. Any symbols, textures, scripts, or other resources I bring in as needed from my library files. Any plug-in defaults I have saved as red symbols or plug-in styles, and bring those in from my library as well. This includes my title block and drawing border. Default layers and classes I have saved to a Standards file (Library/Defaults/Standards), so I can just import them as needed in the Organization dialog. I also take advantage of Library/Defaults for other resources that I want available in their respective tools and menus: hatches, line styles, focus points, etc. I'm usually starting with scenic and venue files from others, so being able to bring my standard elements into an existing file is important. I also don't work often enough in the same theater to merit making a template — if I'm doing a repeat I'll usually start with the last project and delete the layers with design elements.
  14. Add Surface is for 2D objects. Try Add Solids. Or to combine NURBS surfaces Stitch and Trim Surfaces. You may also want to look at Surface Arrays. In your case I would: - Create the plan contour of the wall as a Polyline - Convert to NURBS - Copy and Paste in Place - Set the z height of the copy to the top of the wall - Use the Loft tool to create a NURBS surface - Create a symbol for one LED panel (the top is the surface that faces out) - both Sand Create Surface Array
  15. A viewport doesn't actually have an origin, only a bounding box, so what you are seeing is the geometric center of all the objects in your viewport. Viewport placement seems to follow a few rules: - If the sheet layer internal origin is inside the page area AND if the entire viewport fits on the page when aligned, the design layer origin will align to the sheet layer origin - If the sheet layer origin lies outside the page area OR the viewport is larger than the page area, the viewport will be centered on the page So, if your VP or cropped VP is smaller than the page size, you can shift your sheet layer page area slightly to the right, and your VP will create to the left of the center of the page
  16. This has come up before a few times. See this thread:
  17. You can access most of the dimension parameters with object variables. I would set ovDimShowValue to false, then set the leader text to your desired value. This also ensures that the text doesn't reset if the dimension receives a manual edit or is associated.
  18. Do you need a 3D view? Your post just mentions two Top/Plan views. If you are 2D only, you just have to use a graphic language that shows you are drawing a vertical position and don't worry about stacking the positions (other than for calculating beam angles). You have two options: 1. Draw the positions in elevation the way you would a ladder, with the light symbols below the bars and pointing down (or the reverse for an FOH position). In addition, draw a "footprint" or "shadow" of the position in plan view. This a top/plan view of the position, using shaded or hatched regular symbols (not lighting devices), just as you would do for a ladder or boom. 2. Draw the both pipes in top/plan, offsetting one of the pipes (usually the top). Indicate that the top position is N.T.P.L. (Not True Plan Location), or your favorite note to indicate as such), and use arrows at the ends of the pipe to indicate that this position stacks on the other. If the hanging configuration is radically different from the bottom pipe or uses a different inventory, also include footprints in their true position.
  19. A few things: - The orange box is just the selection boundary, so you can ignore its size. It is relevant in that it will tell you where you can click and select the Viewport, but should otherwise have no effect on output. - Because it is the selection box, it's going to include annotations, as those are part of the entire viewport object. - Cropping will have some effect on the selecting bounding box, but the bounding box will always be the union of the crop object and any annotation objects' bounding boxes. - The bounding box also includes any planar objects, even if you can't really see them in a rendered 3D view. You can try unchecking Display Planar Objects in Object Info and see if that resizes according to your expectations. (Note, that means any dimensions will have to be VP annotations)
  20. @mjm You do have an alternative tool for this at your disposal 🙂. If there’s something it’s not showing for you, let me know.
  21. I don't know 100% the process, but a lot of the title block data gets written to a hidden record format, and I imagine this is what gets read. (Essentially writing to the record format's defaults). You can browse the file's resource list, import the record format, read the data, then delete.
  22. I'm using RunTempTool() to call a custom tool that inserts a plug-in. If the user clicks the first point, then hits the delete key, the tool operation is aborted, like pressing escape. I would like for the tool to instead go back to waiting for the first click. Is there a way to change this behavior? The tool action at this point also is kAction_OnEnterReturnKeyForToolCompletion, which makes it difficult to tell if the user has hit the delete key or the enter key.
  23. You can extract data from a resource in another file, but not an object. If you create a reference to the other file and a referenced viewport, you should be able to read the data via the viewport. The only other option would be to have the file write data to an external data source (xml, text, sql, etc).
  24. A single object is easy: SetClass( FSActLayer, ‘Class Name’ ); All select objects takes a bit more code structure. Look at ForEachObjectInList, which will iterate through objects. You can set the function to traverse all selected objects.
  25. There is no good way to do this, and being able to swap out multicells is towards the top of my wishlist. Your best bet is to redraw the position and use LW to transfer the data. Either keep both versions and copy/paste data, then delete the old version, or turn off data exchange, export instrument data (only the fields you use to do a match), then merge into LW, matching by either position/unit number or by channel. This will get new Spotlight IDs into LW, at which point you can resume data exchange.
×
×
  • Create New...