如何在Visio中建立组形状ID之间的连接?

时间:2013-05-10 14:25:45

标签: xml shape visio

当我使用Xpath读取Visio xml文件(.vdx)时,我遇到了问题。 我通过分组两个子形状来创建自定义模板。例如,形状A由两个子形状b和c组成。当我创建A的两个实例,如A1(由b1和c1组成)和A2(由b2和c2组成)。 XML中的连接标记不显示A1和B1的关系。相反,它只显示b1和b2是连接的。

请看下面的xml,图片A1的形状id是1(子形状id是3,4),A2是2(子形状id是5,6)

<Shpaes>
   <Shape ID ="1" Name="ShapeA1" Type="Group" Master="12"> 
     <Shapes>
        <Shape ID ="3" Type="Group" Master="12">
        <Shape ID ="4" Type="Group" Master="12">         
     </Shapes>
   </Shape>

   <Shape ID ="2" Name="ShapeA2" Type="Group" Master="12"> 
     <Shapes>
        <Shape ID ="5" Type="Group" Master="12">
        <Shape ID ="6" Type="Group" Master="12">         
     </Shapes>
   </Shape>

  <Shape ID ="7" Name="Connector" Type="Group" Master="12"> 
  </Shape>
</Shapes> 

<Connects>
 <Connect ToPart="3" ToCell="PinX" ToSheet="3" FromPart="12" FromCell="BeginX"     FromSheet="7"/>
 <Connect ToPart="3" ToCell="PinX" ToSheet="5" FromPart="12" FromCell="EndX" FromSheet="7"/>
</Connects>

我希望Connect中的ToSheet属性为“1”和“2”,它们表示组形状ID而不是其子形状ID。

请让我知道我应该在Visio中做什么

谢谢!

1 个答案:

答案 0 :(得分:0)

当组形状是不提供几何体的通用隐藏组(当您选择子形状并且只需点击ctrl-G时得到的)时,很容易无意中连接子形状而不是外部组形状。这似乎就是你的情况。

问题通常是通用隐藏组形状的SelectMode始终设置为1(首先选择组),这允许用户选择(或粘合到)组的子形状。将组的SelectMode设置为0(仅选择组)可以解决此问题。可以在结构图窗口或“行为”对话框中直接更改SelectMode(可在Visio 2010及更高版本的“开发人员”选项卡中找到)。