我目前正在 Visio 2010 中创建自定义容器形状,但在获得正确的大小调整行为时遇到了一些问题。我的容器由一个主矩形和右上角的一个小三角形组成(见图)。这两个形状都是分组的。
调整该组的大小时,我希望调整矩形的大小,但三角形应保持其原始大小和纵横比,并保持“附加”到矩形的一侧。
当我将三角形的调整大小行为设置为“使用组设置”(默认)时,调整大小时它会变形:
当我将三角形的调整大小行为设置为“仅重新定位”时,它不会保持附加到矩形:
有什么办法可以得到想要的行为?
我目前正在 Visio 2010 中创建自定义容器形状,但在获得正确的大小调整行为时遇到了一些问题。我的容器由一个主矩形和右上角的一个小三角形组成(见图)。这两个形状都是分组的。
调整该组的大小时,我希望调整矩形的大小,但三角形应保持其原始大小和纵横比,并保持“附加”到矩形的一侧。
当我将三角形的调整大小行为设置为“使用组设置”(默认)时,调整大小时它会变形:
当我将三角形的调整大小行为设置为“仅重新定位”时,它不会保持附加到矩形:
有什么办法可以得到想要的行为?
如果要将三角形保持在相同的相对位置和相同的绝对大小,则需要使用 shapesheet。
您感兴趣的公式将是矩形的 PinX、PinY、宽度和高度。宽度和高度应该保持不变,所以公式应该只是 =GUARD(0.25 in.),在这里你用任何宽度或高度替换 0.25。
当您对形状进行分组时,Visio 会自动设置公式来拉伸子形状,并按照组形状大小的比例移动它们。因此,如果您查看三角形的 PinX 公式,它可能类似于: =Sheet.1!Width*0.95 。这只是意味着三角形的 X 位置将始终位于父形状宽度的 95% 处。
但这不是你想要的。您想要的是三角形始终位于矩形的右边缘。因此,要做到这一点,您的公式只需计算为矩形的右边缘(其宽度)加上三角形宽度的一半(引脚位置默认为形状的中点)。
因此,要制作公式,您需要矩形子形状的 ID,您可以通过访问矩形的 Format->Special 对话框找到它。一旦你得到这个数字,三角形的 PinX 公式应该只是 =GUARD(Sheet.RectangleID!Width+(Width/2))
我认为三角形的 PinY 应该按原样设置,只要宽度和高度受到保护。
Edit the shapesheet for the triangle so the width is a function of the height. W=H*AspectRatio
Make sure you protect the cell so that it does not change.