• Content count

  • Joined

  • Last visited

Community Reputation

71 Excellent


About michaelk

  • Rank
    Vectorworks Addict

Personal Information

  • Occupation
    Lighting Design
  • Homepage
  • Location
    Santa Barbara, CA

Recent Profile Visitors

545 profile views
  1. If you only need a few additional fields you can use the user fields included in the window record format. The database call is ='Window'.'UserFld1' through ='Window'.'UserFld10' If you want to attach another record format just select all the windows using the magic wand and attach the new record format in the OIP. hth mk
  2. When I last looked into this, you couldn't always count on which dimension of an exude is the length and which is the width. For short pieces of 2x6 it could easily return a =Length of 1.5 or 5.5. If I remember correctly. :-) I'm on the road at the moment, but I think I have an example file that does this on this computer. I'll hunt it down and post it. mk
  3. Catie Welcome to the forum. Depends on what kind of model. If you are using the Framing command for walls, for example, there is an option to create a cut list. If you are rolling your own, then you are correct. I usually class each material type, i.e. 2x6 lumber or 1x2 box tube steel and divide the volume of the object by the area of the cross section to get the length. It all get's a little wonky if the end of the stock is mitered or has holes in it, but it works well enough for cut lists for simple items and approximations for budgeting larger ones.
  4. After you drag the Sum badge to the column you want to summarize drag it again to the columns you DON'T want to summarize. I know. Not exactly intuitive or discoverable.
  5. I occasionally get this, too. I just kill the mouse driver software and restart it. That seems to make it happy.
  6. Yep. I remember learning that trick from you. I just assumed that it also worked on sections of sections.
  7. Pat I thought the same thing, but I just tried it and got this message: - which I can't recall ever seeing before.
  8. I don't think you can take a section viewport of a section viewport. However, you can place a section line with the section line tool in annotations and link it to another section viewport created with other means. Not sure if does what you need, but it's a cool trick.
  9. Design layers are also really helpful when experimenting with the location of multiple buildings on a site. And that Spotlight trick of laying out booms and non-horizontal truss (which is really cool) also works for any object that is built in one orientation and installed in another. mk
  10. Hey. When did that get there?!?
  11. Thanks Josh and Patrick. Just for my own understanding: Why was the script kicking back errors on random viewports on other sheet layers? Are they selected but not in the active sheet layer and therefore the script is trying to include it? Should I add a criterion to make sure I only include the active sheet layer? mk
  12. Yahoo!!! Thanks, that worked great.
  13. Every file. After the script is run a couple times it starts kicking out error messages.
  14. Can someone tell my why I'm getting an error on line 41, the SetName function. The script still does what it is supposed to do after dismissing the error message. This is an example of the error I get when one VP on a sheet layer is selected: Procedure ViewportRename; {Badly Scripted by Michael Klaers. Updated Aug 2, 2015} {This script will take all selected viewports and change the name of those viewports to be (Sheet Layer) (Drawing Number) (Drawing Name) This version tries to force the name to appear immeidately in the name field, data tab, OIP when only one VP is selected. Prior to this version the new name appeared immediately in the Nav Palette, but not in the name field.} Var VPDwgTitle,VPName,BText,VPNum : String; h,hh: Handle; ViewportLayer: Handle; ViewportLayerString: String; Procedure RenameVP(h : HANDLE); Begin {*********** BEGIN Procedure ***********} ViewportLayer:= GetLayer(h); ViewportLayerString:= GetLName(ViewportLayer); VPDwgTitle := GetObjectVariableString(h, 1032); VPNum := GetObjectVariableString(h, 1033); ResetObject(h); { Message('Viewport Handle: ',h,chr(13), 'Layer Handle: ',ViewportLayer,chr(13), 'Layer Name: ',ViewportLayerString,chr(13), 'VP Num: ',VPNum,chr(13), 'VP Name: ',VPDwgTitle); } SetName(h, CONCAT(ViewportLayerString,' ',VPNum,' ',VPDwgTitle)); SetDSelect(h); {These two commands are just here to force the new name to appear in the } SetSelect(h); {name field immediately. They can be deleted w/o consequence} End; {*********** END Procedure ***********} Begin {*********** Main Program ***********} ForEachObject(RenameVP,(((T=VIEWPORT) & (SEL=TRUE)))); End; Run(ViewportRename); Any ideas? Thanks! mk
  15. Floors are a much older object than the Slab objects that replaced them. They don't have components and so you can't get all the cool worksheet hooks. You're better off using Slab objects if you want to use worksheets to extract data.