# Pat Stanford

Moderator

5,706

716 Spectacular

## About Pat Stanford

• Rank
Vectorworks Veteran

## Personal Information

• Homepage
• Location
El Segundo, CA, USA

## Recent Profile Visitors

4,877 profile views

1. ## symbols in geometrical boundary count via tag

And to add to the complication, LOCs can be overlapping. And a smaller LOC inside the larger LOC may be counted as an object inside the LOC. The number of objects within the LOC is not an issue. The issue if the number of LOCs. What about a separate database for each LOC? They can be in contiguous rows so you only need a single label row above them all. It would take manual editing of the criteria row, but you could specify a cell (or range of cells) that would contain the LOC names so you could change them without having to change the actual criteria. Or a script to set the database formulas based on a list of location names? Lots of ways to skin the cat. =IF(((LOC<>'Zone 3')), 'Other Zone', 'Zone 3'). works for me in Column D. With the double sort I get 7 for 1a and 3 for 1b in other zones and 2 for 1b in Zone 3. Your criteria is for both lights and Light labels, so you have more than the 12 lights that are being counted.
2. ## symbols in geometrical boundary count via tag

Nope, Loc is a one way criteria. You might be able to do it with columns Set the criteria to be just Lights. Enter a formula in Column C of =((LOC='Zone 1')) Enter a formula in Column D of =IF(((LOC='Zone 2')), 'Zone 2', 'Not Zone 2') Enter a formula in Column E of =Count These show you can use LOC to get the LOC an item is in, but you need to use the IF to report the name. If you are only going to have 3 zones you could reasonably use a nested If to get a single column that would display the Zone name. If you get beyond 5 or 10 then nested IFs will be a nightmare. If you Summarize first on the Instrument type in Column B. Then Summarize by Column D. You should get a count for each instrument type in Zone 2 and Not in Zone 2. Try it and ask again.
3. ## How to shrink down tool set????

If the palette is docked, hover over the thin grey bar between the drawing window and the palette. The cursor will change to a left/right double arrow. Click and drag the grey bar to make the palette narrower. If the palette is not docked, hover over the bottom right corner. The cursor will change to a upper left/lower right double arrow. Click and drag the corner of the palette to resize.
4. ## Dual Units for Dimensions

Once you set the Dim Standard to be Dual Dimension, you can then choose Both/Primary/Secondary for which value to show.
5. ## 2D Topographical Survey Levels to 3D and Site Model

Post the script you have and a small sample file with about 10 of the spot elevation objects and perhaps we can make it work. A script to take the value of a text object and create 3D loci using the text as the Z-value sounds familiar, but I can't find it in my archive right now.
6. ## symbols in geometrical boundary count via tag

Thanks Samuel, I am nearly always up to help anyone who wants to learn to script. I specifically tried to write this one as a tutorial so you and others can see some of what is possible. The biggest trick that I failed to point out is building the entire Criteria string into S1 before using it. Most functions don't handle criteria that only partially includes a variable very well, but if you build the entire sting into a single variable they work just fine. For many of these types of functions ForEachObject is the best way to go. That way you can write a very simple Execute function to only operate on a single object at a time. You do need to be careful about getting your Global and Local variables declared and used properly. Since H2 is declared as part of Execute, it will not have a valid value after Execute returns. Since TheCount is declared globally, it is persistent through each run of Execute. And be careful of non-serif fonts. 😉. I used to use a procedure name of DoIt. Until someone read it with a SansSerif font and thought I was insulting them.
7. ## Dual Units for Dimensions

Bruce I think you need to give more information about what you do what. Based on your comment, I have no idea of what you are trying to do other than to dimensions objects using different units. Why are Dual Dimensions and turning off the Primary or Secondary to only display the one you need not enough?
8. ## Data Tags going blank

