2013-05-10 205 views
0

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

请看看下面的XML,图像形状的ID为A1为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

谢谢!!

回答

0

当组形状是不提供几何图形的通用隐藏组(当您选择子图形并且简单地按下ctrl-G时会得到的图形),可能会非常容易地无意中连接子图形而不是外部组形状。这似乎是你的情况发生了什么。

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