nrkuhl Posted November 3, 2016 Share Posted November 3, 2016 I'm working on building a template file for my firm, and I'm trying to improve our class organization. I've set up a custom naming scheme to use with Auto-Classing, but I'd like to have all of the classes listed in the appropriate column of the "ClassNameStds" worksheet created in the file. Is there a way to do this, or do I have to manually create every class? My goal here is to provide a wide variety of sensibly named classes so that users aren't running around creating lots of additional classes. These classes will all be preset with reasonable lineweights to minimize the amount of post-processing in our viewports (which is currently a lot). I hope that question makes sense. The help documentation and tip videos on auto-classing are ok, but they don't really address this. Quote Link to comment
zoomer Posted November 3, 2016 Share Posted November 3, 2016 4 minutes ago, nrkuhl said: and tip videos on auto-classing are ok, Do you have any links ? I would like to watch these .... I often asked about a way to change class names created by plugins but never got a direct response. I remember having seen some videos about classes but thought these were meant about converting classes from imported sources only. Quote Link to comment
nrkuhl Posted November 3, 2016 Author Share Posted November 3, 2016 It's linked at the bottom of this page: http://app-help.vectorworks.net/2017/eng/index.htm#t=VW2017_Guide%2FSetup%2FStandard_Naming.htm (when I copied the youtube link it embedded super huge). The video gives an ok overview. The other interesting thing is that the units for lineweight in the "ClassNameStds" worksheet don't seem to correspond to drawing units - i.e. to get a .05 line, I had to put in 2 in the worksheet lineweight column. Frankly, I'm not sure what units either one of those things are in. 1 Quote Link to comment
zoomer Posted November 3, 2016 Share Posted November 3, 2016 Thanks, I will watch that and examine help files. Quote Link to comment
nrkuhl Posted November 4, 2016 Author Share Posted November 4, 2016 20 hours ago, zoomer said: I often asked about a way to change class names created by plugins but never got a direct response. Not sure if the ability to do this is new, but there is an answer of sorts for PIOs in this help page:http://app-help.vectorworks.net/2017/eng/index.htm#t=VW2017_Guide%2FStructure%2FAutomatically_Created_Classes.htm%23XREF_88959_Automatically Quote Link to comment
zoomer Posted November 4, 2016 Share Posted November 4, 2016 I read this. I'm not sure if I really understand. I have to try though. There is a list in help with "some" auto classes in help like non-plot and Site Modifiers .... and a few others. But never the whole list of what my plugin tools create. I mean things like "Ceiling-Main" that appears sometimes or the typical "Glazing-Clear" which has to be "GLAS_KLAR" for me. Maybe bad examples, I think these 2 were in the list. The Standard Naming list of Classes of VWArch looks like showing more of them but I am not sure. And it looks like I would need a spread sheet in all of my files (so far I never used any) and I would prefer to have this as a global setting in my workgroup folder. And basically I would like to "localise" my VW completly. Not into german but in my kind of CAD language. That means I would like to get also rid of the terms used in plugin objects to describe components. Quote Link to comment
gester Posted November 4, 2016 Share Posted November 4, 2016 at the end of the day the classing system should mirror the national construction naming conventions somehow, and it should contain not only letters, but also digits of such classifications. i surely like the us imperial system classes' names, but it's of less use when it comes to process contituity from eir (for non-bimers: employer information requirements) to facility management. rob Quote Link to comment
nrkuhl Posted November 14, 2016 Author Share Posted November 14, 2016 I don't disagree with anything either of you are saying, but I'm still not getting any closer to answer to my original question: Is there a way to automatically create all of the classes from the Standard Naming worksheet in a drawing? I would like to do this because: 1. the interface for adding new classes is terrible if you want to add multiple classes. 1a. it's therefore much easier to work with that worksheet and have it reflected in my classes. 2. if a class doesn't exist to house a particular object, another user will create it in the heat of the moment, and chances are it will be named something random. I realize I can manually create all of the classes myself in a template file, but this is cumbersome to do, and is cumbersome to change as workflows or standards are changed. Quote Link to comment
Taproot Posted November 14, 2016 Share Posted November 14, 2016 (edited) Yes you can make a worksheet with all of the classes in a file, along with their properties, etc. I managed to do it some time ago to help me visualize the mapping. Unfortunately, I can't remember how I did it, but Pat offers some guidance in this thread from a while ago. See below. I've included a blank file with worksheets for VW's standard naming (Classes and Layers). It may not be entirely up to date, but it should show you what is possible ... and maybe get you to where you need to go. Classes & Layers.vwx Edited November 14, 2016 by Taproot Quote Link to comment
nrkuhl Posted November 15, 2016 Author Share Posted November 15, 2016 @Taprootunfortunately that's still not what I'm trying to do - I want to go the other way. I want to create all the classes in a file from a worksheet. And ideally, I want to have the worksheet be a 2-way link with the classes - so that I can change cells in the work sheet and the classes will change. Quote Link to comment
Taproot Posted November 15, 2016 Share Posted November 15, 2016 I suspect that is a wishlist item ... If you're willing to consider an alternate method, you could probably get similar results. Rather than trying to store your master list of classes in a worksheet, consider storing them in a dedicated file. You can then use the Tools>Organize>Classes [Tab] >New [Button]>"Import Classes">"Choose" That will allow you to import any combination of your custom classes from your template file into a working file. Then - if you evolve a class definition in the new file and want to update the template... You can do the same process in reverse. It's not as simple as you described, but may meet your needs. Quote Link to comment
nrkuhl Posted November 15, 2016 Author Share Posted November 15, 2016 It sort of already exists, I'm just trying to figure out if there's a part I'm missing somewhere. To return to my initial question, if you turn on Standard Naming, you get a worksheet that does this, but all the classes in the worksheet are not automatically created. I simply want to know if there's an easy way to create all the classes from this worksheet. Quote Link to comment
nrkuhl Posted November 30, 2016 Author Share Posted November 30, 2016 Bumping this, because I'm still trying to figure it out. Any input from VW staff? @JimWMaybe? Does the question make sense? I'm 90% of the way there, but it seems like there's a piece of functionality I'm missing somewhere. Quote Link to comment
Vectorworks, Inc Employee PVA - Admin Posted November 30, 2016 Vectorworks, Inc Employee Share Posted November 30, 2016 Unfortunately I am not well versed in autoclassing or standard naming, apologies. Quote Link to comment
nrkuhl Posted December 2, 2016 Author Share Posted December 2, 2016 On 11/30/2016 at 10:37 AM, JimW said: Unfortunately I am not well versed in autoclassing or standard naming, apologies. My office subscribes to Service Select, would one of the support options be a good way to answer this? What is the right channel for asking VW questions that no one seems to be able to answer? Thanks! Quote Link to comment
Pat Stanford Posted December 2, 2016 Share Posted December 2, 2016 What you want does not currently exist. The 2-Way function of worksheets only works with Record.Field and a few other innate properties of objects in the drawing. There is not direct way for a worksheet to get or create and object that is not already in the drawing. To do anything like that you have to resort to scripting. I have been playing with a possible worksheet RunScript way to do it, but I don't think that is possible either. A script to get the data from the worksheet and create any classes that don't exist would be pretty easy. Would that be useful? If so, I will see what I can work up in the next couple of days. If not, I won't bother. Quote Link to comment
nrkuhl Posted December 5, 2016 Author Share Posted December 5, 2016 On 12/2/2016 at 1:47 PM, Pat Stanford said: What you want does not currently exist. The 2-Way function of worksheets only works with Record.Field and a few other innate properties of objects in the drawing. There is not direct way for a worksheet to get or create and object that is not already in the drawing. To do anything like that you have to resort to scripting. I have been playing with a possible worksheet RunScript way to do it, but I don't think that is possible either. A script to get the data from the worksheet and create any classes that don't exist would be pretty easy. Would that be useful? If so, I will see what I can work up in the next couple of days. If not, I won't bother. That would be awesome! Putting time into learning VW scripting or Marionette has unfortunately been outside the scope of my activities at work, even though I'm sure it would be very useful. Quote Link to comment
Pat Stanford Posted December 7, 2016 Share Posted December 7, 2016 Try this and see if it does what you need. Procedure CreateClassesFromWSSel; {December 7, 2016} {© 2016, Pat Stanford pat@coviana.com} {Licensed under the GNU Lesser General Public License} {Creates classes from a list of class names in an open worksheet.} {Select a single column range in a worksheet containing the names} {of the desired classes. Run the script. Names in the selection that} {are not currently classes in the file are created. The Active Class} {is reset at the end of the script the what it was before running} {the script. {Lightly tested. Use at your own risk. Save before running the script.} {Do not operate ocean going or interstellar vehicles while using} {this script.} Var CurrentClass,NewClass:String; R1,C1,R2,C2,CurrentRow,CurrentCol,ThisRow:Integer; SR1,SC1,SR2,SC2:Integer; WSHandle:Handle; Begin; CurrentClass:=ActiveClass; {Store the Active Class before the script} WSHandle:=GetTopVisibleWS; {Get the top open worksheet} If WSHandle <> Nil then {Make sure a WS is open} Begin {Get the selected cells in the worksheet} GetWSSelection(WSHandle,CurrentRow,CurrentCol,R1,C1,SR1,R2,C2,SR2); If C1=C2 then {make sure only a single column is selected} Begin For ThisRow := R1 to R2 do {repeat for each row in the selection} Begin GetWSCellString(WSHandle,ThisRow,C1,NewClass); {get the desired class namw from the cell} NameClass(NewClass); {Create the class and make it active} End; End Else AlrtDialog('Select only a single column.'); {Notify if more than 1 column selected} End Else Begin {Notifiy if a worksheet is not open} AlrtDialog('Must have a Worksheet open and part of a single column containing the new Class names selected.'); End; NameClass(CurrentClass); {Restore the active class from before script} End; Run(CreateClassesFromWSSel); 1 Quote Link to comment
Diamond Posted December 8, 2016 Share Posted December 8, 2016 (edited) Wow@Pat StanfordThat is amazing. Will test. @nrkuhlI have been trying to get the Auto-classing to work with my team for some time, but there are some issues that seem to cause problems each time. For the rollout of 2017 across our studios, I have turned the Auto-Classing Standard document preference off (after turning it on in later 2016 SPs). Classes - if there are too many classes in a document (esp with default hatches and textures), people often just use the Purge command and remove them. More classes = bigger file sizes. Better to have a Template (in the Vectorworks App folder > Library > Default > Standards folder) to import the classes from, and teach the team this is their first port of call if they do need more classes. When copying objects from Vectorworks documents that are not using Auto-classing, objects can 'mysteriously' change to suit the auto-classing standard, which can really confuse team members if they don't know what they are doing. Certain objects break, with each version of Vectorworks. 2016 it was Stair and Site Terrain objects. The Stair tool after being fixed in later SPs of 2016, is now broken again in 2017 although not as badly as it was in 2016. I haven't had time to test other tools. It is really hard to set the colours of classes in the speadsheet to have custom colours beyond the 256 colour list. You need to go through the Details… button in the menu setting File > Document Settings > Standard Naming and set each class individually. Some people will love the feature, and some will hate it. I would leave the worksheet in each template, so team members can turn it on and off as required. Hope that helps. Edited December 8, 2016 by Diamond Quote Link to comment
nrkuhl Posted December 9, 2016 Author Share Posted December 9, 2016 @diamond, I'm pretty sure no one else in my office even knows the purge command exists. They certainly aren't worrying about file sizes. I'm still working on getting people to switch classes instead of changing object properties, so asking them to go looking for a class to import from a template file is out of reach at the moment. Auto-classing takes some of the difficulty out of using VW for some people, then at least PIOs are in reasonable classes (most of the time). My take on the problem (in gross generalizations) is that baby boomers tend to view everything through the lens of hand drafting, and just want to switch around lineweights. Younger Millenials all seem to have learned on Revit, and so classes and layers are totally alien to them. The easiest people to teach are gen-X and older Millenials who learned AutoCAD as their first drawing program. So mid-level folks understand drawing organization, but everyone above and below has a steep learning curve if they didn't learn it from the get-go. 1 Quote Link to comment
Diamond Posted December 9, 2016 Share Posted December 9, 2016 If you are looking for new staff, anecdotally, I have found that people who have used ArchiCAD tend to pick up Vectorworks workflows (esp 3D) quicker than most. For an easier way to explain layers and classes to those who don't use them. 'Layers are the where. Classes are the what' All the best. Assimilating a team into a workflow is a massive challenge. Cheers. 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.