Jump to content

Best Way to Manage classes?

Recommended Posts

Hey everyone


I just wanted to ask how you all manage your classes when building a 3D model of a house/building you want to export later:


Do you have a class for evry building material? Or one for every component of your slabs/walls? or a completely different technique? what about interior furniture?


I'd actually just like to know if there's a universal way to manage the classes in VW Architecture, or if you have any suggestions on how to do it the best way

Share this post

Link to post

There maybe as many classing systems as there are VW users but there are some standard systems that I think some people use. 


We are small to medium sized architecture practice and have developed a custom system that we use in our office. We try to have as much as possible in our drawings defined “by class” so that changing a visibility, a hatch, texture or line weight etc can be done globally simply by changing or editing a class. This works really well though it does mean a lot of classes which, yes, do require some managing!


Our drawing set up typically is to 3D model the building on design layers and have as much 2d info as poss placed on VP annotations or directly on sheet layers. 


Generally the only 2d info we put on design layers is stuff that needs to be seen in multiple viewports (e.g room labels) or stuff that needs to be seen in 2d under some objects and over others. E.g a polygon representing a carpet finish needs to sit on top of a slab but under furniture.


For almost all of the 3D stuff we have a range of classes with a “MODEL-“ prefix. This covers off 3D objects that form part of the model located on design layers. Most things will have their own classes based on what it is, where it is, and/or what it is made from. E.g.

MODEL-WALL-Framed_Exterior_New or



For fittings we have something like

MODEL-FITTINGS-Fixed_ General,


MODEL-FITTINGS-Sanitary Fixtures. Etc


Note the use of hyphens so the class hierarchy which can be collapsed or expanded in the class list, along with CAPS for emphasis of major categories. Also what I call “backwards” naming so that similar objects group alphabetically next to each other.


Note also we have avoided using numerical codes for classes as no single classification system really seemed to cover everything off in an intuitive way, (plus of course no need to remember numbers).


Plugin objects will have their own component classes. Where possible we have these in classes like: MODEL-COMPONENT-WALL_Framing or MODEL-COMPONENT-ROOF-Cladding_Metal etc. 


We have a collection of wall, slab, and roof styles which use these component classes.


We have seperated site items into their own set of  “SITE-“ classes so the site plans and site works items can be dealt with as a seperate thing.


Similarly we have a set of “DEMO-“ classes for existing items being removed. These don’t generally need 3D representatation hence they are not in a “MODEL-“ class. 


Of course their is more involved. Other class categories include:

”TEXT-“, “DETAILS-“, ”ELEVATIONS-“ & “SECTIONS-“ for 2d objects and annotations. 


“FINISHES-“ for 2d polys with hatches/coloured fills etc for floor and roof plans.



”LIGHTS-“ for light sources used for 3D renders

 etc etc etc


Inevitably there are some grey areas about how some things should be classed but I think our system covers off 95% of stuff in an intuitive sort of way. 


We develope more classes as we go. Most jobs don’t need all the classes so our drawing templates just have a collection of commonly used ones for that type of project. We have a library file from which we can import classes if we need extra ones.


Another thing we have found is that naming viewports is really useful so that class visibilities can be globally edited in the organisation dialogue by viewport name.


VW 2019 has introduced class and layer filters which I think will be really useful. However we are still on vw2018. 


i guess the system you use should complement the type of work you do and how you like to do it.


I hope that is helpful or at least interesting. Im keen to hear what systems others use.





  • Like 1

Share this post

Link to post
6 hours ago, Phileas said:

Do you have a class for evry building material? Or one for every component of your slabs/walls?


In the best case :


1 Layer per Story


Container Classes for Symbols or Plugin Onjects like

A_Walls, A_Columns, ....


Material Classes, like

M_Concrete, M_Wood-1, ....


Helper Classes for help constructions, underlays or 2D stuff)


That is the cleanest way to work.

But sometimes that doesn't work or isn't enough.

Then I have to switch to Object_Component Classing, which

is far more tedious with its redundancy.

  • Like 3

Share this post

Link to post

@Boh @zoomer In my office, we don't have a default template to work with since every employe uses the program according to his own habits, and so everytime we have to pick up a case for a collegue who's sick or on a leave, we have no f*cking clue of what's going on and we lose a lot of time


I'd like to introduce a template with class and layer management that suits everyone, that's why I wanted some information on how other people do it, and both your answers really helped me so thanks guys 🙂

  • Like 2

Share this post

Link to post
10 minutes ago, Phileas said:


I'd like to introduce a template with class and layer management that suits everyone, that's why I wanted some information on how other people do it, and both your answers really helped me so thanks guys 🙂


your aim should be to set up a layer and class management that suits YOUR PROJECTS. 

Share this post

Link to post

@Jonathan Pickup Yeah definitely, but in my opinion it can be useful if an office has a default setup file, that way we don't lose time when we have to help out a coworker.


