Jump to content

Vlado

Vectorworks, Inc Employee
  • Posts

    653
  • Joined

  • Last visited

Everything posted by Vlado

  1. ... scaling problems are typically due to incorrect coordinate system, but the WKT looks the same. Maybe you can getting more points and plotting them in Vectorworks to see how they relate to the imported image. This will give you more confidence that it's not the WKT. Another way might be if you export a shapefile with prj file, and then import it in Vectorworks in a new file [so that it sets the Georeferencing]
  2. @PNWPaul I was able to import it somewhat where it is supposed to go, but unfortunately it is not perfectly fitting. And I'm not sure what's wrong. Anyway, here is what I did: ok, so these are called cartesian coordinates (i.e. easing and northing). 1110896.65E 1313006.9N Note they are measured in linear coordinates, where lat/long are measured in degrees. After I setup the Vectorworks drawing geo-referencing with the WKT above, these cartesian coordinates gave me: -48.91273585 lat -122.070105424 lon These checks are very easily done in Vectorworks using the Stake tool, and the .Set Geolocation" button. Then with the Geoimage, it all seems to line up to your image from the original post: Then I was able to import the .las file, making sure the center checkbox is off, and select Feet for units as this coordinate system uses feet (note, it doesn't really matter what units the Vectorworks document is in) Then the image didn't fit at all, it was way to far, and comparing the location of where it should be to where it is (in cartesian coordinates) it seems like it's off by scale of 1000. So then I just scaled the Point Cloud object by factor of 0.001: And that put it at the stake point, but it is still slightly off from the geo-image background: I have no idea why this is happening. I'll keep poking it, and see if something comes out.
  3. @PNWPaul It looks like EPSG:4152 is not the correct coordinate system, as it looks like this is only spherical coordinate system. The images you provide shows a projection added to it, but it is not clear what is the EPSG if that projection. I managed to pull the data out from the image and setup this WKT that is based on EPSG:4152 spheroid plus the projection parameters from your images. See below for the text of it. However, I'm still not able to align your file with it, as it's not clear what units the LIDAR file is using. Yes, it should be automatic, but it should be possible to be done manually. I've tried several settings but shouldn't guess it. Do you know the latitude and longitude of the location where the file is supposed to be? That can give us a clue what are the correct unit configuration. Regards, Vlado PROJCS["custom", GEOGCS["NAD83(HARN)", DATUM["NAD83_High_Accuracy_Reference_Network", SPHEROID["GRS 1980",6378137,298.257222101, AUTHORITY["EPSG","7019"]], AUTHORITY["EPSG","6152"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.0174532925199433, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4152"]], PROJECTION["Lambert Conformal Conic"], PARAMETER["latitude_of_origin",45.33333333333334], PARAMETER["central_meridian",-120.5], PARAMETER["standard_parallel_1",45.83333333333334], PARAMETER["standard_parallel_2",47.83333333333334], PARAMETER["false_easting",1640416.667], PARAMETER["false_northing",0], UNIT["foot",0.3048, AUTHORITY["EPSG","9002"]], AXIS["Easting",EAST], AXIS["Northing",NORTH]]
  4. @ashot you can use the TXT function to convert to string: https://developer.vectorworks.net/index.php?title=Worksheet_Functions#Text Example: =TXT(B2, 'General', 'Dec', '0.0000000000000') I'm looking at the other part of the question.
  5. @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.
  6. 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.
  7. @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.
  8. @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.
  9. @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.
  10. @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.
  11. @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.
  12. @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!
  13. @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.
  14. 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
  15. @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?
  16. 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.
  17. @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
  18. 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.
  19. 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);
  20. 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.
  21. 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
  22. 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
  23. @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);
  24. 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
×
×
  • Create New...