Jump to content

Door Configuration Error - changing when exporting from 2020 to 2021


Recommended Posts

My client and I are experiencing a strange problem.  He is providing a floor plan developed in 2021, exporting to 2020 so I can use it.  When I receive the file, all doors look and behave as they should.  I'm not changing any of his floorplan information or door definitions, just using them for reference.  When I send him my 2020 file and it is opened in 2021, all of the Overhead, Bi-part sliders, Sliding, and Pocket doors have their configuration changed to Swing.  We are stumped, any help is appreciated.

 

Here's an image of the crazy doors...201517256_ScreenShot2021-06-03at10_16_23AM.thumb.png.6ed58d9100d252fd1aa99045531db2e9.png

 

  • Confused 1
Link to comment
  • Vectorworks, Inc Employee

Hi Jeff,

I've been playing with this, was able to reproduce the issue, and submitted a bug (VB-179585).

 

The issue happens when the file is exported back to VW 2020, opened in VW 2020, and saved without resetting the Door object.  At that point, when bringing the file back into VW 2021, those Doors will change their configuration.

 

Until there's  fix, I think the best way to work around the issue is, after opening the exported file in VW 2020, reset all Door objects in the file and Save.  BTW:  The "Reset All Plug-ins" command in the Tools/Utilities menu is one way to reset them all, but it'll also reset all other plug-in objects.

  • Like 1
Link to comment
  • Vectorworks, Inc Employee

To try and make a long story short: door configurations were changed in how they were defined in VW 2021. When exporting back to 2020, the configs are set for their closest match (not everything is supported).

If you take a native 2020 file, the doors have an internal version marked as being last set for 2020 and that triggers an update when opening in 2021. When exporting back to 2020, they are still marked as being from 2021. Therefore, when opening back in 2021, no update happens, leaving the new configuration in it's default state - Swing. That is why running Reset All Plug-ins helps, because the reset will cause they will be marked as being from 2020. 

 

I am working on an overall fix this, as it has come up more than once, but here is something a little better than "Reset All Plug-ins". Add and run the following script. This will set the version for all doors to 2020 without having to reset them all.

 

Keep in mind that going from a new version to an old one and back again can sometimes give unpredictable results.

PROCEDURE UpdateVersion;
VAR
crit : STRING;
PROCEDURE UpdateDoorVersion( h : HANDLE );
BEGIN
SetRField( h, 'Door', '__version', '2500' );
END;
BEGIN
crit := 'PON = DOOR';
ForEachObject( UpdateDoorVersion, crit);
END;
RUN(UpdateVersion);

 

  • Like 2
Link to comment
  • Vectorworks, Inc Employee
13 hours ago, Judah Warshaw said:

To try and make a long story short: door configurations were changed in how they were defined in VW 2021. When exporting back to 2020, the configs are set for their closest match (not everything is supported).

If you take a native 2020 file, the doors have an internal version marked as being last set for 2020 and that triggers an update when opening in 2021. When exporting back to 2020, they are still marked as being from 2021. Therefore, when opening back in 2021, no update happens, leaving the new configuration in it's default state - Swing. That is why running Reset All Plug-ins helps, because the reset will cause they will be marked as being from 2020. 

 

I am working on an overall fix this, as it has come up more than once, but here is something a little better than "Reset All Plug-ins". Add and run the following script. This will set the version for all doors to 2020 without having to reset them all.

 

Keep in mind that going from a new version to an old one and back again can sometimes give unpredictable results.


PROCEDURE UpdateVersion;
VAR
crit : STRING;
PROCEDURE UpdateDoorVersion( h : HANDLE );
BEGIN
SetRField( h, 'Door', '__version', '2500' );
END;
BEGIN
crit := 'PON = DOOR';
ForEachObject( UpdateDoorVersion, crit);
END;
RUN(UpdateVersion);

 

 

Thanks for the detailed information and script, Judah!

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