Do you have a script (JScript) for v13 which converts one connection type to another? (Solution 2009435 does not work with v13.)


/*
* Convert Connections
*
* This script converts connections from one type to
* another, based on the "toType" variable set below.
* Simply comment out the appropriate line to assign
* "toType" to the desired connection type.
*
*
* Aaron C Acton
* Technical Services Engineer
* ANSYS, Inc.
* aaron.acton@ansys.com
*
*/

var toType = DS.Script.id_ContactRegion;
//var toType = DS.Script.id_Spring;
//var toType = DS.Script.id_Joint;

//debugger;

var folder;
var connectionIDs = new Array;
var activeObjects = DS.Tree.ActiveObjects;
var activeModel = DS.Tree.FirstActiveModel;
var contactGroup = activeModel.ContactGroup;

for (var i = 1; i <= activeObjects.Count; i++) {
if (activeObjects(i).Class == DS.Script.id_ContactRegion ||
activeObjects(i).Class == DS.Script.id_Joint ||
activeObjects(i).Class == DS.Script.id_Spring) {
connectionIDs.push([activeObjects(i).Class, activeObjects(i).ID]);
}
}

if (connectionIDs.length == 0) {
WBScript.Out("Please select the connections to convert.", true, "Error");
} else {
if (toType == DS.Script.id_Joint || toType == DS.Script.id_ContactRegion) {
SM.Clear();
folder = contactGroup.AddConnectionGroup(SM);
folder.ConnectionType = toType;
DS.Tree.ClearActiveObjects();
DS.Tree.AddActiveObjectID(folder.ID);
}
for (var i = 0; i < connectionIDs.length; i++) {
switch (connectionIDs[i][0]) {
case DS.Script.id_ContactRegion:
if (toType == DS.Script.id_Joint) contact2joint(connectionIDs[i][1]);
else if (toType == DS.Script.id_Spring) contact2spring(connectionIDs[i][1]);
break;
case DS.Script.id_Joint:
if (toType == DS.Script.id_ContactRegion) joint2contact(connectionIDs[i][1]);
else if (toType == DS.Script.id_Spring) joint2spring(connectionIDs[i][1]);
break;
case DS.Script.id_Spring:
if (toType == DS.Script.id_ContactRegion) spring2contact(connectionIDs[i][1]);
else if (toType == DS.Script.id_Joint) spring2joint(connectionIDs[i][1]);
break;
default:
break;
}
}
SM.Clear();
DS.Script.fillTree();
}

function spring2contact(id) {
var spring, contact;
SM.Clear();
spring = DS.Tree.GetObject(id);
contact = contactGroup.AddContactRegion(SM, DS.Script.id_BondedContact);
SM.Clear();
DS.Graphics.EditSelectionSet(spring.ID, 0);
contact.SourceGeometry = SM;
SM.Clear();
DS.Graphics.EditSelectionSet(spring.ID, 1);
contact.TargetGeometry = SM;
spring.Suppressed = true;
}

function spring2joint(id) {
var spring, joint, scoping = 0;
SM.Clear();
spring = DS.Tree.GetObject(id);
if (spring.SpringScopingType == DS.Script.id_SpringScopingTypeBodyToBody) {
scoping = DS.Script.id_JointScopingTypeBodyToBody;
} else if (spring.SpringScopingType == DS.Script.id_SpringScopingTypeBodyToGround) {
scoping = DS.Script.id_JointScopingTypeBodyToGround;
}
joint = contactGroup.AddJoint(SM, DS.Script.id_FixedJoint, scoping);
SM.Clear();
DS.Graphics.EditSelectionSet(spring.ID, 0);
joint.ReferenceSet = SM;
SM.Clear();
DS.Graphics.EditSelectionSet(spring.ID, 1);
joint.MobileSet = SM;
spring.Suppressed = true;
}

function contact2joint(id) {
var contact, joint;
SM.Clear();
contact = DS.Tree.GetObject(id);
joint = contactGroup.AddJoint(SM, DS.Script.id_FixedJoint, DS.Script.id_JointScopingTypeBodyToBody);
SM.Clear();
DS.Graphics.EditSelectionSet(contact.ID, 0);
joint.ReferenceSet = SM;
SM.Clear();
DS.Graphics.EditSelectionSet(contact.ID, 1);
joint.MobileSet = SM;
contact.Suppressed = true;
}

function contact2spring(id) {
var contact, spring;
SM.Clear();
contact = DS.Tree.GetObject(id);
spring = contactGroup.AddSpring(SM, DS.Script.id_SpringScopingTypeBodyToBody);
SM.Clear();
DS.Graphics.EditSelectionSet(contact.ID, 0);
spring.ReferenceSet = SM;
SM.Clear();
DS.Graphics.EditSelectionSet(contact.ID, 1);
spring.MobileSet = SM;
contact.Suppressed = true;
}

function joint2spring(id) {
var joint, spring, scoping = 0;
SM.Clear();
joint = DS.Tree.GetObject(id);
if (joint.JointScopingType == DS.Script.id_JointScopingTypeBodyToBody) {
scoping = DS.Script.id_SpringScopingTypeBodyToBody;
} else if (joint.JointScopingType == DS.Script.id_JointScopingTypeBodyToGround) {
scoping = DS.Script.id_SpringScopingTypeBodyToGround;
}
spring = contactGroup.AddSpring(SM, scoping);
SM.Clear();
DS.Graphics.EditSelectionSet(joint.ID, 0);
spring.ReferenceSet = SM;
SM.Clear();
DS.Graphics.EditSelectionSet(joint.ID, 1);
spring.MobileSet = SM;
joint.Suppressed = true;
}

function joint2contact(id) {
var joint, contact;
SM.Clear();
joint = DS.Tree.GetObject(id);
contact = contactGroup.AddContactRegion(SM, DS.Script.id_BondedContact);
SM.Clear();
DS.Graphics.EditSelectionSet(joint.ID, 0);
contact.SourceGeometry = SM;
SM.Clear();
DS.Graphics.EditSelectionSet(joint.ID, 1);
contact.TargetGeometry = SM;
joint.Suppressed = true;
}





Show Form
No comments yet. Be the first to add a comment!