-
Posts
890 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Articles
Marionette
Store
Posts posted by twk
-
-
-
-
Greetings and happy new year all,
I was wondering if there was anyway to access plugin data from a file other than the active one?
Wanting to read in data from a plugin object that resides in another file.
Cheers,
Tui
-
1 hour ago, ericjhberg said:
@Michael H. Thanks for the advice. I'm glad that these steps generally work for you. We are no stranger to new releases. We have been using VW for about 10 versions now (back to about 2008) and generally have followed the same formula you outlined...with some major exceptions.
I have been working on the same project(s) for several years. One in particular has been a constant for almost 5 years now. Unfortunately, the logistics of keeping that project in VW2014 really aren't practical. Too many things have changed, let alone the memory of keeping over 5-6 different versions of the software installed on machines. Additionally, each version offers new features that have the potential to dramatically improve document efficiency (key word...potential).
VW2019 is officially on SP2 and has been out for almost 4 months now...not quite up to your standard, but in our experience, previous versions have been much more stable by this point in time. We officially waited until SP2 before jumping in, but that decision is now considered a failed experiment.
I function as the primary tester in the office and unfortunately, since many of our projects are so large, there is no way to adequately test functions at scale until jumping in and investing a large amount of time. It is always a risk and this time, the reward was not realized.
That is a lot to ask. I get the point, but templates take time and the software should honor that time investment and not REQUIRE you to reinvest. I understand that this is an IDEAL and not practical, but that's what ideals are for, pushing the conversation. The real question is, when? I wish I knew when it was time to re-do a template, but unfortunately VW doesn't tell you...hey, your VW2017 carry over files are really the problem here. Fix those and you'll be fine. You have to find these things out the hard way and at the expense of considerable time and frustration.
This I can relate to..
on the other hand, surley Teamviewer sessions with Vectorworks Tech support would be much faster/cheaper/easier then bug submissions/phone calls/site visits?
I should probably wishlist this..
-
-
Here I created a custom object class:
(tested and worked in VW2016)
# save work before using def SetClassGroup_Contents(handle_to_group, className:str, descend=False): class CustomObject(): def __init__(self, handle): self.handle = handle self.__old_class = vs.GetClass(self.handle) @property def old_class(self): return self.__old_class @old_class.setter def old_class(self, value): self.__old_class = value @property def obj_class(self): return vs.GetClass(self.handle) @obj_class.setter def obj_class(self, value): vs.SetClass(self.handle, value) def restore_old_class(self): self.obj_class = self.old_class if vs.GetTypeN(handle_to_group) == 11: # Only work on groups TypeGroup == 11 if not descend: # if descend parameter set then cycle through each item in group, default is set to false stored_objects = [] #type: list[CustomObject] def set_class_objs_in_group(h): stored_objects.append(CustomObject(h)) vs.ForEachObjectInList(set_class_objs_in_group,0,1,vs.FInGroup(handle_to_group)) # See Documentation for parameter descriptions vs.SetClass(handle_to_group,className) # Set Class of overall group for object in stored_objects: object.restore_old_class() else: vs.SetClass(handle_to_group, className) # Set Class of overall group vs.ReDrawAll() # Sometimes my machine needs this to show updated attributes vs.ResetObject(handle_to_group) # Updates Object Info Pallette h = vs.FSActLayer() SetClassGroup_Contents(h,'NewClass1') # Use for apply to group only # SetClassGroup_Contents(h,'NEW CLASS', True) # Use for apply to group and contents
-
Ok, reporting back,
I dont have access to 2014/2015 anymore, but I have just tried in 2016 and it doesnt do what i thought it did.
The class function gets set to both the group and the objects in it. Im stumped.
-
51 minutes ago, Jens Marr said:
Is this bug fixed?
Thanks.
To my understanding it has been fixed as of 2019
-
Raymond you are correct. I have just tried in 2017.
I will check another machine that has 2014/2015/2016 installed. I've used it before in plugin objects. I wonder what changed.
BTW this works in 2018.
Shall report back with findings..
-
Not sure if I'm following these correctly, but are you trying to create a function that sets the class of a group together with its contents?
here's a custom function I created prior to 2018,
def SetClassGroup_Contents(handle_to_group, className:str, descend=False): if vs.GetTypeN(handle_to_group) == 11: # Only work on groups TypeGroup == 11 if descend: # if descend parameter set then cycle through each item in group, default is set to false def set_class_objs_in_group(h): vs.SetClass(h,className) vs.ForEachObjectInList(set_class_objs_in_group,0,1,vs.FInGroup(handle_to_group)) # See Documentation for parameter descriptions vs.SetClass(handle_to_group,className) # Set Class of overall group vs.ReDrawAll() # Sometimes my machine needs this to show updated attributes vs.ResetObject(handle_to_group) # Updates Object Info Pallette h = vs.FSActLayer() SetClassGroup_Contents(h,'NEW CLASS') # Use for apply to group only SetClassGroup_Contents(h,'NEW CLASS', True) # Use for apply to group and contents
I guess you could then use this on ForEachObject call for all the groups you've found.
criteria = "(T=GROUP)" def apply_class(h): classNew = "NEW CLASS" SetClassGroup_Contents(h,classNew,True) vs.ForEachObject(apply_class,criteria)
Also, I've never come across call vs.Layer('Design Layer-1') creating another 'Design Layer-2' layer. This has never happened to me. I use the vs.Layer() call all the time, especially in Project Sharing files
HTH,
Tui
-
This is a known issue, a bug report has been submitted already.
- 1
-
What I do generally,
Design Layers relating to House Plan, are all storey aware ie tied to a real world story level, for example:
Story 1 RL = 54.5m
- Roof Plan - Story 1 - Offset from Story = 2.45m
- Floor Plan - Story 1 - Offset from Story = 0.0m
- Foundation Plan - Story 1 - Offset from Story = 0.0m
Site Plan Design Layer:
- Not tied to any story and design layer elevation set to 0.0m
- Site Model has contours relating to real world levels, and site model object is always set to 0.0 z value
- Then the House Plan related design layers are viewported onto the Site Plan design layer.
And the viewport's z value is set to the desire RL/FFL. In this case 54.5m.Apologies, the viewport should be kept at 0.0, as the Story level takes care of this step.Hope that makes sense. Would be easier to sketch it out, but hopefully these words will do for now.
Cheers,
Tui
- 1
-
-
- Popular Post
- Popular Post
To VW developer's watching this thread. We need this level of intuitiveness for a railing tool:
- 9
- 1
-
Ok, I see now. I am in the process of re-installing my VW2018 on my second PC.
I had it on there since March 2018, PC crashed last October. I re-installed windows, and VW, and activated it with no hiccups.
Now the new Windows 10 version 1809 update has caused problems and I cant roll back to my previous (just installed 2 weeks ago) windows install, so I have to reinstall the this Windows 10 version 1809 as a fresh install and not an upgrade.
This is all on my 2nd PC. so hopefully the vectorworks servers pick it up. I will notify our local resellers if there's any issues. Thanks for the clarifications @Jim Wilson
Cheers,
Tui
-
Ok this is super confusing;
So if I understand correctly @Jim Wilson;
Say I have 1 E-series license, and 3 PCs.
- PC1 > I installed VW on the 2nd of Feb
- PC2 > I installed VW on the 4th of April
- PC3 > nothing installing
After 90 days on either install, the licensing/activation is dropped from whichever PC;
- PC1 = 3rd May; so 4th of May license is free
- PC2 = 3rd July; so 4th of July license is free
So when I install onto PC3 on the 4th of May; the licensing moves from PC1 to PC3? and now I have PC2 and PC3 available for use only? Freeing up PC1?
Another question:
When you say licenses are tied to a machine, if my PC crashed, and I need to reinstall windows (same machine); re-installing VW on this machine, does that count as using up 1 of the 2 seats? Or does the servers know, its coming from this previously activated machine?
-
theres something weird going on with the formatting, and my posts on this thread; It looks like their are hidden spaces being added between the s and ( in vs.GetCVis(CName))
ClassVisibility = vs.GetCVis(CName)
if you copy in the code above, or type it in manually it should work. (Replace this line in the script, with your manually typed one, or the snippet above)
- 1
-
20 hours ago, NikF said:
Please find enclosed some Lumion 9 renderings based on VW 2018.
I'm still waiting for a Vectorworks LiveSynch as well for Lumion 9.
So, please keep on asking this topic at the Lumion Forum (Lumion has to program that plugin): https://forum.lumion.com/index.php! --> WE NEED PLEASE A LIVE SYNCH FOR VECTORWORKS!
Hi Nikolaus,
Thanks for reminding me, have posted in the lumion forum requests, and an enhancement request here too (VE-99304 @Jim Wilson)
I guess we can just keep knocking till the door opens 😀
Cheers,
Tui
-
Woah!. apologies, i had edited that post.. strange the edit didnt go through..
the currentLayer_name call is incorrect
it should be this:
# November 13, 2018 # Python converted from Patrick Stanford's script: # https://forum.vectorworks.net/index.php?/topic/59673-script-to-toggle-class-layer-on-and-off/&do=findComment&comment=297904 import vs LName = '1-Slab' CName = 'Structural-Slab' LayerHandle = vs.GetLayerByName(LName) LayerVisibility = vs.GetObjectVariableInt(LayerHandle, 153) ClassVisibility = vs.GetCVis(CName) CurrentLayer_Name = vs.GetLName(vs.ActLayer())#Get Layer Name of current/active layer if any([LayerVisibility == 0, ClassVisibility == 0]): vs.Layer(LName) # Jump to/Set Active layer name in LName variable vs.HideLayer() vs.HideClass(CName) else: vs.Layer(LName) # Jump to/Set Active layer name in LName variable vs.ShowLayer() vs.ShowClass(CName) vs.Layer(CurrentLayer_Name) # Jump Back to/Set Active current layer name
- 1
-
Here it is in python:
# November 13, 2018 # Python converted from Patrick Stanford's script: # https://forum.vectorworks.net/index.php?/topic/59673-script-to-toggle-class-layer-on-and-off/&do=findComment&comment=297904 import vs LName = '1-Slab' CName = 'Structural-Slab' LayerHandle = vs.GetLayerByName(LName) LayerVisibility = vs.GetObjectVariableInt(LayerHandle, 153) ClassVisibility = vs.GetCVis(CName) CurrentLayer_Name = vs.GetLayerByName(vs.ActLayer()) if any([LayerVisibility == 0, ClassVisibility == 0]): vs.Layer(LName) # Jump to/Set Active layer name in LName variable vs.HideLayer() vs.HideClass(CName) else: vs.Layer(LName) # Jump to/Set Active layer name in LName variable vs.ShowLayer() vs.ShowClass(CName) vs.Layer(CurrentLayer_Name) # Jump Back to/Set Active current layer name
- 1
-
Its to do with the SetObjectVariableInt(LHand, 153, -1); {Layer to invisible}; you're actually applying the change to the whole layer (LHand).
What I've done in the past is to use the ShowLayer, HideLayer, GrayLayer calls.
So your script would be instead:
Begin {SetObjectVariableInt(LHand, 153, -1); {Layer to invisible}} Layer(GetLName(LHand)); {Jump to that particular layer} HideLayer; HideClass(CName); {Class to invisibile} End
- 1
-
- Popular Post
- Popular Post
Here are some tests with the New Lumion 9, with the same project from my previous Lumion8 tests.
Straight FBX export from Vectorworks, only retextured stone wall, and added grass.
The new grass, really makes the images pop. And the speed. These rendered out 50secs each. Slower from the previous renders in L8, at 15secs. lol
Another +1 request for Vectorworks to have live sync as Archicad has this feature!
- 6
- 1
-
The DevWiki is the go to place for all functions and also has an appendix for other 'selectors'
DevWiki: http://developer.vectorworks.net/index.php/VS:Function_Reference
Appendix: http://developer.vectorworks.net/index.php/VS:Function_Reference_Appendix
SetPlanarRef function : http://developer.vectorworks.net/index.php/VS:SetPlanarRef
Maybe @Jim Wilson, you could sticky the DevWiki link to the Customization Forum Sections?
- 1
-
2 hours ago, Kevin McAllister said:
I think I might re-align the seam when lofting the main tub so that the isocurves are a little cleaner for the sloped portion (bottom tub in the image). The VW interface for aligning them is not great but its a little easier if you Loft in top/plan.
Good point! Looks better..
Vectorworks to Twinmotion
in Rendering
Posted
Oh you definatley should check out @JRA-Vectorworks-CAD's work.
Youtube channel here:
https://www.youtube.com/channel/UC56qp6QeXSAayDOOHu3BcCA