Jump to content
Sign in to follow this  
ThreeDot

Symbol Inheritence?

Recommended Posts

Is is possible for 2D symbols to inherit class properties?

I assumed that if I created them on the "None" layer and set all attributes to "Class Style", this would work. It doesn't.

Thanks,

Matt

Share this post


Link to post
Guest

Yes, they can.

Are you assigning this to the symbol, or while editing the symbol to the individual pieces?

Do you have "Use at Creation" enabled for the class graphic properties?

Share this post


Link to post

My procedure is this:

1. Start on the "None" class with all attributes set to "Class Style". The "None" class, in fact all classes, are set to "Use at Creation".

2. Draw a 2D shape and "Create Symbol...".

3. Assign a symbol name and select "Leave Instance in Place" in the Create Symbol dialog box.

5. Double click to edit the new symbol. Confirm that it exists on the "None" layer and all attributes are set to "Class Style".

6. Exit the symbol edit mode.

7. Move the symbol from class to class to test. The Attributes palette shows the correct class attributes for the symbol (stoke, fill, etc.) but the symbol is visually unchanged.

What am I doing wrong?

Thanks,

Matt

Share this post


Link to post
Guest

Does it have the little arrow next to fill & pen type (solid, hatch, pattern, etc) ?

Normally the drop down box says "Solid", but when an object is using the class attributes, it will say "Solid" with a swooshy arrow.

Did you at any point get a message about associating class attributes with objects and selected No or No Always ?

Share this post


Link to post

The attributes are as you say, with little swooshy arrows.

I know the message about class attributes (No, No Always, Yes Always, Yes). In general I always select "Yes Always", but that did not appear in this particular operation.

Matt

Share this post


Link to post

Three, the symbol is a container object. The container object's attributes are not shared by the objects it contains. Same with groups.

Share this post


Link to post

So, the container takes on the active class attributes but the objects contained inside do not. There is no transference. A symbol is nothing without the sum of its parts, so...

that contradicts Katie's response, no?

Matt

Share this post


Link to post

Doesn't really contradict what Katie says. But I've never really been sure what the meaning of a "lineweight," etc., would be for a container object.

BTW, it's not the active class attributes that would count, it's the class to which the object is assigned (could be one and the same unless the symbol was created to be assigned to a particular class when placed). You probably knew that.

This does work the way you want it to, if the objects within the symbol are created as you normally do ("use class" for everything), and then you convert the symbol to a group and change the classes of the contained objects.

Share this post


Link to post

So, Katie, is that true?

While technically the symbol (i.e., the invisible container) assumes the attributes of the class it resides on, those attributes are not transferred to the objects contained inside. Therefore, there is no obvious, visual change to the symbol.

Please clarify.

Thanks,

Matt

Share this post


Link to post
Guest

That is correct.

If you select a symbol, note how you can't change the fill of the symbol - it's stays at "None"

The symbol itself does not own attributes, only the objects within a symbol. Those objects need to the desired class attached.

Share this post


Link to post

Oh, wait. I see how it works...stupid me. It's that AutoCAD stank on my sleeve which prevented me from seeing how VW does it.

That, and I can't even spell inheritence [sic] correctly.

*Sigh*

Thanks,

Matt

Share this post


Link to post
Guest

If it were a group instead of a symbol, the behavior would be different.

Share this post


Link to post

So...is all of this to say that a symbol CAN'T inherit the attributes of the class it is placed on?

I'm struggling with this now too. I'd like to be able to use the symbols provided with VW2008 using MY line weights, styles, colors, and fills. The way I read this thread, I can only do this if I convert the symbols to groups. I've just tried that and it doesn't work either.

What the $%^! do I need to do to have all of these great new Wolf and SubZero symbols use the attributes that I want, NOT those that were assigned by the symbols' creators?

Using VW2008-Designer

Share this post


Link to post
Guest

The actual symbol itself will not take on the class attributes, but the objects that make up the symbol can take on the attributes of their respective classes or attributes.

To apply your graphics to the library symbols, edit the 2D and/or 3D symbol components and change the attributes directly or class the different parts of each symbol.

Share this post


Link to post

I have tried editing inserted symbols by changing all attributes to "By Class" but this did not work. I inserted the symbol, double clicked on it, selected all, changed everything to by class in attributes palette, double clicked again, and did the same with any groups in the symbol, exited group edit, and exited symbol edit. I return to the drawing but the symbol looks the same - it has not taken on class attributes.

Can someone please give this newbie a clear step-by-step process for changing a symbol so that it takes on the attributes of the class on which it is inserted?

Thanks.

Share this post


Link to post

billtheia, you don't necessarily have to convert your symbols to groups. The same process will work in both converted and unconverted symbols.

Enter the symbol or group to edit the objects. Change all the objects so that they take attributes by class. BE AWARE that it is the class of these objects, not the class of the group or symbol, that will affect how they look. So if you want to have a class that controls them, set one up and ASSIGN IT TO THE OBJECTS. Assigning that class to the symbol instance will not do anything. Assigning that class to a group will also do nothing, unless you are prompted by VW about whether you want the class assigned to the group's objects and respond affirmatively.

So, I would suggest that you use some special class other than "None" to control how these objects look. The biggest use of this level of control is to customize class attributes in Viewports.

Share this post


Link to post

Thanks, Pete.

So, in order to get the symbol to take on the attributes of a class, I must edit the symbols objects and place them on that class. Hmmm. Just seems counter intuitive to a former ACAD guy.

Share this post


Link to post

Well, the logic of this is that your contained objects might have different classes and attributes, so you don't want the container object to override the differences.

Share this post


Link to post

AutoCAD has a very simple way to deal with this very problem.

Create a block (symbol) on the 0 layer and mark all attributes as "By Layer"; these will automatically inherit attributes from the current layer. Assign a specific color, line weight, dash style, etc. for any object in the block that you want to remain fixed; that is, not assume the active layer attributes. This allows all "By Layer" objects to be flexible while fixing other attributes that have been specifically defined.

Matt

Share this post


Link to post

3., I know - that's what I was hoping VW would do too but it looks like that's not the case.

So - the short answer to the question "how do I create a symbol that inherits the attributes of the class on which it is inserted?" is YOU CAN'T.

So then what does a VW user do when he/she has the same object in more than one class (e.g. new const. & demo) and wants needs the symbol to have different attributes?

Share this post


Link to post

Have two symbols - in your example have one for the new item and another for the demolished item.

Share this post


Link to post
3., I know - that's what I was hoping VW would do too but it looks like that's not the case.

I think it is exactly the case. But maybe I don't quite understand.

Share this post


Link to post

Of course one could have a parametric object for something like this. Very, very efficient!

Share this post


Link to post

Bill, you can override the class attributes of your objects in a Viewport, so you don't need to create two symbols. If you want to display the same symbol in two different ways in one drawing, you'll need 2 viewports to do that.

Look at the OIP with a viewport selected. Go to the "classes" button and when the list comes up, you can edit the class attributes, and those edits will apply in that viewport only. So you can change your linestyle to dotted for that viewport, for example.

Window and Door PIO's as used straight from the window and door tools can be classed and will pick up class settings and viewport overrides in the manner you are asking for. Those aren't really symbols, per se, they're a different kind of object. So if you are looking for the easiest way to have a window or door be dotted in one plan and solid in another, assign them to a Demo class like the wall, and use viewport overrides to have that class display differently in different drawings.

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.

Sign in to follow this  

 

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