Skip to content

Instantly share code, notes, and snippets.

@jbsarrodie
Created September 14, 2018 18:57
Embed
What would you like to do?
#jArchi script to remove bendpoints on selected relationships
// RemoveBentpoints
//
// Requires jArchi - https://www.archimatetool.com/blog/2018/07/02/jarchi/
//
// This script takes a selection of visual objects as input, filter it to keep only relationships and remove all their bendpoints
//
// (c) 2018 Jean-Baptiste Sarrodie
$(selection).filter("relationship").filter(function(o) {return o.view}).each(function(o) {
var view = o.view;
var rel = o.concept;
var source = o.source;
var target = o.target;
o.delete();
view.add(rel, source, target);
})
@InceptusSolutions
Copy link

InceptusSolutions commented Aug 17, 2022

Similar to last comment but I have replaced

$(selection).filter("relationship").filter(function(o) {return o.view}).each(function(o) {

with

$(selection).filter("relationship").filter(function(o) {return o.view!=undefined}).each(function(o) {

which seemed simpler.
Also made a couple more changes to preserve the label expression

var labelExpr=o.labelExpression;

newo=view.add(rel, source, target);
newo.labelExpression=labelExpr;

@markbacker
Copy link

With the relative new method deleteAllBendpoints() you can keep the selected relations. No need to restore anything.

Combined with your line this script only removes the bendpoints of the selected relations:

$(selection).filter("relationship").filter(function(o) {return o.view!=undefined}).each(function(o) {
  o.deleteAllBendpoints();
})

@InceptusSolutions
Copy link

Well that's simpler.
I've been using the script a while and never noticed it had been incorporated into the language.
Thanks
(off to update some scripts now)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment