Jump to content


Vectorworks, Inc Employee
  • Posts

  • Joined

  • Last visited

Everything posted by Vlado

  1. @Don Seidel as far as I'm aware, SQLite is working ok. I know you are having an issue which you already are working with an engineer to figure out, and we're having trouble reproducing it on our side. I'm not sure you can blankly state that it's completely not working judging by the conversation on the filed issue. Is this a new issue? Please file it as a new issue and let us know.
  2. This will be fixed in Vectorworks 2023 SP8 The technical description is that the Laubwerk library that we use was fixed and included in Vectorworks 2024 and thoroughly tested a while back. However due to the severity of the problem, we will include it in Vectorworks 2023 SP8. We're spending extra effort to make sure it will be stable in 2023 too.
  3. @aage.langedrag this is actually a known wish and it is at the top of our list to add as a feature. I'n not sure which version just yet, but it's next. Stay tuned.
  4. @Amanda McDermott @RonMan We've tracked down the slowness to the resource libraries load. It's not really plugin related, it's the loading of the resources DB. @Dubman can you delete your user folder, make sure you save you old one so you don't lose something important? Do you see the delay again? If so, please send me the user log files (the VW User Log.txt and VW User Log Sent.txt -- let me know if you cannot find them) @Hugues see the post above.
  5. @Amanda McDermott I've been working with @RonMan to track it down, but it doesn't look that it's the Debug Module. Are you willing to help me test this too? Please send me an email to vstanev@vectorworks.net so we have a way for direct communication.
  6. @ericjhberg this is pretty cool, thank you for the analysis of the problem. It is definitely a problem we need solved soon. It looks to me that, as suggested, we need a new feature or two. Let me consult internally, and I'll contact your.
  7. @RonMan do you mind contacting me directly at vstanev@vectorworks.net? I would like to get to the bottom of this as soon as possible. Thank you.
  8. @RonMan do you mind trying to delete the file /tmp/DebugModule_5.txt from your machine, and try running again with the Debut Module in? You can go there by opening a finder window, then from the menu Go -> Go to Folder..., then type /tmp, the folder will open and there should be a file DebugModule_5.txt. Is there? If yes, delete it and try again. Close Vectorworks and run it again. This file is used to cash flags and optimize the DebugModule, so it doesn't do extra work on startup. So you'll see it show up, and then it should be faster, if that's the reason. Note, please don't rely on the Splash screen, it's not necessarily synced to what's actually happening. The real test is to remove the DebugModule plugin from the Plugins folder, and see it becoming faster. Thank you for you testing!
  9. @Letti R we have nowadays the Partner Install feature, that allows users to install/add on features developed by third-parties. Send me an email to vstanev@vectorworks.net and I'll forward it to the correct people for that.
  10. Hi @Timothy Besada, this is an interesting question, but at the moment we do not provide anything for the Python Scripting that can work with the Web Palette. Only the SDK is capable to provide a web-palette. You can find an example how to make such palette here: https://github.com/VectorworksDeveloper/SDKExamples (this is self contained project, so you should be able to compile it directly) The base of the web-palette implementation is the two sides: - back-end -- which is essentially the C++ plugin. It is the browser, it can add JavaScript code, a.k.a. insert JS functions for the webpages to use, and also to implement JS functions. This way, the page [the front-end] can call into Vectorworks and get data. - front-end -- this can be an external site, or locally implemented [as the example shows, using VueJS]. This would use the JS functions provided by the back-end. Python cannot participate in this at the moment. I guess you can simulate by exposing Script functions [IExtensionVSFunctions] in your back-end, and thus delegate a JS implementation, but I think that would not be very efficient, plus you'll need to store state somewhere, between the calls in Python. I would not recommend going down this way. Unfortunately, the SDK is your only way to do your own web-palette. Regards, Vlado
  11. @RonMan I'm trying to reproduce this this, but I don't even see the DebugModule show up when loading, let alone be slow to load. For me it's only Cineware that takes a couple of seconds. Do you still see this? Have you tried what Dave said, run it couple of times and quit it. Does the load speed change?
  12. The DebugModule plugin is a set of tools for third-party development. It has no effect on the features of the application. Vectorworks would work ok without it, unless you want to enable the dev features, from the Partner Install menu. I would rather get to the bottom of why this is a problem, than to advise everyone to delete it. We'll look at what's going on with this.
  13. @MarcusBIMBOT this looks like you are using the examples provided with the SDK. Unfortunately, those are not in good shape. Use the Github examples, there are in much better state. Go to https://github.com/VectorworksDeveloper/SDKExamples Download the entire repo, it is self contained, already setup to compile directly. Then try to compile the project: SDKExamples\Examples\ObjectExample\ObjectExample2023.sln We use Visual Studio 2017 for that version, but I guess the build tools are what you need. It should just compile. Let me know if you struggle, I'll be glad to help you. Sent me an email at: vstanev@vectorworks.net Regards, Vlado
  14. Hi @MarcusBIMBOT, which project from the examples are you trying to build? The depot is setup so you take the entire thing, and open the appropriate solution file for the version you want to use.
  15. Hey @Pat Stanford, @J P, and all, The root of the problem is that the available object variables are only for styles, and in this case you just have a wall. So, the way you get out data from the wall [nowadays] is via QTO functions, in this case it's =ObjectData('fire rating') Here is the modified script that executes the QTO function on the wall in the script: Note: you must do it via a string variable, for EvalStr to work property. It cannot work with direct string as parameter Procedure WallFireRatingForDoor; {August 8, 2023} {February 25,2022} {©2023, 2022 Patrick Stanford pat@coviana.com} {Licensed under the GNU Lesser General Public License} {No warranty expressed or implied. Use at your own risk} {Test before useing on real data} VAR H1, H2 :Handle; R1 :Real; B1 :Boolean; S1, EXP :String; BEGIN H1:=WSScript_GetObject; H2:=GetParent(H1); If GetType(H2)<>68 then WSScript_SetResStr('---') Else BEGIN EXP := 'ObjectData(''fire rating'')'; S1:=EvalStr(H2, EXP); {Execute the Worksheet formula expression on the given handle} WSScript_SetResStr(S1); End; End; Run(WallFireRatingForDoor);
  16. Hi @loic.jourdan, yes 4 years later, we haven't fixed it, But this time we have an active task in R&D under development to address this.
  17. Also you might be better off using Python as a language instead of Pascal. It's just more modern syntax and it has the exact same functions available anyway. Also, it might be easier to use the Dialog Builder to create the Layout (#1 above) as it gives you a way to test and fine tune the layout, especially when it becomes more comples: https://developer.vectorworks.net/index.php/SDK:Dialog_Builder Here is some basic information on the dialog builder: https://developer.vectorworks.net/index.php/SDK:Dialog_Builder_Samples
  18. Some explanations: First, a Layout Manager dialog in Vectorworks is composed of two parts: 1. Creation -- code that creates the controls and their layout by defining what lies below or to the right; 2. Handling -- code that defines what the dialog does, i.e. receives messages from the controls So typically, you'll have two functions for the two parts, and typically you'll have constants for the variables so you can follow the two parts easier. You can see, the example above catches the event from the OK button (which has always index of 1) and retrieves the values from the controls. Note, here you used Real control, but maybe it would be better to use a 'dimension' control, which is aware of units. Notice how the edit control has a type of what the real value actually is: https://developer.vectorworks.net/index.php/VS:CreateEditReal Also see here for another example: https://developer.vectorworks.net/index.php/VS:RunLayoutDialog
  19. @JoshRula Here is your code, modified, working to show how to get two values out from the dialog on OK: {CABINET BUILDER V0.1} PROCEDURE CabinetBuilder; CONST kRealType = 1; kDimType = 3; VAR dialogID : LONGINT; width, height : REAL; {dialog data} FUNCTION CreateDialog : LONGINT; VAR builderDialog:LONGINT; BEGIN builderDialog:=CreateLayout('Cabient Builder',false,'Build','Exit'); CreateStaticText( builderDialog ,1,'CABINET BUILDER V0.1',-1); SetFirstLayoutItem( builderDialog , 1); { ********** TAB CONTROL ********** } { Tab Group 1} CreateGroupBox(builderDialog , 5 , 'Cabinet Specs' , FALSE); CreateStaticText(builderDialog , 6, 'WIDTH',8); SetFirstGroupItem(builderDialog ,5,6); CreateEditReal(builderDialog, 7, kRealType, 0, 4); SetRightItem(builderDialog , 6,7,0,0); CreateStaticText(builderDialog , 8, 'HEIGHT',8); SetBelowItem(builderDialog , 6,8,0,0); CreateEditReal( builderDialog , 9, kRealType, 0, 4); SetRightItem(builderDialog , 8,9,0,0); CreateStaticText(builderDialog , 10, 'DEPTH',8); SetBelowItem(builderDialog , 8,10,0,0); CreateEditReal( builderDialog , 11, 1, 0, 4); SetRightItem(builderDialog , 10,11,0,0); CreateStaticText(builderDialog , 12, 'KICK',8); SetBelowItem(builderDialog , 10,12,0,0); CreateEditReal( builderDialog , 13, 1, 0, 4); SetRightItem(builderDialog , 12,13,0,0); CreateStaticText(builderDialog , 14, 'DOOR(S)',8); SetBelowItem(builderDialog , 12 ,14,0,0); CreateEditInteger( builderDialog , 15, 2, 3); SetRightItem(builderDialog , 14,15,0,0); {Tab Group 2} CreateGroupBox(builderDialog , 16 , 'Material Specs' , FALSE); CreateStaticText(builderDialog , 17, 'Material Thickness',8); SetFirstGroupItem(builderDialog ,16,17); CreateEditReal(builderDialog, 18, 3, 19mm, 8); SetRightItem(builderDialog , 17,18,0,0); CreateStaticText(builderDialog , 19, 'Laminate Thickness',8); SetBelowItem(builderDialog , 17,19,0,0); CreateEditReal( builderDialog , 20, 3, 0.039", 8); SetRightItem(builderDialog , 19,20,0,0); CreateStaticText(builderDialog , 21, 'Kick Set Back',8); SetBelowItem(builderDialog , 19,21,0,0); CreateEditReal( builderDialog , 22, 3, 4", 8); SetRightItem(builderDialog , 21,22,0,0); CreateStaticText(builderDialog , 23, 'Door Gap',8); SetBelowItem(builderDialog , 21,23,0,0); CreateEditReal( builderDialog , 24, 3, 0.125, 8); SetRightItem(builderDialog , 23,24,0,0); { Create tab control } CreateTabControl( builderDialog , 100); SetBelowItem( builderDialog , 1, 100, 0, 0); { Add the tab panes } CreateTabPane( builderDialog , 100, 5); CreateTabPane( builderDialog , 100, 16); CreateDialog := builderDialog; END; PROCEDURE HandleDialog(VAR item : LONGINT; data :LONGINT); VAR ok : BOOLEAN; BEGIN IF item = 1 {OK button} THEN BEGIN ok := GetEditReal( dialogID, 7, kRealType, width ); ok := GetEditReal( dialogID, 9, kRealType, height ); END; END; BEGIN dialogID := CreateDialog; IF RunLayoutDialog(dialogID,HandleDialog) = 1 {OK} THEN BEGIN { the dialog was closed with ok} AlrtDialog( Concat( 'Width=', width, ' Height=', height ) ); END; END; RUN(CabinetBuilder);
  20. Oh wow, I haven't heard about this. Can you enter a JIRA with your workspace file that causes this? I wasn't able to reproduce it immediately. or you can send me the file over to vstanev@vectorworks.net, and I'll file it, to get fixed
  21. Yep, I reproduced it too. Same problem but in the file execution, and thus not affected by the debug-mode option. Will be fixed in Vectorworks 2024. Thank you @twk!
  22. FYI, I found the bug and it will be fixed in Vectorworks 2024. Then the 'developer mode' option would not cause crash in these python-execution-suspend situations.
  23. @Danilo there is this power user script function available, that can help you mass edit plant styles in a drawing. It has a UI but it might not be "easy" to use as it's not really a feature, but more a power tool. You can give it a try to see if it will work for you at all, but. be careful as it's not official feature. The plan is to make this a user feature in the future. Make a document script and type in the following VectorScript: MassEditPlantStyle('');
  24. @Kaare Baekgaard I might be misunderstanding it, but this animation looks like edit convenience. Both nurbs are standard (rudimentary) besier [from what I can see] but the mode allows editing the two curve vertices around a corner vertex at the same time, giving you the chance to preserve smoothness through the corner vertex. But I do understand that this is a convenience, that would be nice to add to our tool too.
  25. Hi @Piotr Karczewski, thank you for the feedback. At the moment, it's not possible, but the topic is actually active for us, so we'll consider your wishes.
  • Create New...