Jump to content

Migrating template to 24 - Way to get rid of Unified View/Legacy 2D features?


Recommended Posts

I'm starting the process of migrating to VWX 2024. We have a couple templates that have been around for a few years, and we had previously used Unified View and what is now called "Legacy 2D features". When I start a brand new file it defaults to having "Enable legacy 2D features" to Off in the Document preferences. 

When I open our template in 24 and try to disable it, it gives this dialog (below) saying the drawing contains screen plane objects. 

When I go to Tools>Custom Selection>Select "Plane is Screen Plane", I get a whopping 82,921 objects that meet the criteria, but when I hit OK, it only selected 10 objects.

Our templates include a lot of custom symbols we've built over the years that we still use regularly. I would love for the words "Unified View" to not be in our vocabulary anymore but I'm a bit at a loss of how to make that happen. 

I recognize there could definitely be some TLC and cleanup of the template, but going through every symbol, punching into every group, and trying to find every screen object sounds painstaking. Is there something I'm missing or a way to migrate this well? I'm open to starting a new file if it doesn't recognize screen plane objects when dragged in or something?

Thanks so much for the help,

Travis

Screenshot2023-11-30at11_27_37AM.thumb.png.805fa7191a5f83936eca22a580ff3f7c.pngScreenshot2023-11-30at11_33_51AM.thumb.png.8868199467d096f17982591e33ee0945.png

Edited by TLeatherman
Link to comment
  • TLeatherman changed the title to Migrating template to 24 - Way to get rid of Unified View/Legacy 2D features?

When you set your criteria to search, you can uncheck all of the Search Within checkboxes.  Though they deprecated the Screen Plane, Vectorworks still uses it on hybrid objects to determine 2D vs 3D components.  If you have a 2D or hybrid symbol, all of the 2D geometry will be on the screen plane by default, and this is set when the symbol is made.  So, if you are building a hybrid symbol containing both 3D and planar geometry, when you create the symbol, Vectorworks will automatically assign any planar geometry on the Layer Plane (IE, not on the 3D Plane) to the Screen Plane to separate the 2D and 3D geometry for the hybrid symbol.  Likewise for plug-in objects that have hybrid geometry, all of the 2D is technically on the Screen Plane.  Viewport annotations (and anything placed on a Sheet Layer) are also automatically placed on the Screen Plane behind the scenes.  What I'm getting at is that objects within all of those things currently on the Screen Plane must be on the Screen Plane and are not counted when assessing whether you can disable the Legacy 2D Features.

 

