Jump to content

Broken Curtain Objects in VW 2019


Recommended Posts

I've never used third party plug-ins that I'm aware of, just what came with VW. My understanding is VW used to have the Curtain Object tool and that at some point it was upgraded to a more sophisticated Soft Goods tool. I would not have expected that upgrade to break existing curtain objects; I was expecting them to be rolled into the functionality of the new tool. So I guess the best solution is to rebuild all my curtains with the Soft Goods tool.

Link to comment

It looks like the last version to include the Curtain Object was 2014. I don't believe that there was a conversion routine as part of Softgoods, but @C. Andrew Dunning may know.

 

Otherwise, you have three options:

- Find the Curtain Object.vso file in your old Vectorworks application plug-ins folder and copy it to your 2019 user plug-ins folder and restart. The plug-in may work, or it may generate errors. It all depends on if some of the underlying code is deprecated.

 

- Convert to group. You lose the ability to change attributes via the OIP, but if your doing something simple, like changing length, that saves you from rebuilding.

 

- Remake the objects with the new Softgoods tool

Link to comment

A couple questions about how the Soft Goods tool is working in this drawing:

 

1) How do I get the soft goods object to take its color from its assigned class? The object is assigned to the class, the attributes are referencing the class, the class is assigned to all categories under "Classes..." in the object info... and yet it only seems to be obeying the "3D Curtain Options" setting in object info. There doesn't seem to be any way to clear that setting. "Update" button in object info doesn't seem to do anything. I'm not really understanding why there is a "3D Curtain Options" that is totally disconnected from the class assignment... it seems to defeat the purpose of classes to begin with. If someone wanted to change the 3D texture assignment on a bunch of curtains later on, for example, they would have to go into "3D Curtain Options" for every object?

 

2) One thing I liked about the old curtain object was when a traveler curtain is open it shows the curtain material stacked up with a tighter pleat spacing. I like this because it emphasizes visually that the curtain is open in 2D/plan. Is there an option I'm missing to create this behavior?

Link to comment
7 hours ago, Smatticus said:

1) How do I get the soft goods object to take its color from its assigned class?

 

4 things:

1)  A given part (Curtains, Hardware, etc.) has to be assigned to a Class through the "Classes..."/"Parts Classes..." dialog.

2)  The chosen Class has to be set to apply Textures at Creation.

3)  The entire Soft Goods/SoftGoods 2 object must be set to "Class Texture" in the OIP Render tab.

4)  The Fill Color for the entire object must be set to apply color by-Class.  (The actual Fill Color for the over-all object is irrelevant.  This simply functions as a toggle to enable by-Class coloring.)

 

I know this seems pretty convoluted.  We simply needed to "protect" the settings instated by the "3D Curtain Options..." dialog as much as-possible.

 

7 hours ago, Smatticus said:

2) One thing I liked about the old curtain object was when a traveler curtain is open it shows the curtain material stacked up with a tighter pleat spacing. I like this because it emphasizes visually that the curtain is open in 2D/plan. Is there an option I'm missing to create this behavior?

 

The current tools do not have this feature.

  • Like 1
Link to comment
17 hours ago, C. Andrew Dunning said:

I know this seems pretty convoluted.  We simply needed to "protect" the settings instated by the "3D Curtain Options..." dialog as much as-possible.

 

This does seem somewhat convoluted and I am a bit confused. Is the "3D Curtain Options" the only way to assign a fill color to the curtain (viewable in 3D)? Which cannot be altered through any referenced means (class, texture, etc)? If I want to use a reference for the curtain's color in 3D is it REQUIRED to be a texture rather than a fill color? The thing I don't understand about "3D Curtain Options" is why there isn't just an option, under "Opaque" for example, to get the desired color from a class... the way most other appearance attributes work in VW.

Link to comment
1 hour ago, Smatticus said:

 

This does seem somewhat convoluted and I am a bit confused. Is the "3D Curtain Options" the only way to assign a fill color to the curtain (viewable in 3D)? Which cannot be altered through any referenced means (class, texture, etc)? If I want to use a reference for the curtain's color in 3D is it REQUIRED to be a texture rather than a fill color? The thing I don't understand about "3D Curtain Options" is why there isn't just an option, under "Opaque" for example, to get the desired color from a class... the way most other appearance attributes work in VW.

 

Multiple answers:

1)  Other than meeting the 4 criteria I posted, yes, that dialog is the only way to assign curtain/drapery color if using the "Opaque" setting.  With that setting, the tool generates the fabric Texture and manipulates the color of the underlying geometry - which is used by the Texture.

2)  You CAN...if you really want to...change the color by changing the settings of the Texture definition.  Just don't change the name.  If you do that, the tool will simply re-create and apply the stock Texture.

3)  You can also change the color by choosing the "Custom" option and choosing a specific Texture that carries with it specific color (like the Rose Brand fabrics do).

 

As to your last question, to my knowledge, the related calls in the language in which the softgoods tools are written do not allow for "By-Class" color.  You raise good questions and I am investigating options.

 

(BTW, I am not a VW engineer or employee.  I am simply the developer of several of the Spotlight tools, including Soft Goods.)

Link to comment
On 1/1/2020 at 1:00 PM, C. Andrew Dunning said:

 

Multiple answers:

1)  Other than meeting the 4 criteria I posted, yes, that dialog is the only way to assign curtain/drapery color if using the "Opaque" setting.  With that setting, the tool generates the fabric Texture and manipulates the color of the underlying geometry - which is used by the Texture.

2)  You CAN...if you really want to...change the color by changing the settings of the Texture definition.  Just don't change the name.  If you do that, the tool will simply re-create and apply the stock Texture.