So I think having a few default classes and a class library like @Boh suggested sounds pretty good to me

Share this post

Link to post

I"m suggesting that you have a default setup, but focus on the project requirements rather than trying to satisfy a bunch of people in the office that haven't been able to agree on a system yet.  

Share this post

Link to post

@Jonathan Pickup yeah I guess you're right...


Anyway this thread will still me personally to get a decent class and layer managing system, so even if my collegues don't use the same files than me at least I'll get more efficient 🙂


Share this post

Link to post

I have 3(ish) types of class.


"2d-...." classes which are mostly used for annotations and any 2d draughting and set up with the lineweights, line types etc that I like.


"materials-..." classes which are used for 3d elements. These are set up with the attributes for each 'material' I use in the model, and these are what determine the colour of those elements in openGL views, the texture in render views, and the hatch type in sections. So anything that's made of concrete is in the "materials-concrete" class


"objects-..." classes which determine the type of object - whether it's a window, or structural frame, external wall, furniture and so on. These are mostly used to control visibility whilst editing, or in viewports. For example I can set the model only to show the main structural elements, or not to show loose furniture, etc.


In my system, everything is in a material class *and* an object class. At the lowest level, it's assigned to a material class. Then it will be in, say, a group which is assigned to an object class. So, lets say I custom-model a window, there will be a bunch of elements that are assigned to different materials classes - aluminium, timber, glass, and so on, and these will be in a group that is assigned to the "objects-windows" class. Occasionally I need to make an object and put it in a group by itself to achieve this but I find it helpful for editing purposes to have things in groups anyway. For things like walls, there's no need to use a group; the components are by material class and the wall object itself is in my "objects-walls' class.


In addition to the above I sometimes have "visibility" classes. For example to show a window in closed or open position, there will be a symbol, duplicated with one copy in "visibility-windows-open" in one orientation and one in "visibility-windows-closed" in a different orientation. Then those classes can be switched on and off as desired.


Then there will be a few "junk DNA" classes that are put there by VW; often I'm not sure exactly what they do and leave them alone if they don't seem to cause any issues. I prefix my own classes with an asterix so they all appear at the top of the classes list.

  • Like 3

Share this post

Link to post

Hi @Phileas.

I was pretty much in the same place as you a couple of years back re working in an office where no one did anything consistently or in a standard way. This forum really helped sort it out. Particularly this thread with contributions from some real experts incl. @Jonathan Pickup  One post by @Art V on October 15, 2017 was particularly helpful. 


  • Like 1

Share this post

Link to post
On 2/22/2019 at 8:15 AM, Phileas said:

since every employe uses the program according to his own habits, and so everytime we have to pick up a case for a collegue who's sick or on a leave, we have no f*cking clue of what's going on and we lose a lot of time




Without proper CAD manager dictatorship everything goes entropy ....

  • Like 1

Share this post

Link to post

All I can say is set rules, not classes.

Keep the rules simple and if you can keep it so each family is generally all on or off for each drawing type.

Also helps to keep your own class families as two levels deep not three. 

Set a policy on naming such as are abbreviations acceptable. 


The one I'd add to Zoomers list would be Existing-

Basically a duplicate of Materials but for existing building fabric. Existing-Concrete Works out a lot cleaner easier than Material-Concrete-Existing


Be careful about Imported classes always import into another file first and reference. Avoid pollution.


Finally, don't fight standard classing in PIO



  • Like 2

Share this post

Link to post

I am a landscape and not building architect, but most folks I know using VW either draw in the none class and assign later (boo!) or are forced to follow some office standard, which they for some reason seem to hate.  I had draftspersons using layers like classes, such as contour elevation was layer "54", 56, 58" etc.  ouch.


We set up a system with few layers and basically classes for every type of work we did.  If it is a line item on our standard bid form, i.e., 6" pipe, it is its own class, with its own 2D (and if appropriate, 3D) characteristics.  Yes, sometimes we get a site where a lawn looks too light or dark compared to the tree mass, which you can change for that drawing, or add "light lawn" and "dark lawn" as classes, if absolutely necessary.


We debate how many layers to put in.  For architects, I gather site plan and one per floor makes loads of sense.  We tend to divvy layers up by either contract phase (analysis, concept, CD) or with more detail, like Clearing, Grading, Drainage, Grassing, etc.   I tend to like more layers, but others in the office like to minimize them.  For both layers and classes, scrolling through even the enhanced interface in 2019 is a chore.  However, just watched a Jonathan Pickup video on creating scripts to make picking common classes from much smaller custom menus, which I am going to try!  Would also probably work with layers and sheet layers, etc., rather than rely on the VW set up. 

Share this post

Link to post

Think that's it - productivity techniques.  Shameless (although unaffiliated totally) plug - JP always does a great job on those seminars.  

Share this post

Link to post

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.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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.

  • Create New...