Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

175 Spectacular


About twk

  • Rank
    500 Club

Personal Information

  • Occupation
    Architectural Designer
  • Homepage
  • Location
    Auckland, New Zealand

Recent Profile Visitors

2,191 profile views
  1. Brilliant thinking! Will add these to our TB styles pronto!
  2. twk

    Title Block Manager VW2020

    You edit the titleblock border layout to do this. Maybe this video will help:
  3. ++++ Grid Lines and Elevation Lines to auto-display in viewports.
  4. twk

    v.2020 now available

    Good spotting guys. There's no mention of this anywhere on the socials.
  5. Thanks for the help everyone. Much appreciated
  6. Sorry, I totally forgot about this thread. What a shame, that resource was a treasure trove. Yes please @_c_, that would be greatly appreciated.
  7. Swapped out the HScale2D for HScale3D, and seems to scaling fine here. Working on Extrudes though. What particular 3D objects where you trying to scale? # DISCLAIMER # - Python Novice # - Script presented as is # - save your work before using # - use at your own risk # - no responsibilty taken for damage to your property from the use of this script # - copyright twk 2016 # - forum link = https://forum.vectorworks.net/index.php?/topic/19675-how-can-i-scale-multiple-objects-from-each-objects-center/ # - Tested on Windows 10 x64, Vectorworks 2016 SP4 def List_SelectedObjs_in_Layer(): # small function to store all selected objects on the current layer into a usable list (python list) h_FirstInContainer = vs.FIn3D(vs.ActLayer()) listObjs_inContainer = [] while (h_FirstInContainer != None): if vs.Selected(h_FirstInContainer): listObjs_inContainer.append(h_FirstInContainer) h_FirstInContainer = vs.NextObj(h_FirstInContainer) return listObjs_inContainer list_selObjs = List_SelectedObjs_in_Layer() # function called, selected objects stored countIt = len(list_selObjs) # number of selected objs store in countIt variable if countIt > 0: # checking to make sure at least 1 or more objects are selected scaleAmount = vs.RealDialog("Enter Scale Amount", "1.5") if not vs.DidCancel(): # checking to make sure predefined Dialog's OK button was pressed for eachObj in list_selObjs: center = vs.HCenter(eachObj) # getting center of obj to be used in next function # vs.HScale2D(eachObj,center[0],center[1],scaleAmount, scaleAmount, True) vs.HScale3D(eachObj, center[0], center[1], 0, scaleAmount, scaleAmount, scaleAmount) vs.ReDrawAll() # redraw-ing the screen as is needed after running HScale2D vs.AlrtDialog("{} Objs scaled".format(countIt)) #indicates the number of objects scaled else: vs.AlrtDialog("At least 1 object must be selected") # checking to make sure at least 1 or more objects are selected
  8. twk

    Shape panel boolean parameters

    Oh ok, we don't have SP4 version for New Zealand yet. On another note, I'm wondering how the script works even though the vs.PushAttrs and vs.PopAttrs are syntactically incorrect. They should have parenthesis' -> vs.PushAttrs() and vs.PopAttrs()
  9. twk

    Shape panel boolean parameters

    Tried in VW2018 SP6 and VW2019 SP3, there are no instances of the error you showed in the video.
  10. twk

    Shape panel boolean parameters

    Any chance of a code snippet you can provide?
  11. Oh I was just diving into the world Listbrowser(s). It's down again.. any reason @Matt Panzer this can't be hosted on the Dev Wiki?
  12. the vs.AddSurface result is either a handle if surfaces overlap, or None/0 if the added surfaces don't overlap. I provided error checking on line: if add not in [0, None]:
  13. Got it to work! # Disclaimer: no responsibility taken for data loss. Code responsibly, save often. def addsurface_from_list(objs_list:list): # where objs_list is a list of object handles of rectangle/polygon/arc/etc.. if len(objs_list) > 0: fobj = objs_list[0] for o in objs_list[1:]: add = vs.AddSurface(fobj, o) if add not in [0, None]: objs_list.remove(o) objs_list.append(add) break addsurface_from_list(objs_list[1:])
  14. The Addsurface function only takes in two handles. How would you do a list of handles? As per screenshot below: where some rectangles are overlapping and some aren't? using Addsurface in a for loop seems impossible as once the surfaces are added h1, h2 are deleted. Thoughts anyone?


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.