Jump to content

match window/door settings?


Recommended Posts

Hi -

Is it possible to match the settings of VW Architect doors and windows that have been placed in a file? I would like to be able to create a door or window using the VW Architect palettes, modify it using the Object Info pallette, and then be able to place other windows or doors that have identical characteristics WITHOUT CREATING A SYMBOL. I guess I am looking for an 'eye-dropper' like tool that will pick up all of the attributes of a particular window/door (including height, width, # mullions, etc.)

thanks,

------------------

d. s h a f f e r

a r c h i t e c t

k c m o u s a

Link to comment

Unfortunately at this time there is no tool to perform the function you desire without either creating a symbol or copying a symbol that you have changed already.

This tool request has been added to the "wish" list for future versions.

Link to comment
  • 2 weeks later...
  • Vectorworks, Inc Employee

Here is a generalized "transfer record" script. It is not "official" and is unsupported. Use it in good health, but at your own risk. Unlike the eyedropper tool, this one doesn't do any nifty sound effects ;-)

{

Procedure xferrec -- transfers record information from a picked "master" object to a

picked "slave" object. Attempts to match fields based on field names in the "master"

object. This will match and transfer as many fields as it can, so partial matches are OK.

Copyright ? 1999 Diehl Graphsoft, Inc.

Distributed free of charge to VectorWorks users for individual private use, commercial "for-sale" rights reserved.

Written by Robert Anderson

}

Procedure xferrec;

VAR

hmaster,hslave,hmasterrec,hslaverec:handle;

xpick,ypick:real;

i,j,FldTypeIndex:integer;

MRfieldname,MRfieldvalue,SRfieldname:STRING;

begin

message('Pick master object');

getpt(xpick,ypick);

hmaster := pickobject(xpick,ypick);

hmasterrec := getrecord(hmaster,1);

message('Pick slave object');

getpt(xpick,ypick);

hslave := pickobject(xpick,ypick);

hslaverec := getrecord(hslave,1);

for i := 1 to numfields(hmasterrec) DO BEGIN

MRfieldname := getfldname(hmasterrec,i);

FldTypeIndex := getfldtype(hmasterrec,i);

MRfieldvalue := getrfield(hmaster,getname(hmasterrec),MRfieldname);

j := 1;

SRfieldname := getfldname(hslaverec,j);

WHILE ((j <= numfields(hslaverec)) AND (SRfieldname <> MRfieldname)) DO BEGIN

j := j+1;

SRfieldname := getfldname(hslaverec,j);

END;

IF NOT (j = numfields(hslaverec) +1) THEN setrfield(hslave,getname(hslaverec),SRfieldname,MRfieldvalue);

END;

setclass(hslave,getclass(hslave));

clrmessage;

end;

run(xferrec);

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