Jump to content

Julian Carr

Distributor
  • Content Count

    172
  • Joined

  • Last visited

Posts posted by Julian Carr


  1. It's possible you have picked up an invisible character by copying from the browser. Try deleting the last line and everything below it then retyping it manually. Or copy the script to a text editor and turn on invisible characters to see if you can spot something.


  2. You can do this using the single most powerful procedure in VS: ForEachObject. It also filters out other object so will only affect dimensions in this case.

     

    PROCEDURE DimTypical;

    PROCEDURE DoIt(h1 : HANDLE);
    BEGIN
        SetObjectVariableString(h1, 10, ' Typ.');
        ResetObject(h1);
    END;
    BEGIN
        ForEachObject(DoIt, (T=DIMENSION) & Sel);
    END;
    Run(DimTypical);


  3. It works for me Sam and definitely needs to be in the kObjOnInitXProperties event (5). It's possible it also needs this:

     

    CONST

        kObjXPropAcceptStates = 18;

     

        gFlag := SetObjPropVS(kObjXPropAcceptStates, TRUE); 

     

    Also have you tried quitting and restarting Vw? I find this necessary sometimes even in developer mode.


  4. CONST
       kObjXPropShowPrefDialogWhen = 32;
        kCustomObjectPrefNever      = 0;
        kCustomObjectPrefAlways      = 1;
        kCustomObjectPrefNew         = 2;

     

    blah blah blah...

     

    in event loop 5:

        gFlag := SetObjPropCharVS(kObjXPropShowPrefDialogWhen, Chr(kCustomObjectPrefNever));

     


  5. Wall styles don't typically define wall heights. Rather they define what is used to control the wall or components heights (layer wall height, storey level, etc), as well as having an offset. And of course walls don't have to be level on the top or bottom, and can also be controlled by slabs and roofs, making the task even more fraught. But if you really want to delve into it, then look in the Function Reference in the Objects - Architectural section, for things like SetComponentWallTopOffset().


  6. It's conceivable but would be messy, and could also be problematic if there were so many hatches that the dialogue was too large to fit on the screen. Normally you would would use a list browser for something like this, which would see scroll bars appear if the list was longer than the size of the list browser.


  7. You must specify units when nominating a size in a script, so this line:

     

    RegularPolygon(Px,Py,12,6,1);

     

    should be something like:

     

    RegularPolygon(Px,Py,12",6,1);

     

    or

     

    RegularPolygon(Px,Py,12mm,6,1);


  8. A couple of things to note:

     

    1. You need to set the 3 levels of detail for each object as there is no assumption that if an object is visible at one level, it will automatically be visible at another.

     

    2. If the PIO contains groups, you need to set the detail level for each object within the group as setting it for the group itself will have no effect.

 

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...