One thing that you will want to make sure of is that you have all classes and layers visible and have both your Class and Layer View settings set to Show/Snap/Modify.  The criteria box will count all eligible objects across the drawing, but the selection will only result in what you can currently select based on the current visibility and selection settings.  This will also affect objects inside of groups, since the objects will be counted but not necessarily selected (kind of, they will be selected but you wouldn't see that until you enter the group edit container).

 

There is a fairly simple script that you can run that will migrate all offending objects to the Layer Plane and thus allow you to disable Legacy 2D Features.  Note that this script does not come with a warranty, and while it shouldn't bork anything in your drawing, I take no responsibility if it does.

 

PROCEDURE SwitchToLayerPlane;

PROCEDURE Execute(h:HANDLE);

	CONST
	
		kIsScreen = 1160;

	BEGIN
		SetObjectVariableBoolean(h,kIsScreen,FALSE);
	END;

BEGIN
	ForEachObject(Execute,(PLA='Screen Plane'));
END;

Run(SwitchToLayerPlane);

 

To run this script, go to your Resource Manager, right-click and select New Resource - Script.  This will ask you to select or name a "Script Palette" (something like "Drawing Macros" will work just fine, don't select Saved Views if it shows up in the dialog box), then name the script whatever you want ("Migrate All to Layer Plane" would be a fine name).  It will now open a notepad for your script.  Make sure the Language is set to Vectorscript, and copy and paste the above code in.  It should look like this:

 

image.thumb.png.2597be54c8e7515b52f3329de333308c.png

 

Click the OK button to close the notepad.  This will generate a floating palette with your new script in it.  Double click the script to run it.  This should move anything on the screen plane over to the layer plane excluding the objects inside symbols, plug-in objects, viewport annotations, and on sheet layers.  After running it, you should be able to disable the Legacy 2D Features.  I have seen some weirdness in very old drawings where some objects are more or less "stuck" on the screen plane and it won't let you disable the features, but it should work for most up to date drawings.

  • Like 2
Link to comment
25 minutes ago, Jesse Cogswell said:

Though they deprecated the Screen Plane, Vectorworks still uses it on hybrid objects to determine 2D vs 3D components.  If you have a 2D or hybrid symbol, all of the 2D geometry will be on the screen plane by default, and this is set when the symbol is made. 

 

Really !?

 

Why not just assigning a XY, XZ or YZ Plane by keeping the 3rd Axis zero ?

Link to comment

Wow, this is incredible. Thank you so so much for the detailed response and help! I was able to toggle it off after running the script, thanks so much!

For future reference, I think I'm tracking for the most part on hybrid symbols/annotation layers still using screen plane. Are there any symbols or objects that when brought in from a workgroup or older file that will force the "2D Legacy Features" back on (or otherwise not appear correctly when brought in)? From your explanation above my assumption is that on a design layer, with "2D Legacy Features" off any symbol, group, etc. would default to Layer Plane correct?

Link to comment

Importing resources from another drawing shouldn't re-engage the 2D Legacy Features, since it's going to assume that you will be putting things on the Layer Plane or a 3D working plane.  Even copying and pasting groups containing screen plane objects will result in all group objects being on the current working plane.  I just did a quick test trying to force the features on by importing and copying and pasting as wasn't able to do it.  You should be in the clear.

Link to comment

@zoomer Deprecating the Screen Plane was actually a huge bummer in my workflow.  Doing lighting, I'm often near the end of the pipeline, so I get a "finished" model of the scenic or exhibit design.  Unfortunately, most of the designers I've worked with don't use hybrid symbols, so I'll get a file full of 3D Symbols and occasionally (shudder) just Groups of objects.  Converting the groups over to symbols is easy enough, just create the 2D geometry and Create Symbol, but editing 2D geometry into 3D Symbols can be a bit tricky.  I do not like the Generate 2D from 3D Component command because you lose class information and it hard sets the lineweights, so I rarely use it.  I developed a workflow of going into the 3D component edit and using Extract Face to quickly build geometry, then selecting all of it and sending it to the Screen Plane.  Ta-da!  Now you have a hybrid symbol.  Video example below:

 

 

This process was made more difficult in 2022 when they deprecated the Screen Plane, as I would have to enable to Legacy Features, move the objects, then disable the Legacy Features anytime I wanted to use this process.  After I complained on the forum when 2022 first came out, Steve Johnson from VW emailed me asking for a demo of my workflow.  I recorded the video above, and we started talking about adding a plane option when inside the 3D edit component for something like "2D Symbol Component", but it never happened.  So now I have a script in my workspace that will set the plane of any selected object to the Screen Plane that I can run when creating hybrid components.

  • Like 3
Link to comment

Hi Jesse,

 

I understand what you are doing here.

But I think these are just  misunderstandings or different use of definitions.

 

Of course, if you extract Faces from a 3D Objects, these new faces use the

initial 3D location and orientation.

(if they are true 2D elements, I do not get why there is not offered any "flatten"

command or set to "Layer Plane" ...)

 

And I did not yet tried to  let VW create 2D appearances from 3D Symbols so far .....

But I would have expected that I can edit these 2D front/side/top geometries,

as I most times need to clean them up or sort them to LODs anyway,

as always and just assign Classes, line weights and such ...

If not .... not so good.

 

But the essential principal of a VW "Screen Plane" is its difference to other

XYZ or CAD Planes/UCS/WCS, .... that it is a dynamic Plane,

that actually rotates and reorients to your View Screen surface whenever

you rotate your View in 3D.

 

The only reason for screen plane that is useful is like putting text/icon or

info labels along your 3D Elements so they are always oriented to the

Viewer and legible, whatever you navigate your 3D Viewport.

Like a video of a 3D scene with 2D overlays done in a video editing

software that always follow their parent 3D Objects ....

(And some VW users make use of that in a very creative way)

 

But that is as niche feature/usage which is seldom needed.

 

Most times Screen Plane Objects just annoy in any 3D View.

Their real location is not predictable or legible.

 

So I postulate that users, and VW, misuse screen plane in many other ways

than its "screen orientation".

There is no reason to have 2D parts of Symbols or Hybrids to ever orient

to monitor ! They have to orient perpendicular to a Section derived Viewport,

which is usually in XY plane on your 2D Sheet Layer.

Everything that is 2D only I would describe by XY coordinates first.

Because it is has no thickness or 3rd Dimension.

If any 2D needs to be seen in a 3D context - it is 3D ! and needs 3 coordinates.

 

And I have not seen in any case so far where that Screen Plane is needed in

any way that would not be possible to describe by just a much more adequate

XY, XZ or YZ Plane.

So just keep one of the 3 Axis zero and it is clear that it is 2D and should be flat.

if it is rectilinear in 3D add a Z but keep the "same" for all these objects.

 

I postulate that VW does use "Screen Plane" wrong in 98%.

Either they take away that disturbing dynamic screen orientation feature and

rename it to something like "our-special-2D-plane-that-makes-sure-that-

content-is-2D-onlyand-oriented-properly-to-our-current-pupose-in-or-

from-our-tool" or use proper coordinate systems.

2D that auto aligns according to purpose - or just proper 3D in 3D Space.

 

And it looks like VW decided to get rid of this problem by deprecating

that wired Screen Plane thing, which I highly welcome.

 

But so far, in reality, there is still no chance to really get rid of Screen Plane.

No chance to get Screen Plane out of all Containers like Symbols or Groups.

 

But for all screen misusing workflows outside,

I am 100% that there would be reasonable suitable plane definition or workaround

that can offer at least the same functionality if not more and more consistent.

 

 

 

 

Link to comment

@zoomer I am 100% with you.  I would love to have Vectorworks change the name of the Screen Plane when editing symbols to "2D Component" and allow its use in the OIP without having Legacy Features engaged.  Or even better, an OIP option for planar options that only appear inside the symbol edit container, similar to the detail checkboxes.  It seemed that my conversations with Steve would lead things in that direction, but it's been three years and nothing has changed in this regard.  Have a look at my surprised face.

  • Like 1
Link to comment
3 hours ago, Jesse Cogswell said:

When you set your criteria to search, you can uncheck all of the Search Within checkboxes.  Though they deprecated the Screen Plane, Vectorworks still uses it on hybrid objects to determine 2D vs 3D components.  If you have a 2D or hybrid symbol, all of the 2D geometry will be on the screen plane by default, and this is set when the symbol is made.  So, if you are building a hybrid symbol containing both 3D and planar geometry, when you create the symbol, Vectorworks will automatically assign any planar geometry on the Layer Plane (IE, not on the 3D Plane) to the Screen Plane to separate the 2D and 3D geometry for the hybrid symbol.  Likewise for plug-in objects that have hybrid geometry, all of the 2D is technically on the Screen Plane.  Viewport annotations (and anything placed on a Sheet Layer) are also automatically placed on the Screen Plane behind the scenes.  What I'm getting at is that objects within all of those things currently on the Screen Plane must be on the Screen Plane and are not counted when assessing whether you can disable the Legacy 2D Features.

 

One thing that you will want to make sure of is that you have all classes and layers visible and have both your Class and Layer View settings set to Show/Snap/Modify.  The criteria box will count all eligible objects across the drawing, but the selection will only result in what you can currently select based on the current visibility and selection settings.  This will also affect objects inside of groups, since the objects will be counted but not necessarily selected (kind of, they will be selected but you wouldn't see that until you enter the group edit container).

 

There is a fairly simple script that you can run that will migrate all offending objects to the Layer Plane and thus allow you to disable Legacy 2D Features.  Note that this script does not come with a warranty, and while it shouldn't bork anything in your drawing, I take no responsibility if it does.

 

PROCEDURE SwitchToLayerPlane;

PROCEDURE Execute(h:HANDLE);

	CONST
	
		kIsScreen = 1160;

	BEGIN
		SetObjectVariableBoolean(h,kIsScreen,FALSE);
	END;

BEGIN
	ForEachObject(Execute,(PLA='Screen Plane'));
END;

Run(SwitchToLayerPlane);

 

To run this script, go to your Resource Manager, right-click and select New Resource - Script.  This will ask you to select or name a "Script Palette" (something like "Drawing Macros" will work just fine, don't select Saved Views if it shows up in the dialog box), then name the script whatever you want ("Migrate All to Layer Plane" would be a fine name).  It will now open a notepad for your script.  Make sure the Language is set to Vectorscript, and copy and paste the above code in.  It should look like this:

 

image.thumb.png.2597be54c8e7515b52f3329de333308c.png

 

Click the OK button to close the notepad.  This will generate a floating palette with your new script in it.  Double click the script to run it.  This should move anything on the screen plane over to the layer plane excluding the objects inside symbols, plug-in objects, viewport annotations, and on sheet layers.  After running it, you should be able to disable the Legacy 2D Features.  I have seen some weirdness in very old drawings where some objects are more or less "stuck" on the screen plane and it won't let you disable the features, but it should work for most up to date drawings.

Thanks for sharing this. It hasn't worked for the particular file I'm trying to sort out (there seem to be things buried within plug in objects and symbols, maybe that's why?) - but I'll definitely save for trying on other files!

Link to comment

Well Screen Plane is deprecated, I can keep my files screen plane screen,

but not get rid of screen plane from client imports or underlays ...

But it is a good start.

 

And for all that still need screen plane, you can bring it back easily or

it is still there for migrated files that had it in use.

 

But basically all trouble is about naming and dual use with the dynamic

plane feature.

 

(Hey, Image Props have another "look at Camera" feature, could be

replaced by just Screen Plane. Would only need a rotate only about

Z lock option)

Link to comment
2 hours ago, Elite Exhibits said:

or is it just renamed ?

 

So far it is not.

It is still called Screen Plane.

 

But it is partially hidden from users now in VW templates

or migrated files that do not contain Screen Plane Elements.

 

That is what I mean by using Apples (OpenGL now deprecated ....) term.

(OpenGL is still available on Mac ... just no development ... which wasn't

that existing there before though ...)

 

22 hours ago, zoomer said:

I can keep my files screen plane screen,

 

BTW

I meant screen plane clean .....

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