Jump to content

Pat Stanford

Moderator
  • Content Count

    5,800
  • Joined

  • Last visited

Everything posted by Pat Stanford

  1. Can you post a simple file with a few different types of truss in a couple of hanging positions? I don't normally work in Spotlight, so I don't have a good sample file and I don't have time to learn hanging positions to try and help with the worksheet.
  2. Look in the Fasteners Toolset. If you are using a custom workspace and don't have that toolset, change to the default Designer toolset or edit yours to add it.
  3. It looks like you have found a realtively simple bug in VW2020 (and maybe before). The Segment Record format has a Angle misspelled in the field names as Angel. Double Click to edit the worksheet. If you see Row 3 you are all set. If you only see 3.1, 3.2, etc. you need to go to the worksheet View menu and select Database Headers. Click in cells B3 and C3 and edit the formulas to say =('Segment Record'.'Angel Bearing') =('Segment Record'.'Angel Azimuth') And you will be all set. Unless VW decides to fix the bug about the misspelling that I am about to submit ūüėČ In which case you will have to go back and undo the edits or create a new schedule.
  4. I don't have time to review the code right now, but if this were script rather than Marionette, I would assume this is an issue of (less than) versus (less than or equals). If the distance is an integer multiple of the spacing and you use less than, then the last point won't be entered. If you use less than or equal then it will. Probably not the best description (depending on code it could be > or >= versus < or <=) but my guess.
  5. IF the values are stored as numbers, the total is easy. If they are stored as text then you have to use the Value function. Unfortunately the report generator is not smart enough to know when text objects are actually representations of numbers. So no, no real want o create when you create the report.
  6. VW Substring function is using a single character as a delimiter. When you give it a delimiter of more characters it treats any of them as a delimiter. So in your case "Pixelline 1044" makes and character of [P, I, e, l, n, 1, 0, 4, {space}] a delimiter. e matches in James and the space after James matches with the space delimiter. so the second match is "s" Substring is just a kind of funky function. I would much prefer to have the power to find the location of a substring and then figure out what to return (Loc and Copy in VectorScript) rather than trying to figure out delimiters.
  7. Andy would know better than me, but my guess is that that values in the record are stored as Text instead as a number. It can't add the values of text directly so it just gives you the count of the number of rows. The VALUE() function that Andy is proposing would convert the text value into a number that can then be summed.
  8. The Clip Cube Fill is set in the Interactive Appearance Options (button on General pane of SmartCursor Settings, or in VW Preferences:Interactive). It looks like you have to set it to display a color. I did not see an option for transparent.
  9. The Australian VW distributor has (had?) a product called AnimationWorks that did a basic version of what you are requesting. It does not appear to have been upgraded to work with VW2020 http://www.ozcad.com.au/products/animationworks.php
  10. You are using a symbol as your Control Geometry. Symbols can't be Extruded. You either have to add enough logic (nodes) to the Marionette to get to the basic 2D objects, or change your control geometry to only be 2D objects. Not even a group can be extruded. Also, I don't think @DomC's node does what you think it does. Please tell us exactly what you are trying to do. Your description above is not enough.
  11. If you always know which direction, you can offset the geometry in the symbol definition to give what you need and not have to make any adjustments in Marionette. For Example, if you know that the symbol should always be located 1 meter to the right and 2 meters above the insertion point, just move the objects in the symbol definition so they are 1 meter right and 2 meters above the 0,0 point in the symbol definition and you will get the offset when you insert the symbol on the poly.
  12. I may be quick, but in many cases I am simplistic. I can help get you around the simple issues, but Raymond is the best about digging into the deep heart of the matter.
  13. Display Drawing Stamp is a boolean field (True or False) that tells the PIO to use the drawing stamp or not. That is why you are only getting True or False. Custom Text is the actual text of the stamp. If you use the stamp on all of your title blocks, then you can skip the IF and just use ='Title Block Border'.'Custom Text' Also for reference purposes, the delimiter used in the formulas is language/country dependent. Since Hans-Olaf and Nickoly are both in Europe (I am assuming) the separator is a semi-colon [ ; ]. In the US the separator is a comma [ , ].
  14. The biggest reason it won't happen is because an Excel file can't have a direct link to an object in VW. In a VW file you can reference objects relatively easily. In a database row you can Summarize them easily. Many of the VW worksheet functions (length, width, area, etc.) can't be run in an Excel file because it has no way to link to the object. So in order to do anything close to a live link (other than ODBC), you would have to make sure every object in VW had a permanent id (UUID). Without that kind of a link, if you change the sort order in Excel when you take the data back to VW it is likely to be applied to the wrong object. Especially if you did any kind of real modifications in Excel. A bad database is far worse than no database.
  15. You picked the wrong spot to start with PythonScript and Vectorworks. There is nothing simple about a custom dialog box. If you only need a single or couple of inputs, try and do it with the Predefined dialog box (es) so you can get the rest of the code to work. Then you can go back and consider making a custom dialog. For most of my (few) applications that use a custom dialog box, the code to draw and handle the dialogs is far more than the rest of the code.
  16. This one should work with 3D Loci and replace with a symbol. Procedure StakesFrom3DLoci; {Inserts a symbol at the X/Y/Z location of each 3D loci on the active layer} {© 2020,2008, Coviana, Inc - Pat Stanford pat@coviana.com} {Licensed unde the GNU Lesser General Public License} Var H1,H2:Handle; X1,Y1,Z1:Real; N1,N2:Integer; Begin H1:=FActLayer; While H1 <> nil do Begin If GetType(H1) = 9 then Begin GetLocus3D(H1,X1,Y1,Z1); Symbol('Your Symbol Name Here',X1,Y1,0); H2:=LNewObj; Move3DObj(H2,0,0,Z1); H1:=NextObj(H1); End else Begin H1:=NextObj(H1); End; End; End; Run(StakesFrom3DLoci);
  17. How about editing them in the VW Worksheet rather than trying to link to Excel. It operates a little differently, but has a lot of what you probably need and since it is internal to VW you don't have to worry about the external link. Criteria in a Database row in a VW worksheet will let you easily get a subset of your "huge number of fixtures" so you can focus on what you need to work on.
  18. Perhaps convert the line to a poly and use Objects:Poly:2d:GetPointOnPoly.
  19. Sorry I missed the hardscape part of the questions and only looked at slabs. I will try and make time to look this weekend.
  20. There are three basic ways to make custom objects in VW. You can use Marionette. You can use VectorScript/PythonScript and create a Plug-In Object. You can use the Software Development Kit (SDK) and program in C (or C like) language to create lower level objects. Each has its benefits depending one what you are really trying to do. Marionette would be my first choice for creating objects as it automatically handles all of the interfacing with the Object Info Palette (OIP). You can create custom nodes using Python if the basics don't work for what you need. But the graphical network can get very complex very quickly depending on what you need to do. VectorScipt/PythonScript can be a good way to go, but you need to do a lot of coding for handling of displaying the parameters in the OIP and getting changes from the OIP and applying them properly in your code. SDK will make a smoother faster running object, but required a much lower level understanding of coding. Take a look at Marionette first. Any input node (and probably others) that you assign a name will automatically display in the OIP and be editable there.
  21. For the first version of the script, you need to have a symbol named Print Locus with the insertion point at the center of object. The one I used was just a couple of crossed lines, but it could be anything. That one works on 2D locus points. For the second version of the script it replaces 3D loci with a Stake Object at the x/y/z position of the 3D locus. I just forgot to edit the comments before posting. Edited now.
  22. @Stephan Moenninghoff I love it. I would bet that VW never expected the best use for Drape Surface would be to decorate cupcakes. @Bruce Kieffer Thanks for posting this originally. Probably the best way for us old-timers to learn is to do out fo the box challenges like this. Makes my head hurt. In a good way.
  23. Are the Objects just Text? Is the insertion point of the text block the exact point of the elevation? Can you isolate these objects by Layer or Class? Please copy and paste about 10 of these spot elevations into a blank file and post it here so we have something to work with.

 

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.

√ó
√ó
  • Create New...