Connect /glue shape to shape

M

mike.mulvenna

I am new to VISIO. I would like to create a stencil for a raised panel
cabinet door(. it would be made of 5 rectangles. 2 styles (vertical
rectangles) and 2 rails (horzontal rectangles) and one panel
(rectangle) i would like to lock or guard the width of the styles and
the height of the rails. When i do this and try to size the 5 objects
as agroup i end up with a space between the styles and the panel and a
space between the rails and the panel. I am sure i am missing
something but i have spent hours trying to figure it out to no avail.
Any help would be appreceiated.

Thanks
Mike Mulvenna
 
W

WapperDude

Mike --

Did you get the desired behavior? It can be done by editting the shape
sheets. The reason it's not working is because when you group your objects,
your styles and rails inherit properties from the panel. But this is
correctable.

Wapperdude
 
W

WapperDude

Doh! Forgot to add that I can show you the details if you're still interested.

Wapperdude
 
M

mike.mulvenna

Doh!  Forgot to add that I can show you the details if you're still interested.

Wapperdude






- Show quoted text -
Thanks you so much. I would like to see the details. I have made somne
cahnges to the shapesheet that work fine except when the objectas are
selected and rotated.

As a very novice user, I look forward to your answer.

Mike
 
W

WapperDude

Just so we're on the same page (Ha! pun intended), the door consists of a
panel, two rails--one across the top and one across the bottom, and two
styles--running vertically, one each left and right sides. The rails for
this example, run the full width while the styles run between the rails.
Also, both rails are the same width, both styles are the same width, but the
rails do not have to match the styles. All 5 rectangles are grouped together
after initial sizing and correct placement.

The ShapeSheets of all rails and styles must be editted.
Top Rail:
Double click the grouped shape to select the top rail
Pull up the ShapeSheet (Window>Show ShapeSheet)

Bottom Rail:
Select bottom rail and pull up ShapeSheet
Edit Shape Transform entries to become:

Left Style, Shape transform section:
Right Style, Shape transform section:
That should do it. You can place this shape on a custom stencil if you
like. It should size and rotate as desired and the rail and style widths
remain unchanged.

Embellishment:
Add connection points at the outer corners of the rails and styles.
Place horizontal dimension indicators to these connection points. These will indicate your board lengths. And, they will track as you re-size your door.

Embellishment 2:
Menu select the rail and style widths to make the door more universal. Unfortunately, I haven't worked that out yet. Perhaps someone else can step up.

Enjoy!
Wapperdude
 
M

mike.mulvenna

Just so we're on the same page (Ha! pun intended), thedoorconsists of a
panel, two rails--one across the top and one across the bottom, and two
styles--running vertically, one each left and right sides.  The rails for
this example, run the full width while the styles run between the rails.  
Also, both rails are the same width, both styles are the same width, but the
rails do not have to match the styles.  All 5 rectangles are grouped together
after initial sizing and correct placement.  

The ShapeSheets of all rails and styles must be editted.
Top Rail:


Bottom Rail:


Left Style, Shape transform section:


Right Style, Shape transform section:


That should do it.  You can place this shape on a custom stencil if you
like.  It should size and rotate as desired and the rail and style widths
remain unchanged.

Embellishment:


Embellishment 2:


Enjoy!
Wapperdude







- Show quoted text -
What part is sheet 6 in your example. I really appreceiate this.....
 
W

WapperDude

I was afraid that wasn't too clear.

In my example, sheet.6, is the group shapesheet. If you identify the "door"
with a single click and then pull up it's shape sheet, it will be some
number. Let's call it "Q". Now if you identify one of the sub-group shapes,
say, the top rail and pull up it's shape sheet. It will have a different
shapesheet number, but, the entries Width, Height, PinX, and PinY should all
reference sheet "Q". This is the group inheritance, and is what led to your
initial problems when you stretched the group. You do not have to do
anything with the value "Q". I used the value of "6" as an example, but, you
should not change "Q" to be "6". Sorry for the confusion. The only entries
that "alter" the Sheet.Q, is when you completely replace it with the fixed
value of your board width.

So, what is happening is this. In my example, the rails and styles all have
the same "width" of 1.75 in. In the case of the rails, because they lie
horizontally, the entry field is height, which is a little confusing. Visio
takes vertical direction as height, and horizontal as width. For the styles,
their height must be corrected to account for the fixed width of the rails.
The style's height is the total group height minus the width of the two
rails. This keeps the styles butted up against the rails. The changes to
Pin and LocPin merely keeps the rails and styles flush to the outer edge of
the group.

Hope this helps. Let me know.

Cheers.
Wapperdude
 
M

mike.mulvenna

I was afraid that wasn't too clear.

In my example, sheet.6, is the group shapesheet.  If you identify the "door"
with a single click and then pull up it's shape sheet, it will be some
number.  Let's call it "Q".  Now if you identify one of the sub-group shapes,
say, the top rail and pull up it's shape sheet.  It will have a different
shapesheet number, but, the entries Width, Height, PinX, and PinY should all
reference sheet "Q".  This is the group inheritance, and is what led to your
initial problems when you stretched the group.  You do not have to do
anything with the value "Q".  I used the value of "6" as an example, but, you
should not change "Q" to be "6".  Sorry for the confusion.  The only entries
that "alter" the Sheet.Q, is when you completely replace it with the fixed
value of your board width.

So, what is happening is this.  In my example, the rails and styles all have
the same "width" of 1.75 in.  In the case of the rails, because they lie
horizontally, the entry field is height, which is a little confusing.  Visio
takes vertical direction as height, and horizontal as width.  For the styles,
their height must be corrected to account for the fixed width of the rails..  
The style's height is the total group height minus the width of the two
rails.  This keeps the styles butted up against the rails.  The changes to
Pin and LocPin merely keeps the rails and styles flush to the outer edge of
the group.

Hope this helps.  Let me know.

Cheers.
Wapperdude





- Show quoted text -

Thank you so much. I will give it a try in the morning. Had other
things pop up this afternoon and we are busy tonight. I will ket you
know but sounds like it should work fine.
 
W

WapperDude

Hi Mike --
Couldn't resist the challenge, so, the embellishment2 that I referred to
above can be done as shown below. This will allow you to right click on the
door shape and select from two widths for either the rails or the styles.
You can follow the example if you want to add more choices.

Select the door shape and bring up it's shape sheet. This would be sheet 6
in my example. Right click with the mouse and select insert sections. You
want to insert User-defined Cells and Actions sections. You will need two
rows in the User-defined Cell section and 5 rows in the Actions section. Add
rows by right clicking in each section and select add row. Once you have
both sections setup, then enter the following:
Shape Sheet 6:
User-Defined Cells Section
Actions Section
Action = “â€
Menu = “Select Widthsâ€
Checked = 0Action = SETF(GetRef(User.RailWidth),1.5)
Menu = “_Rail = 2 inâ€
Checked = User.RailWidth=1.5Action = SETF(GetRef(User.RailWidth),3.5)
Menu = “_Rail = 4 inâ€
Checked = User.RailWidth=3.5Action = SETF(GetRef(User.StyleWidth),1.5)
Menu = “_Rail = 2 inâ€
Checked = User.StyleWidth=1.5Action = SETF(GetRef(User.StyleWidth),3.5)
Menu = “_Rail = 4 inâ€
Checked = User.StyleWidth=3.5

It looks worse than it really is. I don't know if there's a more elequent
way to do this, but it works.

Now when you right click on your door shape, you will have options to set
the board widths.

Enjoy!
Wapperdude
 
W

WapperDude

Oops! Forgot about modifying the 2 rail and style shapesheets to pass on the
selected values.

For both rails, instead of Height = 1.75 (my example), let Height =
(Sheet.6!User.RailWidth).

Likewise, for the style shapesheets, instead of Width = 1.75, let the Width
= (Sheet.6!User.StyleWidth).

Glad I remembered that!!!

WAP
 
M

mike.mulvenna

Oops!  Forgot about modifying the 2 rail and style shapesheets to pass on the
selected values.

 For both rails, instead of Height = 1.75 (my example), let Height =
(Sheet.6!User.RailWidth).  

Likewise, for the style shapesheets, instead of Width = 1.75, let the Width
= (Sheet.6!User.StyleWidth).

Glad I remembered that!!!

WAP








- Show quoted text -

Thanks very much for the help. Your process worked perfectly. I have
rated the post as excellent. You went above and beyond to help a new
user.

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top