Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

121 Spectacular

About JBenghiat

  • Rank
    500 Club

Personal Information

  • Homepage
  • Location
    United States

Recent Profile Visitors

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

  1. JBenghiat


    Plug-ins essentially store parameters identically to record data, so a plug-in script can use Set/GetRField to access the data, for example to create text from that data. You can also run reports on plug-in parameters. If you're going the plug-in route, you would have parameters for all the elements you would need for the plug-in to draw the panel. You could save the plug-in as a "Red" symbol (if you're unfamiliar with the term, that's what to search for in the help) for different models. You can indeed have plug-ins inside other plug-ins, calling CreateCustomObject() from in the PIO code. Another way to think about the problem is to still base the PIO on symbols, but have a PIO that uses the symbol for geometry and handles the labels and data management. If your combined screen also needs to have the labels, it could actually also do the work of placing a label for each panel.
  2. JBenghiat


    You may need to attach the record before linking the text. I would suggest doing a manual link in an otherwise blank file, then exporting to script. Examine the script to check order of operations. That may also reveal something silly, like a spelling error. I do have to ask, if you’re coding this, why not just create a plug-in object? That would save you from having to figure out link text to record.
  3. JBenghiat


    You need to attach the record to the symbol. Add as the last line: vsRecord(vs.LNewObject(), ‘L ED Install Panel’ )
  4. JBenghiat

    Setting Hybrid symbol fill

    The Truss object has a symbol field — so not too hard — just get the name of the symbol and a handle to the definition with GetObject(). When you reset the Truss object, is should replace the contents of the profile group with the modified truss symbol. In theory.
  5. JBenghiat

    Class Creation during a tool's DoSetUp (Beta Undo Alert 9)

    The general practice would be to do something like: // Create class newClassName if (VWClass::IsValidClassName(newClassName)) { gSDK->SetUndoMethod( kUndoSwapObjects ); gSDK->NameUndoEvent("Create default classes"); VWClass classObjNew(newClassName); MCObjectHandle classH = gSDK->InternalIndexToHandle(classObjNew); gSDK->AddAfterSwapObject(classH); gSDK->EndUndoEvent(); }
  6. JBenghiat

    selecting lighting units???

    This menu is a filter. If you have lots of kinds of resources in a document, this lets you only see the resources that interest you, for instance if you are looking to just browse textures and ignore a long list of symbols. I believe that All Resources is the setting for new installations — if that is not what you experienced you may have discovered a bug or inherited a setting via the Migration Manager. It's worth noting that when you have the Lighting Instrument Insertion tool selected, the resource manager dropdown in the mode bar is not subject to the filters, as this is automatically filtered by the tool's code to always and only show you lighting device symbols.
  7. JBenghiat

    Setting Hybrid symbol fill

    2D and 3D objects are all together, so start with FInSymDef() and traverse the list. If you want to set attributes differently for 2D and 3D objects, you have to check the object type to see if it is 2D or 3D, and if 2D check to see if the planar ref is set to zero (screen plane).
  8. JBenghiat

    Creation of temporary objects while tool is active

    The Setup/SetDown events run when the tool is selected and de-selected. You might want to try as part of the GetStatus or UpdatePreview events. You may also need to manually invoke a screen redraw.
  9. JBenghiat

    Vectorworks is REALLY SLOW lately!

    Normal drawing activities, like moving or dimensioning, shouldn’t have a delay. Have you tried testing in a new document? That would determine if something is amiss or inefficient about your file. If you have a lot of verticies or end points, particularly with imported geometry, that can slow things down when you are snapping. Adjusting snap and or layer options can help, as otherwise you are asking Vectorworks to provide hundreds of SmartCursor cues in a short time. 2019 added caching of sheet layer viewports. You may notice a slight delay when first navigating to a sheet layer, but then navigating within that layer should be significantly faster. If you are noticing long delays, submitting your file as a bug will help Vectorworks improve this feature.
  10. JBenghiat

    Texture on floor

    In your texture options, you have the part selected as overall. You can have separate selections for top, bottom, and sides.
  11. JBenghiat

    Lock Model lights on the Z plane

    You may have misunderstood one of my suggestions, as wireframe and light visibility isn't a factor for any of them. If you're reacting to the Top view suggestion, you can still be in wireframe in a Top view. Also FYI, if you're using viewports for your final renders, you will never see the light geometry, regardless of the preference.
  12. JBenghiat

    Lock Model lights on the Z plane

    As you've discovered, you are seeing the light snap to geometry below. In addition to suspending snapping, you have a few additional options to prevent this: - Place light objects in their own layer. You can then set your layer options to one of the Show Others modes and avoid snapping to lower objects while still allowing light objects to snap and align to each other. I recommend having a layer for render lights even if you use one of the other methods. - Use the Move by Points tool with Object Retention mode off. This should keep the move action co-planar while still allowing you to snap to objects below. - Move in Top view as opposed to Top/Plan. That seems to avoid snapping to objects in 3D planes.
  13. JBenghiat

    Resource manipulation

    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.
  14. JBenghiat

    Viewport crop legend / count

    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.
  15. 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.


7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114


© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.