Ihave tried installing this plugin in SU Make 2017, however was not able to open a model created in SU Pro 2018. Does this plugin only work on Pro versions not Make? If this is the case, does it still work after the 30 day trial period?
@eneroth3, @DaveR, Thanks both for the reply. I have a licensed SU Pro on one machine, and SU Make 2017 on another machine. Both machines are 64 bit.
I installed the plugin within the extension manager in SU Make 2017. It installed fine with no problem. The signature shows everything is installed ok. However, within SU Make 2017 when I try to open a 2018 created file, it still brings up the message saying the model was created in a newer version and will not open.
Address Library for SFSE Plugins, like I said twice before, is fully updated. So, BakaKillMyGames.dll and ConsoleCommandRunner.dll, who are both up to date, shouldn't be up on this list. Though the CCR mod is updated with Console Command Runner Updated mod.
I have no clue about what mod DEF_TOLS.dll is for. po3_HoldToEquip.dll, shouldn't be up there, because I deleted that mod from MO2. I don't know why po3_SimpleOffenseSuppression.dll is up there because Address Library is updated and so is the Simple Offense Suppression mod.
SFPluginsTxTEnabler.dll is up there for some reason that I don't know. Don't we need the Plugins.txt Enabler mod. Same with sfse_plugin_console.dll. I am not sure, but wouldn't the plugin console be with the Plugins.txt Enabler mod?
When I play the game and then exited, the ConsoleCommandRunner.log only showed the version number as 1.3.0.0 and I loaded the Console Command Runner Updated mod which is version 1.3.1. This was corroborated when I checked the console Command in the game and there was nothing put there from CCR.
3) OK, I looked at the explorer page of the Address Library and found these files in both Starfield/Data/SFSE/Plugins and MO2 folder mods/Address Library for SFSE Plugins/SFSE/Plugins. Here they are in order:
For your game version, you need to make sure the file "versionlib-1-8-86-0.bin" is in your SFSE/Plugins folder as well (or wherever the actual SFSE plugins, the .dll files are. I'm not familiar with MO2).
As you can see that a lot is gone from the first version of this error. I have noticed a problem with my MO2. I checked the version of the ConsoleCommandRunner.dll. The version of that .dll file is 1.3.0.0, the version of the original CCR mod. However, in the mod folder of the CCR Updated, the version is 1.3.1.0. It seems that MO2 isn't updating the mods. MO2 version is up to date, so I don't know what is going on.
I don't know why MO2 doesn't update them but I've never used it myself to be honest. You'll need to update these plugins for game version v1.8.86 to make this error message disappear. Manual download and copy paste to the folder where "versionlib-1-8-86-0.bin" is should fix it. Many of the plugins are "v1" according to the plugin handler which are probably for earlier game versions.
By the way, many SFSE plugins have a hardcoded version control like RUNTIME_VERSION_1_8_86, 0 to prevent earlier/later/simply other game versions from loading them to avoid breaking things. When a new game version is released, memory addresses (that acts as a reference point at the minimum) change and plugins need to be updated. SFSE plugins that rely on the Address Library may or may not need to be updated, it depends on how the plugin was coded.
(I make mods, both .esm and script extender (SE) plugins and they require frequent manual activation-deactivation, custom script and build environment, etc.. a mod manager would slow down the process. I'm not alone with this I'm sure ).
I've now used various 3rd party libraries in standalone Python desktop apps with good results. I would like to start using and bundling 3rd party libraries, and also having a nicer way of all of the required files/packages being placed in the AppData folder, and maybe even the command adding to a workspace (though I'm less concerned about that).
I don't want to use the Partner Products thing, as everything I make at the moment is company-specific and needs to be distributed internally here. I would be up for adding things to the Partner Products portal in the future potentially, but not right now.
Most of the article that you posted is detailing the Install button in the Third-party plug-ins tab of the Plug-in Manager, which was added several years ago (can't remember the exact version, but it is in VW2019 which is the earliest one I have installed). I don't know about calling the old method obsolete, as it still works fine, but the Install button and using .zip files is certainly more convenient if you need anything more than the .py plug-in file.
As for using outside libraries and ensuring that they are available, the articles you posted don't cover any of that. The unfortunate thing is that installing outside libraries is an entirely different process, and one that can be difficult to script. There are methods that I have had some luck with, some being much more hands on than others. I'll cover them from least hands on to most hands on.
1. Using the Marionette library with VerifyOrGetLib: The Marionette library has a solution to this that I've used a couple of times with relative success (at least on newer versions of Vectorworks, I could not get it to work on VW2019 because the Python version was too old for any of the libraries I needed). It basically revolves around using the Marionette.VerifyOrGetLib function and passing in a .whl file. Below is a code snippet that you might be able to include at the top of your code to install an external library if one is missing, using the GitPython library as an example:
This will try to import the library, and if it throws an error, it will instead use the Marionette.VerifyOrGetLib function to download it instead. This will launch a small dialog box asking the user if they want to install the library:
The user will need to press OK for the installation to continue, which will essentially open a terminal window and execute a pip install process for you, but making sure that the files end up in the Python Externals folder of the User Folder. Keep in mind that the user will need to restart Vectorworks after the process for Python to see the library as installed (may not be a bad idea to include a vs.AlrtDialog() message in the except to remind them). This has been the most stable way for me.
2. Invoke the pip command from within the script: I found a method in this post from @DomC but have never been able to make it work, but also admit that my Python is not the best so I was probably missing something:
3. Use the method found in the Vectorworks Help in the section Manually Installing Python LIbraries: This method is a bit of a pain in the butt and probably more than you want to ask of most users, but it works. It's essentially doing the same thing as the Marionette.VerifyOrGetLib method above but manually (assuming you're using Vectorworks 2023 or later).
I spent a little more time reading the articles that you posted, the wording is pretty needlessly obtuse and hard to wrap my head around. What it is initially saying in the Installing Scripts section is that when you create a new script, the script is automatically placed in the proper directory of the User Folder. In following instances of Vectorworks starting, any plug-in found in that directory is automatically loaded. None of this is new, and is the way Vectorworks has worked since at least 2010.
The Basic Installation just details the use of the Install button of the Plug-in Manager. The Implementing Installation Script page is a bit more interesting. It seems that if your .zip file contains an install.py script, that script will be executed when the Install button is pressed. So, you could have the code snippet I posted above placed in the install.py script so that it only happens on initial installation. The example file on the page builds a custom directory in the User Library folder and uses the shutil library to copy a provided .vwx file with symbols into that directory as well as copying a custom workspace with the presumed command installed in it. The More Complicated Installation article demonstrates the use of urllib.request to download a content file from Dropbox, but still doesn't cover the installation of an external library.
Call a server API with a Post request. For my personal use I just run a Flask server on my own computer, but I'm sure this can easily be a Python Anywhere free server online or a server on the company network.
I have installed adapt_authoring whitout problems and its accesible via web browser. Now we want to install new plugins, and reading the documentation i understood that we need to install adapt_framework-master , when we follow de installation manual we have de following error:
Can I ask where you read that? Because that doesn't sound right to me - the authoring tool will fetch its own copy of the framework during the installation process. The only thing you might need to do it update it to a newer version (at this point in time, it is still installing FW v2.x by default).
It looks as if your Ubuntu install has another 'adapt' command line tool installed (this one??) and it is getting a bit confused and showing you help/usage instructions for that rather than the adapt-cli.
When I acces to plugin management page in our authoring tool i dont see anything (photo attached), and when I try to follow the instructions -browser/ for example "adapt-contrib-vanilla" said that : As Adapt's core theme, Vanilla is included with the installation of the Adapt framework and the installation of the Adapt authoring tool.
3a8082e126