Jeff Prince Posted June 3, 2021 Share Posted June 3, 2021 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... 1 Quote Link to comment
Jeff Prince Posted June 8, 2021 Author Share Posted June 8, 2021 Has anyone else experienced this or know of a solution? Quote Link to comment
Vectorworks, Inc Employee Matt Panzer Posted June 8, 2021 Vectorworks, Inc Employee Share Posted June 8, 2021 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. 1 Quote Link to comment
Vectorworks, Inc Employee Judah Warshaw Posted June 8, 2021 Vectorworks, Inc Employee Share Posted June 8, 2021 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); 2 Quote Link to comment
Vectorworks, Inc Employee Matt Panzer Posted June 9, 2021 Vectorworks, Inc Employee Share Posted June 9, 2021 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! Quote Link to comment
Recommended Posts
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.