Jump to content

Get & SetObjectVariableReal-Redraw


B.Balemi

Recommended Posts

  • Vectorworks, Inc Employee

quote:

Originally posted by kiwi:

I never get the problem before, and may not be the answer, but have you try to do a ResetBBox(h): he forces the object to be recomputed in function of any new input to his definitions.

You could also try adding a call to RedrawAll in the script.

Link to comment

Been asked before but dont know how to apply to a dimension offset value .What I mean is what do I add to the script to get it to regenerate.

As you do GetObjectVariableReal then use SetObjectVariableReal it changes but not visually until you manually change something from OIP.

I know its been suggested to have dummy values but does this work for dimensions .Any Ideas???

I want to be able to change a whole line of multiple dimensions while still in the script.

Thanks for any replies.

Brendan

Link to comment

Thanks guys Tried both suggestions ,but didnt work

Did see somewhere that Setclass causes a redraw.

Tried this but had to zoom in and out to get it to be seen .

What has worked tho is within the function to call ResetObject(h);.

Works Spot on now .Perhaps this is basic and I should have done it to start with or good to remember for altering this type of object in the futre?

Link to comment
  • 2 weeks later...

After reset the box you need to redraw it, and is straight on....

Have a look on the script I post in here: http://techboard.nemetschek.net/ubb/ultimatebb.php?ubb=get_topic;f=20;t=000997 , you can see at the end (L 126) the call to ResetBBox(h);Redraw;

Hey Balemy, you are in NZ... need to get for a beer one of this days. Sad for the All Blacks and the America's cup is gone too: but they will never get Speight's!

Link to comment

Hello,

Here is a procedure which I use to force PIOs to redraw, and have had success where redraw, and resetbbox don't work. The idea is to change the lineweight of an object which will force the document to redraw.

Procedure RD(h:HANDLE);

VAR lw:INTEGER;

BEGIN

lw:=GetLW(h);

lw:=lw+1;

SetLW(h,lw);

lw:=lw-1;

SetLW(h,lw);

END;

Hope this is helpful.

-Jason

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...