Jump to content
nrkuhl

Auto-Classing / Standard Naming

Recommended Posts

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.

Share this post


Link to post
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.

Share this post


Link to post

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.  

  • Like 1

Share this post


Link to post

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.

Share this post


Link to post

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

Share this post


Link to post

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.

Share this post


Link to post

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 by Taproot

Share this post


Link to post

@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.

Share this post


Link to post

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.

 

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

Unfortunately I am not well versed in autoclassing or standard naming, apologies.

Share this post


Link to post
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!

Share this post


Link to post

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.

Share this post


Link to post
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.

Share this post


Link to post

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);

 

  • Like 1

Share this post


Link to post

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 by Diamond

Share this post


Link to post

@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.

  • Like 1

Share this post


Link to post

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.

  • Like 1

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.

Guest
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...