3)  You can also change the color by choosing the "Custom" option and choosing a specific Texture that carries with it specific color (like the Rose Brand fabrics do).

 

As to your last question, to my knowledge, the related calls in the language in which the softgoods tools are written do not allow for "By-Class" color.  You raise good questions and I am investigating options.

 

(BTW, I am not a VW engineer or employee.  I am simply the developer of several of the Spotlight tools, including Soft Goods.)

 

Thank you for your help and all your work on these tools. I understand the desire to use Textures in lieu of fill colors for more realistic 3D rendering... and I see how I can achieve basic fill coloring by editing the Texture. I'll play with it some more. I do think it would make a lot more sense for the color selection under "Opaque" to have a class referenced option. Having a color assignment that isn't reference-able doesn't seem like the best practice. And I apologize, I'm still trying to wrap my head around the increased degree to which the latest versions of VW are using sub part classes for objects... making the actual class assignment of the object as a whole somewhat meaningless in certain situations and respects. The changing functionality of some of these objects is confusing.

Link to comment
13 minutes ago, Smatticus said:

...sub part classes for objects...making the actual class assignment of the object as a whole somewhat meaningless in certain situations and respects.

 

2 instances in which the parts Classes are valuable:

 

1)  For all of the "Landru-sourced" tools, by-Class attributes can be used to assign textures to the different parts - staging legs...drapery...speaker finishes, etc.

 

2)  When assigned to embedded Classes, part visibilities can be controlled.  For example, a user might want to see text labels or notes in one view/plate but not another.

 

Just food-for-thought...

Link to comment
2 hours ago, Smatticus said:

I'm still trying to wrap my head around the increased degree to which the latest versions of VW are using sub part classes for objects... making the actual class assignment of the object as a whole somewhat meaningless in certain situations and respects.

 

To help wrap your head around that, turn off hierarchical display. It's really just an organizational naming convention to map attributes/texures. I've actually started using the same organization in my budgets and other documents (Site, Site-Barricade, Site-Restrooms).

 

That said, there's one caveat that drives everyone crazy, and I think this is what you're trying to wrap your head around: the "parent" class doesn't actually function as a parent (screenshot attached). The forums are filled with debates, complaints, and workarounds to this bug feature. VW's answer for their Spotlight template is to add a "-Main" class to everything. That also opens up a whole debate of classes vs layers... that has very little to do with mapping attributes.

 

Pro Tip: with the "Landru-sourced" tools, I always select the default parts classes except when I'm doing something weird. Sometimes, I'll want to be able to hide a class from a sheet layer, so I'll create a "-Hide" class. This is often the case when I'm masking a projection, tweaking the bases on drapes, using the drape tool for event fence (and completely renaming the default classes "Fence-Scrim" and so on). For clarification, you can change the parent name from "SoftGoods" to "Soft Goods" or "Fencing" or "Nerfherder" or whatever you want, and all the parts class will take it: Nerfherder-Curtains, Nerfherder-Borders, and so on. I will usually make that same name match the class in the OIP ("Audio" vs "None").

 

Keep in mind, all of this starts functioning a little like the 0 class in AutoCAD. Every sub/part/class must be turned on for it to be visible.

 

 

Screen Shot 2020-01-07 at 10.02.10 AM.png

Edited by Mark Aceto
  • Like 1
Link to comment

Thanks for the replies. I would definitely consider myself a power user of Classes, I'm very familiar with the hierarchical display and the dash naming. I frequently generate my own sub-class structures for controlling visibility of different lighting positions, or different components of scenery. Many people I know, however, are not power users, which is why I think all the components of an object should default to the class assigned to the overall object. This way the class assigned to the object serves an attribute control function AND a visibility control function, which would be expected by a less adept user. The Soft Goods reliance on the separate Texture-based "3D Curtain Options" currently breaks that expected functionality.

 

If I understand correctly, the Soft Goods object sub-classes do default to the overall object class (<Soft Goods Class>)? This drop-down is what I was particularly confused by, especially juxtaposed underneath the default prefix "SoftGoods." An object and it's default class prefix having the same name makes sense but it is also a source of confusion. I think <Soft Goods Object Class> or just <Object Class> would be more clear. The "Use Standard Classes" button I also found confusing until I tested it. The help description says "...to the predefined default classes using the specified prefix..." What predefined defaults? Predefined in settings somewhere? I didn't realize the fields listed in the dialog box were what was meant until I clicked the button.

 

Overall, I do really like having the sub-class functionality built into more objects because there is less work for me to do in creating visualizations and drawings... I just think there are some presentations/explanations that could be a little more clear and some of the functionality could be improved to retain some classic behaviors users may be expecting.

Link to comment
4 hours ago, Smatticus said:

If I understand correctly, the Soft Goods object sub-classes do default to the overall object class (<Soft Goods Class>)?

 

Correct.

 

4 hours ago, Smatticus said:

 This drop-down is what I was particularly confused by, especially juxtaposed underneath the default prefix "SoftGoods." An object and it's default class prefix having the same name makes sense but it is also a source of confusion. I think <Soft Goods Object Class> or just <Object Class> would be more clear. The "Use Standard Classes" button I also found confusing until I tested it. The help description says "...to the predefined default classes using the specified prefix..." What predefined defaults? Predefined in settings somewhere?

 

There are 2 things going on, here:

  1. You can select a Class for one or more of the individual parts as you wish - using existing or new Classes.  If you only want to assign a single part family, no problem.
  2. You can input any prefix you'd like and then automatically assign all parts to Classes, each Class having that prefix.  The default "suffixes" are hard-coded.  Again, you can change the names as you wish.
Link to comment

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.

×
×
  • Create New...