Jump to content
Sign in to follow this  
TiTaNiuM sAMuRai

PIO trivia

Recommended Posts

Yes, this makes it impossible to run a script automatically when you open a file.

Generally speaking the best solution I know is to have a menu command that "touches" the PIO and causes it to regenerate.

Hopefully we will have a better solution for this type of problem in a future version of VectorWorks.

Matthew GiampapaNNA Technical Support

Share this post


Link to post

I]Hopefully we will have a better solution for this type of problem in a future version of VectorWorks.[/i]

I also noticed that making a pio regenerate another one is not possible. I wrote a set of 2d level pio : the first one is a tool that places a reference pio named 'zero' and then calls level plugin objects referring to this zero to retrieve their own y coordinates. The dark side is that when 'zero' is moved, plug-in objects don't regenerate themselves unless a regenerating menu is run.

Maybe for VS 10 ?

Regards

Francesco

Share this post


Link to post

Francesco,

You can make a PIO regenerate on a move bychecking the Reset on Move of the PIO under the Object Properties under Create Plug-In...

If I understand to correctly you can do want you wanted.

Dave

Share this post


Link to post

Ouch..please excuse my bad english and thank you.

But no, I don't think cos the deal is this one : one pio is taken as a reference (x,y) by others to evaluate their own coordinates. If you move them all you're right. But if you move only the reference, others don't move so there's to call a regeneration of all pios. This can be done with a menu or tool plugin but it doesn't work, even with the same code, something as setclass(getclass) as far as I recall, from within another pio.

Regards

Francesco

Share this post


Link to post

Here goes some code to redraw all PIOs in a drawing:

Procedure ReveilleMatin;{'r?veille-matin' is French for 'alarm clock' }{it will 'wake up' (redraw) all Plug-In Objects (PIOs) }{This will only work from inside a resource script, }{command menu (VSM) or tool (VST) } {-----------------------------------} Procedure WakeUp( H : Handle); BEGIN SetClass(H,getclass(H)); END; {-----------------------------------} BEGIN ForEachObject(WakeUp,((T=PlugInObject))); END; Run(ReveilleMatin);

[ 08-17-2002: Message edited by: Alexandre B A Villares ]

Share this post


Link to post

Francesco,

Crazy idea... How about a path plug-in?

Forget the path itself and make each node/vertex be an instance of your reference marker. The reshape tool will let you change the origin and have all markers recalculated/redrawn on the spot.

[ 08-21-2002: Message edited by: Alexandre B A Villares ]

Share this post


Link to post

Francesco,

I've done some experiments and found that you can regenerate one PIO from another. If the PIO that you want to regenerate is selected first it can be done. Now that may not be perfect but it does work. If your willing to regenerate your parent PIO twice in a row the first regeneration can select the child PIO and the second regeneration can then do the parameter changes to the child even from within the parent. You also mentioned being able to regenerate a PIO from a menu command. Why not try calling your menu command from within your PIO. May not work depending on the order of scripts being executed.

If nothing else some ideas to try.Dave

[ 08-20-2002: Message edited by: Fuge ]

Share this post


Link to post

quote:

TiTaNiuM sAMuRai:
How is your script different from clicking on Create Plug-in, then clicking Done? I believe that also regenerates all PIO's.

It's no different. But It sounds much better to tell my clients they should call the 'redraw plug-ins' menu command I made for them smile.gif" border="0

[ 08-21-2002: Message edited by: Alexandre B A Villares ]

Share this post


Link to post

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.

Sign in to follow this  

 

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