Соединение двух точек фигур

Ниже приведён пример использования операции SetWspMd для соединения точки фигуры и точки линии связи. В запросе передаются идентификаторы фигуры, линии связи и индексы соединяемых точек. В ответе ни какой дополнительной информации не возвращается.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SetWspMd xmlns="http://www.fsight.ru/PP.SOM.Som">
<tWsp xmlns="">
  <id>PBCNGJNIEPHMFOAEJKJCHHDECPOLMJDEOKLJGKMANEMFPNKO!M!S!WSPJPIHAMNIEPHMFOAELLBCEKBPPLOICPBEPIHOFPDINMHNPKOF</id>
  </tWsp>
<tArg xmlns="">
<pattern>
  <obInst>true</obInst>
<action>
  <GlueConnectionPoints>true</GlueConnectionPoints>
  </action>
  </pattern>
<meta>
<GlueConnectionPoints>
  <shapeId1>Shape2</shapeId1>
  <shapeId2>Shape5</shapeId2>
  <Index1>0</Index1>
  <Index2>0</Index2>
  <AutoIndex>true</AutoIndex>
  </GlueConnectionPoints>
  </meta>
  </tArg>
  </SetWspMd>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<SetWspMdResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id xmlns="">
  <id>PBCNGJNIEPHMFOAEJKJCHHDECPOLMJDEOKLJGKMANEMFPNKO!M!S!WSPJPIHAMNIEPHMFOAELLBCEKBPPLOICPBEPIHOFPDINMHNPKOF</id>
  </id>
  <meta xmlns="" />
  </SetWspMdResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"SetWspMd" :
{
"tWsp" :
{
"id" : "PBCNGJNIEPHMFOAEJKJCHHDECPOLMJDEOKLJGKMANEMFPNKO!M!S!WSPJPIHAMNIEPHMFOAELLBCEKBPPLOICPBEPIHOFPDINMHNPKOF"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"action" :
{
"GlueConnectionPoints" : "true"
}
},
"meta" :
{
"GlueConnectionPoints" :
{
"shapeId1" : "Shape2",
"shapeId2" : "Shape5",
"Index1" : "0",
"Index2" : "0",
"AutoIndex" : "true"
}
}
}
}
}

JSON-ответ:

{
"SetWspMdResult" :
{
"id" :
{
"id" : "PBCNGJNIEPHMFOAEJKJCHHDECPOLMJDEOKLJGKMANEMFPNKO!M!S!WSPJPIHAMNIEPHMFOAELLBCEKBPPLOICPBEPIHOFPDINMHNPKOF"
},
"meta" : ""
}
}
public static SetWspMdResult WspConnectShapes(string moniker, string shape , int poinIndex, string link, int linkPointIndex)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tSet = new SetWspMd()
{
tArg = new SetWspMdArg()
{
pattern = new WspMdPattern()
{
action = new IWrspWorkspaceAction()
{
GlueConnectionPoints = true
}
},
meta = new WspMd()
{
GlueConnectionPoints = new WspGlueConnectionPointsArgs()
{
shapeId1 = shape,
Index1 = poinIndex,
shapeId2 = link,
Index2 = linkPointIndex,
AutoIndex = true
}
}
},
tWsp = new WspId() { id = moniker }
};
// Соединение точек
var tResult = somClient.SetWspMd(tSet);
return tResult;
}

См. также:

Работа с рабочим пространством