Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by twk

  1. FYI: Unreal has bought out Quixel now. Making megascans available to all UE users for free! Also, free Twinmotion extened to the 1st quarter of 2020. https://www.unrealengine.com/en-US/blog/unreal-engine-4-24-to-ship-with-free-quixel-megascans-unreal-studio-features-and-more Not sure what the gameplan is for UnrealEngine, but they seem to be making alot of assets free. Would be beneficial for the Devs @ Vectoworks look into a direct import/export process.
  2. You'd have to use document list handling. Symbols are resources, so you'd build a resource list and cycle through the names in that list to see whether that symbol exists. http://developer.vectorworks.net/index.php/VS:BuildResourceList2
  3. Oh ok. You mean in another file? or the current document?
  4. You have to check whether the symbol 'name' exists in the drawing. You can check using vs.GetObejct(symName) to see whether it returns None or 0.
  5. When you edit the marionette network you can paste in there all the symbols you need and then exit that wrapped network. You can then copy the marionette object from file to file and the symbols will move with it.
  6. Confirming this happens to me as well. A workaround is to apply a roof style to the created roof. vs.BeginRoof(roofAxisPoint0[0], roofAxisPoint0[1], roofAxisPoint1[0], roofAxisPoint1[1], upslopePoint[0], upslopePoint[1], rise, run, 1, 0) vs.Rect(rectTopLeft[0], rectTopLeft[1], rectBottomRight[0], rectBottomRight[1]) vs.EndGroup() roofFace = vs.LNewObj() vs.SetObjectVariableReal(roofFace, 170, roofFaceThickness) # vs.SetFPat(roofFace, 1) style='' # import/create a roof style and add to this variable vs.SetRoofStyle(roofFace, vs.Name2Index(style)) vs.ResetObject(roofFace)
  7. Appreciate the response @KIvanov.. will file enhancement request for second point. Cheers
  8. Just moving into 2019 now, and transferring one of our larger projects to take advantage of the new features. Having testing 2019 through SPs 1-4 and now on 5.2 with smaller projects, we are confident to take the dive. First off, the data tag has been such a breath of fresh air, in terms of a common-sense tool release, so thanks again to the devs at VW. Secondly, a couple of questions for other users who have being using 2019 in the wild since its release and the data tag tool. a) Is it possible to un-link an existing data tag thats been placed in the annotations viewport, to another object? e.g, A tower type building, you tag all the windows on level 1, in the annotations space, you then duplicate the whole layer (to do the next story up), you change the layer visibilities for the viewport to have the design layers for the next level up. Then realise the data tags from the previous level are still in the annotations space for this new level, however theyre still linked to the windows from the level below. Would be great to relink these tags to the new level. I havent found a way yet, if others know of way that would be great. b) Is it possible to have the data tag look into design layer viewports on a design layer, while your in the annotation space of the sheet layer? Again, I couldn't see a way, wondering if anyone else knows. If neither are possible, I will file an enhancement request. Cheers, Tui
  9. twk

    Data Tags

    There isn't much script functionality on the DevWiki regarding Data Tags. I was wondering if anyone knew how to get a handle to an object a data tag is attached to. Say I can collect all the data tags in a viewport, as handles, does anyone know how to get handles to objects those data tags are attached to? Cheers, Tui
  10. Havent tested, but you could use the WallFootPrint(WallHandle) function to create a dummy polygon of the outline of the curved wall. And check if that polygon is within LOC, then delete this dummy polygon. May create memory overhead with creating and deleting objects. Again, havent tested.
  11. Is there a command for list of available targe SP's? For the NZ version I had to change target from "SP4" to "MB-SP4" to get the localised SP4 version. This was done through trial and error as MegaBits(MB) is the distributor here.
  12. You edit the titleblock border layout to do this. Maybe this video will help:
  13. ++++ Grid Lines and Elevation Lines to auto-display in viewports.
  14. Good spotting guys. There's no mention of this anywhere on the socials.
  15. Thanks for the help everyone. Much appreciated
  16. Sorry, I totally forgot about this thread. What a shame, that resource was a treasure trove. Yes please @_c_, that would be greatly appreciated.
  17. 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
  18. 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()
  19. Tried in VW2018 SP6 and VW2019 SP3, there are no instances of the error you showed in the video.
  20. Any chance of a code snippet you can provide?
  21. 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?
  22. 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]:
  23. 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:])
  • Create New...