Looking for specification for connector in SmartArt

Regina Henschel 406 Reputation points
2026-05-17T22:10:23.7466667+00:00

The layout definition for a SmartArt diagram has for example

<dgm:shape type="conn" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:blip="">
     <dgm:adjLst/>
</dgm:shape>

In the created diagram I see for example "rightArrow" or "leftCircularArrow". Where is specified, which shape is used for a connector in a SmartArt?

Microsoft 365 and Office | Open Specifications
Microsoft 365 and Office | Open Specifications

Technical documents for protocols, computer languages, standards support, and data portability. The goal with Open Specifications is to help developers open new opportunities to interoperate with Windows, SQL, Office, and SharePoint.


Answer accepted by question author
Mike Bowen 2,311 Reputation points Microsoft Employee Moderator
2026-06-04T21:35:12.67+00:00

Hi @Regina Henschel ,

I can confirm that John's explanation is correct. Is this the information you needed or do you require further clarification?

Thanks, Best regards,

Michael Bowen Microsoft Open Specifications

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

2 additional answers

Sort by: Most helpful
  1. John Korchok 236.2K Reputation points Volunteer Moderator
    2026-05-17T23:19:01.8266667+00:00

    In a Smart Art template, the connector shape is specified in the .glox file that will create the diagram.

    After the SmartArt has been created, the connector is specified in the layoutX.xml file, where X is the number of the diagram in the file. Here's an example from a Step Down Process diagram, where the connector is a bentUpArrow:

    <dgm:choose name="Name9">
    	<dgm:if name="Name10" axis="followSib" ptType="node" func="cnt" op="gte" val="1">
    		<dgm:layoutNode name="bentUpArrow1" styleLbl="alignImgPlace1">
    			<dgm:alg type="sp"/>
    			<dgm:choose name="Name11">
    				<dgm:if name="Name12" func="var" arg="dir" op="equ" val="norm">
    					<dgm:shape rot="90" type="bentUpArrow" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:blip="">
    						<dgm:adjLst>
    							<dgm:adj idx="1" val="0.3284"/>
    							<dgm:adj idx="2" val="0.25"/>
    							<dgm:adj idx="3" val="0.3578"/>
    						</dgm:adjLst>
    					</dgm:shape>
    				</dgm:if>
    				<dgm:else name="Name13">
    					<dgm:shape rot="180" type="bentArrow" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:blip="">
    						<dgm:adjLst>
    							<dgm:adj idx="1" val="0.3284"/>
    							<dgm:adj idx="2" val="0.25"/>
    							<dgm:adj idx="3" val="0.3578"/>
    							<dgm:adj idx="4" val="0"/>
    						</dgm:adjLst>
    					</dgm:shape>
    				</dgm:else>
    			</dgm:choose>
    			<dgm:presOf/>
    		</dgm:layoutNode>
    	</dgm:if>
    	<dgm:else name="Name14"/>
    </dgm:choose>
    

    Was this answer helpful?

    1 person found this answer helpful.

  2. John Korchok 236.2K Reputation points Volunteer Moderator
    2026-05-18T18:27:53.19+00:00

    Thanks for the clarification. There aren't different types of connectors. Instead of specifying a shape type, modify the dgm:param list. Here's a starting example:

    <dgm:alg type="conn">
    	<dgm:param type="connRout" val="curve"/>
    	<dgm:param type="begPts" val="radial"/>
    	<dgm:param type="endPts" val="radial"/>
    	<dgm:param type="endSty" val="noArr"/>
    </dgm:alg>
    

    Here the connector is modified to 1/4pt width with to make a thin line:

    <dgm:alg type="conn">
    	<dgm:param type="dim" val="1D"/>
    	<dgm:param type="connRout" val="curve"/>
    	<dgm:param type="begPts" val="radial"/>
    	<dgm:param type="endPts" val="radial"/>
    	<dgm:param type="endSty" val="noArr"/>
    </dgm:alg>
    

    Here the connector will acquire an arrow at the end:

    <dgm:alg type="conn">
    	<dgm:param type="connRout" val="curve"/>
    	<dgm:param type="begPts" val="radial"/>
    	<dgm:param type="endPts" val="radial"/>
    	<dgm:param type="endSty" val="arr"/>
    </dgm:alg>
    

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.