Jump to content

JBenghiat

Member
  • Posts

    2,028
  • Joined

  • Last visited

Everything posted by JBenghiat

  1. Vectorworks doesn't have the ability to provide help or tooltips in the OIP, even for core tools. You'll see a tooltip-like interface that shows you data that is too large to completely display in the field, but that's it.
  2. You have to use BeginSym/EndSym to create the symbol, and then either SetParent or CreateDuplicateObject to set the contents of the symbol.
  3. I see that the documentation for SetHDef muddles the terminology a bit. How are you traversing the objects to be replaced? Are they all symbol instances in the drawing? If you have symbols inside other symbols, or plug-in objects that store an instance of the symbol to avoid a purge, or the symbol in something like a viewport annotation, you might be missing some of the instances. If you test your script on a new file that only contains a few symbol instances of the type you want to replace, you should see that you can delete the symbol without warning. You can also replace one symbol with another when deleting it. Is your script performing extra functions that prohibit you from just replacing symbols on deletion?
  4. You might be mixing some nomenclature here. A “referenced” symbol means that the definition is referenced in from another file. This is in contrast to the distinction between a symbol instance and a symbol definition. Does the error say the symbol is in use or that it is referenced?
  5. Set/GetSavedSetting If the user clicks OK, set the saved setting. On dialog setup, check if the saved setting exists, and if so, set the value to the saved setting.
  6. Vectorworks doesn’t allow for automating user interaction. In fact, DoMenuTextByName is a bit of a kludge. Directly scripting the underlying action of the dialog is your only solution, and is generally a better approach.
  7. I had to look at the Blender documentation to understand what you mean, and no, nothing like this is available in Vectorworks. I believe that Vectorworks implementation of Python has much less of a 1:1 relationship that you see with blender. What you suggest is an interesting enhancement, but it would require new, manual data entry across much of Vectorworks, so would not be a small task.
  8. Do you mean mousing over drawing objects, or something else? The function you cite is for setting the mode bar help text for custom tools. You can also set the tooltip for hovering over tools and object-insertion tools via the plug-in manager. You can only set tool tips for drawing object control points and hot spots via the SDK.
  9. I'm not seeing this. The Lighting Device should take on the position and position name from any Rigging Object on another visible layer. The exception would be if the layer of your lights has a different elevation (e.g. if your lights layer is set at 20' to match the grid height, you will see a height of 0 in the Object Info Palette). What you won't see is the visual feedback of the Lighting Device attaching to the Rigging Object. That's a limitation within Vectorworks: object highlighting won't work for unelectable objects.
  10. You can find a log in your user folder, as well as an error log for scripts. However, you’re only going to see user interactions in the log. Plug-ins won’t run on their own, though, unless specifically coded to be triggered by certain event, like changing a layer scale.
  11. Generally this gets tracked as "iron." It would also require some changes to Lightwight. This is getting off topic, but I think the categories of device type have become obsolete. We need a better way to deal with iron, LED (multi-parameter, but not a moving light), data distributers, and power distributers that show up in the paperwork.
  12. Though more importantly, every time Vectorworks adds an enhancement (or even a tweak) to Spotlight, they need to consider every component that gets affected by that change. That just hasn’t been happening— in my eyes things like this are a regression. I’ve had difficulty making the case that they are NOT enhancement requests.
  13. This is the issue I alluded to. The pull downs don’t populate. Already been reported…hoping it gets fixed for SP3.
  14. 2022 restores find and modify functionality to accessories, though the pull down menus aren’t working correctly (you need to manually type in names) Another alternative solution: Savvy Select Similar Instrument works with accessories and cells.
  15. Possibly. Your plug-in will need to be event enabled. In the init event, call vs.SetObjPropVS(88, True) This disables the polygon edit widget. I don't know if it works on NURBS paths. If it does, it would hide the entire section where you edit points.
  16. What exactly do you mean by "position info?" Vectorworks has some ways to extract information from Truss objects, and some third party solutions exist as well. The Hanging Position isn't legacy, it's just no longer required in some cases. If you are combining objects together into a single position, then creating an HP object is necessary. Truss can be a little tricky, as you are considering several Truss elements as a hanging position. 2020 improves things a bit with the ability to set a position name for Truss items that is independent of the system name.
  17. When you converted to a Hanging Position, did you select the option to base on geometry or the symbol? If the latter, the name conflict will be with a symbol. If that's the case, you can just use the symbol as the basis of the hanging position and not recreate. FYI, unless you have stock geometry that repeats (like system pipes), the symbol option is more of a legacy feature. If you chose geometry, then you need to hunt down the name conflict. Vectorworks doesn't have a full name list. To find a drawing object, you can make a worksheet report that lists the name of every object as well as useful information like object type, layer, and class. The Create Report menu item is the easiest way to do this. Resources, Classes, and Layers also use the name list.
  18. Vectorworks tends to update to whatever released python version is available at release time. You can check via a script: import sys vs.AlrtDialog(sys.version) 2021 currently runs 3.8.2 2022 runs 3.9.2
  19. You can… but what are you trying to do? A solution may already exist.
  20. You can’t change the layout live, only hide, show, and disable items. You place your if/then in the dialog handler, where you can retrieve values and call ShowItem(). You can retrieve a value at any time in the handler loop, not just during the ok event.
  21. I'm seeing similar behavior. Looks like a Vectorworks bug. Being event-based shouldn't come into play. If you're code isn't structured to handle events, this should be off.
  22. You can use RunTempTool to draw objects during the mouse move event. With vs, you probably can't easily draw a representation of the objects you are moving, but you should be able to draw the bounding box fairly easily. The example in the wiki includes draw commands. https://developer.vectorworks.net/index.php/VS:RunTempTool Keep in mind that if you're running as a tool, the entire script begins executing at the moment of the first click.
  23. When in the process are you wanting to draw the preview? You have some limited drawing capacity with event enabled tools, as well as with RunTempTool, but this is generally not something you can do with Vectorscript.
  24. You can force an object to reset immediately by setting its object variable 1167 to true. However, I believe this only works if the object is SDK based, and I’m not sure about the stage decks. In this specific case, you could always reverse engineer what the stage deck is doing and calculate your 3D points based on the stage deck’s parameters and location.
  25. What data are you updating? Some parameters are actually calculated from other data, so you can't set them explicitly. Also, you should call ResetObject() from the script.
×
×
  • Create New...