Jump to content

Pat Stanford

Moderator
  • Posts

    12,617
  • Joined

  • Last visited

Everything posted by Pat Stanford

  1. Thank you Hughes. You are correct the the number of digits vs the number of decimals was what I was not understanding. @ashot It looks like you are stuck with 11 decimal places if your integer part is 2 digits or 10 decimals if the integer part is 3 digits.
  2. My standard answer: No and Yes. No. I don't think there is a way in data tag notation to dynamically do the math to determine a cell value like you are trying to do. There does not seem to be a way to force a calculated string to be treated like a function. If you only have a few Beams, it might be reasonable to do a series of nested IF statements, but more than 5 or 10 and your string would probably exceed the maximum formula length. Yes, Maybe you could write a worksheet script that would be able to do what you want. But that script would have to live in every file or be stored in your user or workgroup folder and moved/upgraded every time you upgrade VW.
  3. The Drawing Label does not allow you to access the Viewport Name. But you can get it in a Data Tag using the #N# definition. If you name your viewports as you create them, the Viewport Name is stored in the Drawing Number field. This can be accessed using the #Drawing Label2#.#Drawing# definition. If you rename the viewports later the name is not automatically transferred so you would have to edit it in both places or copy/paste between the two.
  4. Highlight a part or all of the text of a post and you will get the Quote Selection prompt which is close to what you want about replying to individual answers.
  5. The ones where Select Object are greyed out are likely to be lines where you have multiple objects SUMmarized together. Select Object only works if you have a single object in the database subrow.
  6. Thanks Vlado. But I think TXT has a limitation also. =TXT((B7+0.0000000000001), 'Decimal', '0.0000000000000000000000', 'No Units', 'Trailing Zero') Where B7 has a number with an accuracy of 11 decimal points. Adding the 1 in the 13th decimal place still displays only 11 decimal points even though I have the TXT set to specify 20. It also seems to ignore the Trailing Zero parameter. If you set TXT to use scientific notation 'Sci", then you get more decimals, but they are wrong. B7 is the number in B2. B8 is the number in B2 set to display as Text. B9 is the TXT with Decimal output. B10 is TXT with the output set to Sci.
  7. Simple answer is no. There are no worksheet functions to display the multiple pop-up choices. More detail about what you are trying to do and it MAY be possible with a worksheet script. Here is one that takes the Record and Field names as parameters and returns the popup values. Procedure PopupDefaults; {©2024 Pat Stanford - pat@coviana.com} {licensed under the Boost Software License 1.0} {https://github.com/boostorg/boost/blob/master/LICENSE_1_0.txt} {TL/DR Use as you want, attribution for source, No warranty} {Worksheet script to provide all popup values of a Record.Field. Maximum of 50 PopupSetChoices} {Run in worksheet using =RunScript('PopupDefaults','Record Name', 'Field Name2Index} {Set to separate values with a colon as with defatul row height only the first value shows} {Change the middle of the For N2:= line from ' : ' to CH R(10) (without the space) to put on separate lines} VAR Rec, Fld, S3:String; N1,N2:Integer; A1: Array[1..50] of string; BEGIN Rec:=WSScript_GetPrmStr(0); Fld:=WSScript_GetPrmStr(1); PopupGetChoices(Rec, Fld, N1, A1); S3:=A1[1]; For N2:=2 to N1 DO S3:=Concat(S3, ' : ', A1[N2]); WSScript_SetResStr(S3); End; Run(PopupDefaults); @Jeff Prince are you a magician? I was 30 seconds from posting when your post came through. But then the Forum bug that won't let you use certain (CH R) text strings in a post caught me. 😉
  8. Do you want the value of the field for a specific object? Or do you want the default value of the field for that record? If you were working in Database cells, then the object would be already defined and all you need to do is display the value from the attached record. But since you are in a Speadsheet cell you will also need to define which object to use the record from.
  9. What is wrong with the image on the right? It seems to be providing the value? Or it providing the value for only one of the spaces? Do you have the Sum Values box checked in the database header for that column?
  10. IF you typically wait 8 years to replace your laptop, spend the money and get the higher RAM. While you might be able to get by with 18, I don't think you will enjoy it especially with lots of VW/Chrome tabs and PS open. And even if it works today, in 4 years the memory demand of programs will probably be greater and you will be even less happy. Get the higher RAM.
  11. It appears that a VW Worksheet only supports 11 digits after the decimal point. @Vlado Can you comment on this? If you format a cell as Decimal you can specify additional digits for display, but I was not able to find a way to enter those digits. Apparently 8 digits in Lat/Long is adequate to get millimeter accuracy. Do you really need more than that? As for your other question about Why E2 + F2 was returning a number. Formatting a cell as text does not change what is actually stored in the cell which in this was was a number. So you can use the + sign to add the values. =CONCAT(B9, ', ', C9) Will take a number with up to 9 decimal places in the cells, or text in the cells and return them in a single cell separated by a comma. If you format a cell as a Decimal Number with a certain number of decimal places and then convert the display of the cell to Text, the text will use that number of decimal places (up to 11). HTH
  12. And a note on the above. If the cells you are trying to reference are in database subrows, the above will not work as you can't directly access a subrow because they are "dynamic" and the sort order (and the cell reference) could change based on adding or removing objects from the drawing. If you have to use a database, it might be possible to use a Worksheet Script to locate and access the data, but the script would have to live in every file you want to have the funcationality in or be stored in your user / workgroup folder and updated every time you upgrade VW.
  13. If you are using Worksheet Cells then you can use a #WS_ function to return a cell value into a data tag. #WS_Concat('Worksheet-1':A1)# I used Concat because it will grab the text from the cell and display it as text even though it is only a single value. If your output is numbers and you need to have specific formatting, you might be better off using the TXT function instead as it provides options for setting unit and data formatting. Enclose the worksheet name in single quotes and then follow that with a colon and the Cell Reference not in quotes. Worksheet function reference here: https://developer.vectorworks.net/index.php?title=Worksheet_Functions#General
  14. I have not used a Windows machine in more than passing in over a decade, so I don't know HOW to do it. I only know that there have been several people complain about poor VW performance who it was determined that VW was using the "wrong" video card.
  15. Do you have Snaps as one of the options in the Smart Options display? If so perhaps that is how/why snaps are "randomly" getting turned on/off by accidentally clicking on the SOD?
  16. I think the Edit Title Block Layout is greyed beause it is set by the Style. Click and hold on the Style popdown and one of the options should be to Edit Style. From there you should be able to Edit TB Layout and check that the placeholder text is linked to the TB Project fields.
  17. Check and make sure that VW is set to use the NVIDIA card and has not gotten switched to the low power built in graphics. Not certain how you do this on Windows.
  18. I believe that Associative Dimensions only work with 2D and Hybrid objects in Top/Plan view. So if you are trying to dimension objects in other views or non-hybrid objects, you are not going to get Associative. Associative dims will show a small green square at the points they are associated.
  19. For the rotation, I think you will have to edit the symbols and rotate the objects in them to be horizontal in the definition. Which means that you will have to edit every place you use them in your drawing. For size, you can select the database header row cell and edit the Cell formation for Image. Best option will probably be fixed size, but that will make your different length poles all show the same. Maybe you want to use the Layer Scale or a Fixed Scale, but I you have objects that are very different sizes in the drawing then some of them will probably appear too large or too small. The image functions work best with objects that are all of similar sizes.
  20. But Copy/Paste into a record format would be easier than a popup that you had to manually click for every door you needed to change in any case.
  21. That is wireframe mode. Go to the View menu: Rendering and choose Shaded
  22. There are a number of WS Functions that you can't pass criteria to in Spreadsheet cells. RunScript and standard Record.Field are the two most obvious and ones that could be made more useful by having a way to pass criteria. And I think the ObjectData - 'Universal Value' kind of supports criteria for Record.Field but as we said in the other thread, it is currently hindered by not handling compound criteria. Maybe Someday.
  23. A Database SubRow (unless it is SUMmarized) and a Data Tag both return a reference to a single specific object. In this case of the Data Tag, that reference is to a Worksheet Image. Once you have the handle to the Image you can get the Handle and then the name of the parent Worksheet object. In a Database subrow, since the objects returned (except for the special case below) are not Worksheet Images, there is no way for a script to know what environment it is running from. So a worksheet script can't say "I'm running inside of Worksheet XYZ" (actually it could, but it does not do that now). So since you can't get the handle to the worksheet, you can't get the name of the worksheet either. The special case would be a worksheet which had a database row with a criteria of Object Type is Worksheet Image. In that case you could probably get the Worksheet name for each image. And maybe you could do some trickery in the criteria to only return a single Worksheet Image that happened to be an image of the worksheet producing the image and be able to get the worksheet name. But as I was once told: If you want to play be my guest. Create a worksheet with a database row returning Worksheet Images and see what it would take to get the criteria set to only show a single image. You could then use a =RunScript('WSNameToTag') script from above to return the actual worksheet name from the resource manager. I think the effort to define the criteria would be much harder than just typing in the name. But maybe if you only had one worksheet on each layer and could use just a layer criteria it might work, Good Luck.
  24. Database rows can be sorted by any column by clicking the disclosure triangle in the database header row for that column and choosing Ascending or Desending. You can sort by Multiple Columns, but you may have to remove the sort and replace them if you want to change the sort priority. There is no sort capability for Spreadsheet rows.
×
×
  • Create New...