How to recognize overlays between connectors

hi all,
I’m trying to create a tree diagram with connectors and shapes and how you can imagine, I have a lot of connectors overlapping. So, the connections between shapes are not readable!

Is there a way to establish the path of the connectors?
Can you understand when there are overlaps?

thanks
example.png (13.3 KB)

@diego.santi,

I have observed your comments. Can you please share sample project, sample presentation, generated result and which Aspose.Slides version you are using on your end so that we may further investigate to help you out.

Best Regards,

Adnan Ahmad

Hi,
I have attached an example of overlapping lines highlighted in red:

example_arrow.png (13.8 KB)

I’m using aspose 17.4.0.0

thanks

@diego.santi,

I have observed your comments. Can you please share sample code so that we may further investigate to help you out.

nothing special.

  1. Open Presentation
  2. Read each shape on presentation and between them. set connections according to the tree
  3. Foreach connection:
    3a. Add new connector
    3b. Setting to new connector: StartShapeConnectedTo, EndShapeConnectedTo, StartShapeConnectionSiteIndex, EndShapeConnectionSiteIndex. depending on the positions of the shape to connect
    3c. setting style of connector
  4. finally, foreach shape on presentation (shapes and connector) i using reorder function to move the shape up and down the connectors
  5. save presentation

using (Presentation DestinationPowerPoint = new Presentation())
{

//Tree construction: read each shapes on Presentation and connect between them. set connections according to the tree

//foreach connection to do {
IConnector connector = CurrentSlide.Shapes.AddConnector(ShapeType.BentConnector4, 0, 0, 10, 10);

connector.StartShapeConnectedTo = shapeStart; //Ishape start according to the tree
connector.EndShapeConnectedTo = shapeEnd; //Ishape end according to the tree

connector.StartShapeConnectionSiteIndex = StartIndex; // int Variable depending on the positions of the shape to connect
connector.EndShapeConnectionSiteIndex = EndIndex;// int Variable depending on the positions of the shape to connect
								
connector.LineFormat.EndArrowheadStyle = LineArrowheadStyle.Triangle;
connector.LineFormat.EndArrowheadWidth = LineArrowheadWidth.Narrow;

connector.AsIShape.LineFormat.FillFormat.FillType = FillType.Solid;
							
//not used  connector.Reroute();
}

//Use shape reorder to move the shape up and down the connectors, using function CurrentSlide.Shapes.Reorder(… foreach shapes in Presentation

//save file and end

}

@diego.santi,

I have observed your requirements. I regret to inform that it is not possible in Aspose.Slides yet. A ticket with ID SLIDESNET-39127 has been created as in our issue tracking system as a new feature request. Our development team will look into the possibility of implementation of the requested feature. This thread has been associated with this new feature request, so that you can be automatically notified as soon as this issue is resolved.

@diego.santi,

I like to inform that our product team investigated issue in details and i like to share their findings with you. I like to inform that IConnector.Adjustments can be used to change connectors position. I have also shared sample code in text file. This will help you to achieve your requirements. Please see attachment.
sample code.zip (635 Bytes)

Hi, thanks for your notice, I hope this resolve my issue.
See you

Hi,
I’m trying to use the Slides.AdjustValue Properties but i don’t understand what mean “rawvalue” and “anglevalue” and how use them.

I found only this documentation

@diego.santi,

I have observed your comments. I have shared sample code to understand rawvalue and anglevalue. This will help you to achieve your requirements.sample code.zip (391 Bytes)
Please share feedback with us if there is still an issue.

Hi, thanks but I cannot download sample file, the page respond “Sorry, this file is private. Only visible to topic owner and staff members.”.

Please post the code directly in the message.

@diego.santi,

I have observed your comments. Please check and share feedback with us if there is still an issue.

Presentation pres = new Presentation();
ISlide slide = pres.getSlides().get_Item(0);
IShapeCollection shapes = slide.getShapes();
IAutoShape shape = shapes.addAutoShape(ShapeType.CalloutWedgeRectangle, 20, 250, 300, 200, true);
shape.getAdjustments().get_Item(0).setRawValue(8500);
shape.getAdjustments().get_Item(1).setRawValue(-120850);
pres.save(“sharePres.pptx”, SaveFormat.Pptx);

Hi,
I’m sorry but i don’t understand which values i need to set for achieve my result.
In a complex presentation with a lot of connector shape, for each connector with only one adjustment point, I add in the alternate text the angle value and raw value.

so I read same angles values for connectors in completlty different position, value of angle = 0,83xxx what means? 3,56xx? 253??

thanks

@diego.santi,

I have observed your comments. You want to use RawValues and these values differs for different types of shapes. For this shape, these values means length of sides for callout, currently this is very difficult to achieve. We have created a ticket with ID SLIDESJAVA-36645 in our issue tracking system to help you out in this issue. We will share good new with you soon. I request for your patience until further feedback is shared by our product team.

hi,
My target is create a kind of tree diagram, so there are a lot of connectors beetween shape.
I must to avoid overlappings of connectors to improve readability.

The biggest difficulty is that I do not know the position of the shapes and connectors, so reading their properties (such direction of the arrow, numbers of elbows, lenght ecc… ), I should easily understand the position and if a connector passes over to others and eventually, move it.

I want to share with you one example of my goal, I hope to help.overlapping_connectors.png (20.7 KB)

@diego.santi,

I like to inform that your information has been shared with our product team. We will share good new with you soon.

hi, any news?

@diego.santi,

I have observed your comments. I like to inform that the issue is pending owing to missing support in Aspose.Slides. The issue is blocked owing to missing implementation in Aspose.Slides for .NET. It will be first investigate and resolved in Aspose.Slides for .NET first and will then be ported to Aspose.Slides for Java. We will share good news with you soon.

hi, any news?

@diego.santi,

I regret to inform that issue is still unresolved. I requested our product to share details regarding this issue and try to resolve as soon as possible. I request for your patience until further feedback is shared by them.