Jump to content

Pat Stanford

Moderator
  • Posts

    12,705
  • Joined

  • Last visited

Everything posted by Pat Stanford

  1. I can force this to happen if I go to Page Setup the click the Printer Setup... button. From the second Page Setup dialog box, on the Page Attributes settings I have a Scale at the bottom of the page. If I set that to 50%, then the drawing only fills the top/left 1/4 of the page. There is also a second Scale setting. From the same dialog box choose Vectorworks from the dropdown at the top choose Vectorworks. If I set that to 50%, then I get a small version of the drawing in the center of the PDF page. Let us know if this helps.
  2. Unintentional, but still funny now that I think about it. Hope you are well.
  3. You are welcome. I figured the short version answer would be enough for you. 😉
  4. Kind of, but I have run out of time to play tonight. SetObjectVariableBoolean(FSActLayer,29, False); SetObjectVariableReal(FSActLayer,44,1'); ResetObject(FSActLayer); RedrawAll; 29 turn off the Auto Position Text. 44 sets the dim text offset Reset and Redraw are just there to make sure the update shows properly and are probably not needed. But what I am seeing is that negative numbers offset to the left of the witness lines and positive numbers offset to the right of the witness lines (in a horizontal dimension). I have not figured out how to shift it and stay within the witness lines.
  5. Changes to the scale sounds like it is an option in your printer driver to fit to the page. You probably need to set the paper size to match the actual printable area of your plotter. If your plotter needs 10mm margins all the way around (an exaggeration), then rather than 594 × 841 (A1) paper you would specify a drawing size of 574 x 821. Then you should be able to get an unscaled version. As to why they have not added it directly to VW is probably because there are so many 3rd party options for printers/plotter, drivers, and operating systems that all do things somewhat differently that there is not way to come up with a solution that will satisfy most (not even close to all) people. Once you get it set once for your needs you should be set to go.
  6. Can you set a custom paper size in the Printer Setup dialog box for your plotter? Set the custom paper size to be the portrait dimensions and then use One Printer Page in the Size: drop drop menu.
  7. In Vectorscript it would be SetObjectVariableBoolean(ObjectHandle, 6709, True). It should be similar in the SDK.
  8. 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.
  9. 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.
  10. 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);
  11. 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.
  12. 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.
  13. 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.
  14. @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);
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
  24. 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.
×
×
  • Create New...