Jump to content

Pat Stanford

Moderator
  • Posts

    12,593
  • Joined

  • Last visited

Everything posted by Pat Stanford

  1. Page Based symbols are designed to always display at the same size on a page. So if you have a drawing label of some type, it will display the same size on a page at 1:1 scale as on a page at 1:20 scale. World based symbols adjust based on the scale of the layer they are on to always be the same "drawing world" scale. So if you have a toilet to proper scale it will display properly in both the 1:1 and 1:20 scale and look much larger in the 1:1 layer. It is likely that you clicked the Page-Based radio button when you created the symbol. You can right click on the symbol in the drawing and choose Locate Symbol in Resource Manager. Then go to the Resource Manager, and right click on the symbol definition and choose Edit Symbol Options. From there you can change the symbol from Page to World (or visa versa). You might want to try in a test file first to figure out what scale you want to be in when you make the change to get it to work right for you.
  2. You can pick a Size with the appropriate dimensions from the Page Setup dialog box. Or if you click the Printer Setup button, you can then choose the paper size and orientation from there. But that works best if you have a printer that supports the final paper size you want to output on. If you send your plots out, it is less useful.
  3. The following worksheet script will return the component index of the first component in a wall that has the Function specified by the passed integer. Put this in a database and it will give you the Load-Bearing component of each wall. Use that returned value in a =ComponentName() function to get the name. You may want to put the Index into a column that can be hidden. This script can be run in any file that it exists in. If you want to get fancy, you can slightly change the way the script is called and store it as a text file accessible from any VW file. Copy and paste everything in the code block below into a new black script file (from the Resource Browser). Make sure the script is named ComponentIndex. Use the function =RunScript('ComponentIndex',1) to get the Load-Bearing component index. If you put this in database cell C3, then set C4 to =ComponentName(C3) to get the name of the component. Ask again if you have more questions. Procedure ComponentIndex; {July 11, 2019} {© 2019 Patrick Stanford pat@coviana.com} {Licensed under the GNU Lesser General Public License} {This is intended to be run as a worksheet script and to} {return the first component number that has the function} {indicated by the integer values below} {That retuned component number can then be used to lookup} {the ComponentName.} {Run using a WS call of =RunScript(ComponentIndex,1) to return} {the component number of the Load-Bearing component.} {Pass the values below to the WSScript to get the componet with that function 0 - Other 1 - Load-Bearing 2 - Insulation 3 - Inner Finish 4 - Outer Finish 5 - Air Gap } Var WallH:Handle; B1:Boolean; NumComponents,N2:Integer; ComponentFunction:Integer; ThisFunction:Integer; Begin WallH:=WSScript_GetObject; ComponentFunction:=WSScript_GetPrmInt(0); B1:=GetNumberOfComponents(WallH,NumComponents); For N2:= 1 to NumComponents do Begin B1:=GetComponentFunction(WallH,N2,ThisFunction); If (ThisFunction=ComponentFunction) then WSScript_SetResInt(N2); End; End; Run(ComponentIndex);
  4. I don't know if you know about editing data tags or not, so I am going to go step by step. 1. Start with a Tag Style that you like. 2. Select the Tag and convert to Unstyled. 3. Click the Edit Tag Layout... button at the bottom of the OIP (will only be active with an unsettled tag). 4. If you want an additional piece of text add it as a placeholder and leave selected. If you want to reuse the existing piece of text select it. 5. You should have it say Text in Tag Layout in the OIP. 6. Make sure the Use Dynamic Text check box is selected in the OIP and click the Define Text Field... button. 7. In the Define Tag Field dialog box, make sure the Calculated Field radio button is selected. 8. If there is already anything in the Current Tag Field Definition, delete it. 9. Set the Data Source to Object Parameters. 10. Set the Object Name to Door - #Door# 11. Set the Parameter Name to Door Fire Rating - #DoorFR# 12. Click the Add to Definition button. 13. Click the OK button 14. Click the Exit Tag Layout Edit button at the top right. 15. If it does not look the way you want, go back and edit again. 16. Once it looks like you want, choose the Style Pulldown from the OIP and choose New Plug-in Style from Unstyled Plug-in. 17. The style is now only in this file. Use the Resource Browser to put it into a Favorite or even better into the Default Content (directions elsewhere on the forum) Ask again if you need additional help.
  5. It appears that Vectors are 3D as are Point3D. I think those are interchangeable. Point only has X and Y and is what is required in this case. Check out the Vectorscript Language Guide for more information.
  6. Points and 2D Vectors are the same. 3D Points and 3D Vectors are the same. My understanding is the have been given both names so as to not confuse people who are using them for different purposes. Someone who is trying to specify a point in space would think about using points. Someone who is trying to descriptor the motion of an object through space would use a vector. They both are just a combination of real values along the X/Y/Z axis.
  7. @Julian Carr That was the first think I checked also. As @WhoCanDo says, it is in the VW2019 downloadable reference. But it appears the reference is wrong. The function does not take 4 reals for the x/y coordinate, rather it takes two Points. The following works. Procedure Test; Var H1:Handle; PT1,PT2:Point; Begin PT1.x:=0; PT1.y:=4; PT2.x:=0; PT2.y:=0; H1:=Mirror(FSActLayer,True,PT1,PT2); End; Run(Test);
  8. Show/Snap and Show/Snap/Modify are set for all visible layers, not for a specific layer, so if you are trying to select objected that are note on the Active Layer, you have the possibility to select the bitmap aerial. Either switch to Show/Snap and switch the active layer to the one with your contours or be more careful and make sure you have the Pre-Selection highlighting turned on and that you are actually clicking on the contours. You might also try locking the bitmap aerial so you don't accidentally move or edit it.
  9. I certainly think so. I end up answering a question like this almost monthly. There are certainly some benefits to the programmer doing it this way. If they were formatted as a number they would have to deal with what to do when someone changed that number from the worksheet or else the number in the worksheet would be different than what the object requires. This was handled in the Space object by adding a second field that had the numeric version as well as the canonical text version. If the numeric version was changed it would just reset back to match the text version the next time the object was reset.
  10. It is as I suspected. The TTLRopes field is formatted as text. Change the formula in cell E2 to: =VALUE('Rope and Stanchion'.'TTLRopes') This will give you a numeric version that can be totaled.
  11. I have not looked at it in a long time, but it used to be that the Issue and revision data were stored in a record.filed combination, but in an almost unusable format in a worksheet. Each issue of revision had multiple fields that were named differently for each separate issue (something like date1, date2, date3, name1, name2, name 3...) While you could put these into a worksheet, they would not line up with all of the dates in one column, names in another, etc. If you did the work get them to line up, you still would not be able to edit them from the worksheet. I gave up on trying to use a worksheet for editing revisions.
  12. Total guess here, but based on the Left alignment of the numbers in column E and the count in the header row of E2=3, it looks like they are formatted at text instead of as numbers. Try changing them to be formatted as numbers (Worksheet Format menu:Cells, Decimal with 0 decimal points). The Header Row (E2) should give you the sum of the numbers in the column. If you want to be able to hide the header row, you can still access that data. Just set E4 to =E2.
  13. Would you be willing to have one column showing the mm value and another showing the feet-inches? If so, I think we can come up with a work around.
  14. For the benefit of others, what solution did OzCad suggest? My suggestion is that since all of the records have the same fields, to use a single record format, possibly modified from your current format to include a field to specify the light type. If you only have a few different record formats, you could use IF statements to get what you want (both in the criteria and in each field), but the single record format will be a much easier way to pull the data from the different light types into a single schedule.
  15. You should be able to do this in Vectorscript. I don't know enough about Marionette to know if you can do it there or not. Check out the VSOWidgetPopupAdd command. With that you should be able to get the data from the first popup and use that to filter the items that you pass to the second popup. I have some other information I will send you off line.
  16. Have you tried formatting the cell as a Dimension? Worksheet Menu:Format:Cells...:Number Pane. Dimension. The style of the dimensions will be set in the Document Preferences.
  17. I don't have a list of error codes, but after a few minutes of playing I think it is the -1 path that is the problem. It appears based on comments on the developer wiki reference list that you can't access the 1 and 12 (Applications folder and User App Data) folders. When I try I get the -1028 error. Try -15 for now. This is the Settings folder in the User Library:Application Support:Vectorworks:2019:Settings. It appears to create the file with no problem there.
  18. Unfortunately, there is no super easy way to do this in VW. You can use the Deform Tool in the Bend mode to make the band match the Extrude, but the bolts won't move with it when you bend it. Zoom close in on bend shape and draw a line across the bent bar using the edged of the holes as a guide to get the angle of the hole. Use that angle to Rotate each fastener/assembly to the correct angle and then move into place. The Move By Points tool is a good way to do the move. you just need to make sure you zoom in or use the Snap Loupe to get the correct points. A move and rotate to perpendicular tool would be a nice wish to request.
  19. What are you trying to do? Can you use CallToolByName instead? Then you don't need the index.
  20. Welcome to Vectorworks! Everything is working exactly the way it is supposed to! Now we just need to help you wrap your head around what that way is. Symbols Instances in drawings are effectively a link to the Symbol Definition. If you change the Symbol Definition, every Instance changes to match, but keeps it's original position and rotation. So, if you have a chair symbol and there are 8 of them around the table, and you decide you don't like something about the definition (color, line weight, round vs square, etc.) when you change the Symbol Definition of that chair, every instance in the drawing of that symbol changes. Extremely useful. And sometimes extremely annoying when that is not what you really wanted. So in your case to generate symbols with different numbers of chairs, you need a way to break the link between the Symbol Definition and the specific Symbol Instance that you want to change. Under the Modify Menu:Convert is a command named Convert to Group. This will take the current selected symbol and make a group out of it in whatever view you are currently in. (If you only have a single object selected, it will not make the group but rather just convert it to a single object). You can then edit the group (and probably Ungroup it) and then make a new symbol from the objects. If you have a Hybrid Symbol (contains both screen plane and 3D objects), the Convert to Group will only get you the 2D (Screen Plane, Top/Plan) view or the 3D objects, but not both. You can either duplicate the symbol and Ungroup it in Top/Plan and some other view, or you can find the symbol in the Resource Browser, select it, right click and choose Duplicate. This will give you a duplicate of the original symbol. Select it, right click and rename to something that makes sense. Right click again and Edit the new symbol. You can edit both the 2D and 3D aspects of the Symbol Definition separately from the Resource Browser. Once you have a new Symbol Definition, select the original symbol and choose Replace in the Object Info Palette (OIP). This will let you select the Symbol Definition to use for that Symbol Instance. The insertion point and rotation of the replacement Symbol Definition will be the same as the original Symbol Instance. If you really want to get fancy, you could use Marionette or Vectorscript (Pythonscript) to generate a PlugIn Object that would let you enter the number of chairs in the OIP, but that is definitely a discussion for another thread and probably many hours of work. If this is not clear enough, please ask again.
  21. I think there are only two logical functions that can be used. & AND (Ampersand) | OR (Vertical Bar, not capital I or lowercase L) * (Star) is used to represent one or more wildcard characters. I have not tried, but ? (question mark) may work for a single wildcard character.
  22. My understanding is that different criteria (Layer or class or record.field, etc.) are all ANDed together. Multiple instances of the same criteria (all the Layers for instance) are ORed together. There is not way to specify any different setup other than to manually edit the criteria in the formula bar. Yes, there should be a better criteria editing system in general.
  23. If you were bringing something into Vectorworks and it did this I would say that Cubic Spline Smoothing was turned on. I don't know enough about Sketchup to know it there are smoothing options or not.
  24. SetDropShadowByCls( h:HANDLE; byClassValue:BOOLEAN) ; Sets the check box for Use Class Drop Shadow in VW2019, but there seems to be a bug as the shadow does not actually display until you hit the Edit Shadow button in the OIP. I have tried the usual tricks of ResetObject and RedrawAll, but none of them cause the shadow to draw until you click the Edit Shadow button. It does not even matter if you click OK, as long as the dialog opens, the shadow draws when it closes.
  25. Thanks @Peter Vandewalle I thought I was going to have to search the archives for this 😉
×
×
  • Create New...