visio - 保持 Visio 组中的纵横比和相对位置

标签 visio shapesheet

我目前正在 Visio 2010 中创建自定义容器形状,但在获得正确的大小调整行为时遇到一些问题。 我的容器由一个主矩形和右上角的一个小三角形组成(见图)。这两个形状都被分组。

Custom container consisting of rectangle and triangle

调整该组的大小时,我希望调整矩形的大小,但三角形应保持其原始大小和纵横比,并保持“附加”到矩形的一侧。

当我将三角形的调整大小行为设置为“使用组设置”(默认)时,调整大小时它会变形:

triangle deformed

当我将三角形的调整大小行为设置为“仅重新定位”时,它不会保持附加到矩形:

triangle detached

有什么方法可以获得所需的行为吗?

最佳答案

如果您想让三角形保持相同的相对位置和相同的绝对大小,则需要使用形状表。

您感兴趣的公式是矩形的 PinX、PinY、宽度和高度。宽度和高度应保持相同,因此公式应为 =GUARD(0.25 英寸),其中将 0.25 替换为宽度或高度应有的值。

对形状进行分组时,Visio 会自动设置公式来拉伸(stretch)子形状,并按照组形状大小的比例移动它们。因此,如果您查看三角形的 PinX 公式,它可能类似于: =Sheet.1!Width*0.95 。这仅意味着三角形的 X 位置将始终位于父形状宽度的 95%。

但这不是你想要的。您想要的是三角形始终位于矩形的右边缘。因此,要做到这一点,您的公式只需计算为矩形的右边缘(其宽度)加上三角形宽度的一半(固定位置默认为形状的中点)。

因此,要创建公式,您需要矩形子形状的 ID,您可以通过访问矩形的“格式”->“特殊”对话框找到该 ID。获得该数字后,三角形的 PinX 公式应为 =GUARD(Sheet.RectangleID!Width+(Width/2))

我认为三角形的 PinY 应该全部按原样设置,只要保护宽度和高度即可。

关于visio - 保持 Visio 组中的纵横比和相对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17184823/

相关文章:

mysql - 从现有的 MySQL 数据库生成 Visio ERD

architecture - 如何绘制应用架构图

windows - 以编程方式操作visio格式文件

c# - 在 C# 中检索 Visio 形状的连接点名称

shape - 新创建的自定义列表形状在 Microsoft Visio 2013 x64 中不起作用

visio - 我无法在形状表上引用不同的 Visio 形状母版

vba - 如何在 Visio 中使用 VBA 将形状添加到组中

excel - 将形状数据从 Visio 2010 传输到 Excel 2010,以便使用 VBA 进行进一步操作