Jump to content

Charles Chandler

Member
  • Posts

    97
  • Joined

  • Last visited

Posts posted by Charles Chandler

  1. In the function reference, in the title bar for each function, at the far right, the version implemented and the version obsolete are listed. If the call is obsolete, the title bar will be gray, and the version obsolete will be listed. If the function is still active, the version obsolete will be blank, and the title bar will be blue (for built-in functions) or green (for SDK-implemented functions.)

  2. Well, if you're calling CreateCustomObjectN from inside a PIO, that might be your problem. It has been a long time since I tried that, but at least at one time it was not possible to create nested PIOs. The script works fine for me as a document script, so I would guess that this is the problem.

    If you really need a PIO inside another PIO, you might try creating a library file with one or more IFC PIOs in it, stored as red symbols. Then you can try to use CopySymbol to insert the symbol inside the currently executing parent PIO.

    The reason why this "might" work is that the codepath for CreateCustomObjectN and for CopySymbol is different. I think that CreateCustomObjectN doesn't work simply because nobody ever told it to look inside PIOs for more PIOs to regenerate. The nested PIO might actually be there, but if it doesn't get reset so it can draw something, it might as well not be there. On the other hand, CopySymbol just copies the contents of the specified symbol into the active container. If the symbol is a red symbol, then it's a PIO that's getting pasted into the active container, and it never needs to be reset.

    So give that a try. But you probably won't get any parametric control over the nested PIO. In other words, you won't be able to alter the width or height of the PIO, and then call ResetObject on it to get it to pick up the changes. At least that's my guess.

  3. Inside objects they're still OK, but in menu commands or in tools, you "might" want to switch to the new calls.

    I just talked to somebody at NNA, and turning off plan rotation at the beginning of a script, and then turning it back on at the end, should still work. I just tested it in 78970, on Windows, and it works.

    PROCEDURE Example;
    VAR
    isPlanRotated :BOOLEAN;
    planRotationAngle :REAL;
    BEGIN
    isPlanRotated := GetPref(92);
    IF isPlanRotated THEN BEGIN
    	planRotationAngle := GetPrefReal(93);
    	SetPrefReal(93, 0);
    	SetPref(92, FALSE);
    	Rect(0, 0, 1, 1);
    	SetPrefReal(93, planRotationAngle);
    	SetPref(92, TRUE);
    END;
    END;
    RUN(Example);
    

    Note the belt-and-suspenders thing going on, with setting the plan rotation to 0 AND turning off plan rotation at the beginning, and then resetting the rotation angle AND turning plan rotation back on at the end. This was recommended (especially the part at the end). So before you switch all of your Rect and Oval calls, you might try this.

  4. Back to the issue about creating rectangles and circles in the new rotated coordinate system...

    To make it possible to create these objects without having to worry about the aspect ratio (that changes when the coordinate system is rotated), 3 new calls were created: RectangleN, RRectangleN, and OvalN. These allow you to specify the rotation of the object, and then the bounding box of the object within that rotation.

  5. Hi Charles,

    I've been hiding... :)

    I haven't yet made complete sense of the various posts to which you're referring, but I don't think Petri's problems are VW 2008 problems.

    Off the top of my head, the major changes in 2008 are:

    * Colors work differently. For more info, see:

    http://www.vectorlab.info/index.php?title=Colors_in_VectorWorks_2008%2B

    * Markers work differently. I think the documentation for all of that is still in the works.

    * The new rotated coordinate system might cause problems for plug-ins that need to be rotation-sensitive.

    So far as I know, there have not been any changes in the fundamental object (re)generation mechanism, nor in the way includes are handled.

    To be any more specific than that, can you boil down the questions a bit?

    Regards,

    Charles

  6. The idea behind Global Text Attributes is that you can operate on all of the text in the drawing at once. This means you don't have to turn on all of the layers and all of the classes, and then do a Select All, to make everything in the drawing eligible for a text attribute change. And then manually update the text in all of the symbol definitions.

    Also, you can selectively change fonts or sizes. For example, you can change all of the text with a 0 or 1 point size to 6, while leaving everything at 8, 9, 10, 12, etc., unchanged. Or you can change all of the text using the @batang font to Arial, while leaving all of the Verdana text unmodified.

  7. Anyone who tried to update VectorWorks after 16:15 (eastern US time) July 19 and before 10:36 July 20 got a message saying that they already have the latest version (even if they didn't). This problem has been corrected, so please re-run the updater.

    Sorry for the inconvenience.

  8. Send me an email. My address is on the "Contact" tab on my website. I might begin this in a week or two. I'm still trying to figure out whether to use one of the quick-n-easy calculation methods that I've found on the web, or to actually do it right (taking all of the pipe friction factors into account, for example). I think that it would actually be easier to do it right, than to do it the way it is typically approximated. Anyway, probably if I could chat with you for an hour I'd have everything that I needed.

  9. What kind of anti-virus software is on that machine -- same as the others -- and all of the same settings? McAfee is the strictest, and its most paranoid settings will consider the decompress sub-process to be suspicious (because it's a sub-process writing an executable, and that looks like a trojan).

  10. MetaMan,

    Which file does it say it's trying to process when it hangs?

    Regardless, at that point, you've got enough pieces to get VectorWorks working, even though it didn't finish entirely.

    To fix the workspace problem, you can do either one of these:

    * drag one of the old workspaces from the Backup folder up one level, into the VectorWorks/Workspaces folder, or,

    * better still (but more complicated), if you have a utility for changing the file type and creator of files, you can set the type for the workspaces to OEd3, and the creator to VW12. Then VectorWorks will recognize them as workspaces.

  11. You have to use the "VectorScript Plug-in Editor", under the Tools -> Scripts menu. In the list that appears, select the Door object, and then click the Parameters button. There you will see all of the internal names for the parameters, along with the public names (the "Alternate" names), which are what appear in the Object Info palette.

    The problem with Create Report is that it works on the basis of the public names for the parameters, and not all of these are unique, as you will see. So if you pick the "Thickness" parameter, it will settle on the last "Thickness" parameter it finds, which is the ThreshThick parameter, not the DoorThickness (or any of the other "Thickness" parameters).

×
×
  • Create New...