Next time you see this, see if this script resets the DataTags. Procedure ResetDataTags; {January 22, 2020} {©2020 Patrick Stanford pat@coviana.com} {Licensed under the GNU Lesser General Public License} {Script to reset all DataTag objects in the drawing.} {Edit criteria to limit scope} {No warranty expressed or implied. Use at your own risk.} {Backup and test for suitabilty for your use.} {Here be Dragons. For external use only.} Procedure Execute(H2:Handle); Begin ResetObject(H2); End; Begin ForEachObject(Execute,((R IN ['Data Tag']))); End; Run(ResetDataTags);
9. ## Adjust Flipped Text

@DBruhnke Your statements above pretty well match with my understanding. In the initial case, since the text was being generated as part of a PIO (Title Block Border) every time the PIO was regenerated effectively the text was recreated. Which meant that since @Andy Broomell needed Adjust Flipped Text to be on, there was no way to exclude the one piece of text that he wanted flipped. That is where the 0.02° off of square makes a difference. I am pretty sure you understand that, but I often use the Forum as part of my external brain, so I try my best to document the Why in most of these threads as well as the how/what.
10. ## Energos Worksheet Reference Information

I seriously doubt that anyone has gotten this into a worksheet. Since it is not related to an object, the worksheet will not be able to see any of the data. A quick search did not turn up an easy way to get the information with a script either. So a script to write the data to a worksheet is also probably out. I would love to be proven wrong. 😞
11. ## Window Schedule Report: how to call up thickness of wall

Try this script. What shall we name it? I recommend naming it PIOWallThickness, but Bob is also nice. Let's use Bob. Create a script Palette (probably one that will never be open and will just serve as a holding place in the file for worksheet scripts) it does not matter what the palette is named. Create a new script in the palette and name it Bob. Copy the entire script from the code block below and paste it into Bob. Go to your window schedule and add a new column. Enter a formula of =RunScript(Bob). You will get a dialog box asking for permission to run scripts. Click Allow or Always Allow. I recommend Always Allow or else Bob will drive you crazy every time you recalculate the worksheet. You should now end up with the thickness of the wall that the window (or any other PIO inserted in a wall) is inserted into. It will also tell you if a PIO is not inserted in a wall. Procedure PIOWallThickness; {January 22, 2020} {©2020 Patrick Stanford pat@coviana.com} {Licensed under the GNU Lesser General Public License} {Worksheet Script to return the thickness of the wall an object is inserted into} {No warranty expressed or implied. Use at your own risk.} {Backup and test for suitabilty for your use.} {There be Dragons. Disconinue use if headache of more than 4 hours occurs.} Var H1,H2 :Handle; R1 :Real; B1 :Boolean; Begin H1:=WSScript_GetObject; {Handle to object specified by database row} H2:=GetParent(H1); {Handle to the parent of the H1 object} If GetTypeN(H2)=68 then Begin B1:=GetWallThickness(H2,R1); WSScript_SetResReal(R1); End Else WSScript_SetResStr('Not in Wall'); End; Run(PIOWallThickness);
12. ## Data Tag says no eligible object is selected

The actual permanent solution is to decide if you are using ifdwall or ifCWallStandardCase as the pSet for your file. Pick the one you want, set all the walls to that pSet and then edit the Tag to look for that record and you should be all set. Or maybe you have to have Tags set up for each of the two pSets and make sure you choose the correct tag for the pSet in use.

14. ## Can I Change Sheet Size and Title Block without Re-Entering all Sheet Info?

If I am reading what you did correctly, then it is the fact that you created different custom records that is the problem. You should be able to use a single record format. Then when you change the TBB Style it will keep all of the record information and just change the display. If you change to a different Record Format, you can lose data.
15. ## Vectorscript Function Extension?

Yeah, I see there is an example, but I can't even tell that it is really an example. Does it actually do anything? Can it be compiled and installed and actually called? This is probably the 6th time I have looked at the SDK and I have never been able to figure out enough of it to even do a "Hello World" object. GRRRRR. The docs just don't work with my brain.

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×

• KBASE
• #### MARIONETTE

×
• Create New...