<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--
Copyright (c) 2006 UGS Corp.

All Rights Reserved.

This software and related documentation are proprietary to UGS Corp.
-->
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Branch point creation methods</title>
      <script language="javaScript">
        abridged="false";
        displayConditions=new Array();
      </script>
      <link type="text/css" href="../css/main_styles.css" rel="stylesheet">
   </head>
   <body class="bodydocs" onload="top.pageLoader()" bgcolor="#FFFFFF">
      <div class="title_topic3" id="xps10_pagetitle">Branch point creation methods</div>
      <hr noshade="true">
      <p class="para_topic">Harnesses have branch points where some wires travel away from a bundle in one direction and other wires to another direction. The most obvious way to create such a branch point is to subdivide the main segment and then create another segment beginning at the resulting RCP.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/original1.gif"></p>
      </div>
      <div class="title_figure">Original segment</div>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/subdivide2.gif"></p>
      </div>
      <div class="title_figure">Subdivided segment</div>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/branch3.gif"></p>
      </div>
      <div class="title_figure">Branch segment added</div>
      <p class="para_topic">This method works, but modifying the position of the branch point is difficult. The reason is that the point is now defined to be at the end of the segments created by the <b class="uiTerm">Subdivide</b> operation, so the location of the RCP is dependent on the segments. The RCP cannot be moved unless both segments are redefined.
      </p>
      <p class="para_topic">Two methods of creating a branch point are described below that allow the branch point to be moved easily while maintaining segment tangencies. The first method uses a circle in the work part, the second uses a fixture port in a component.</p>
      <div class="title_division">Circle method</div>
      <ul>
         <li>
            <p class="para_item"><b class="uiTerm">Orient WCS</b>: Starting with an existing spline segment, orient the WCS using <b class="uiTerm">Point, Perpendicular Curve</b> so that the X&ndash;Y plane is perpendicular to the segment, located at the point along the segment where the branch point is to occur.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/perpendicular.gif"></p>
            </div>
            <div class="title_figure">WCS origin perpendicular to segment</div>
         </li>
         <li>
            <p class="para_item"><b class="uiTerm">Create a Circle</b>: Create a circle of any radius located at the WCS origin.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/circle_origin.gif"></p>
            </div>
            <div class="title_figure">Circle created at WCS origin</div>
         </li>
         <li>
            <p class="para_item"><b class="uiTerm">Create New Segments</b>: Full associativity requires that the existing segment be deleted and two new segments be created using the circle to define the end point of the segments. If the existing segment were subdivided at the arc center, there would be no association of the location of the segment ends to the arc center.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/circle_segment.gif"></p>
            </div>
            <div class="title_figure">One of two new segments created</div>
            <p class="para_item"><b class="uiTerm">Heal Path</b> typically provides an easy way to create the new segments. Select the object that the old segment started at as the start object (port, another segment, etc.) and then the circle as the end object. Enter an end length of some value for each segment to define the tangent vector as the axis of the circle.
            </p>
         </li>
         <li>
            <p class="para_item"><b class="uiTerm">Create Branch Segment</b>: The branch segment can now be created using the circle as the start or end object. Again, enter a value for the start or end Length to define the tangent vector parallel with the axis of the circle.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/branch4.gif"></p>
            </div>
            <div class="title_figure">Branch segment created</div>
            <p class="para_item">You now have three segments that are connected at the center of the circle. Now you can use the Modeling <b class="uiTerm">Edit&rarr;Transform</b> to move or rotate the circle. All three segments will move along with the circle and maintain their tangencies.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/branch_move.gif"></p>
            </div>
            <div class="title_figure">Circle branch point moved</div>
         </li>
      </ul>
      <div class="title_division">Branch component method</div>
      <p class="para_division">Create a new part containing two fittings ports back&ndash;to&ndash;back. Define default extension values that will drive the spline segment tangencies. The location and orientation of the ports is not important.</p>
      <p class="para_division">Create a small sphere body at the same location as the origin of the ports. This solid body provides a reference for the placement of drag handles to aid in the repositioning of the component in the Harness assembly.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/two_fittings.gif"></p>
      </div>
      <div class="title_figure">Create two fittings ports in a new component</div>
      <ul>
         <li>
            <p class="para_item">Place the <b class="uiTerm">Branch Component</b> into the harness assembly: Use <b class="uiTerm">Place Part</b> to add the <b class="uiTerm">Branch Component</b> to the harness assembly on the segment where the branch point is to be located.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/original2.gif"></p>
            </div>
            <div class="title_figure">Original segment</div>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/branch_placed.gif"></p>
            </div>
            <div class="title_figure">Branch component placed</div>
            <p class="para_item">In <b class="uiTerm">Place Part</b>, select the segment as the placement object. You can then use the <b class="uiTerm">Transform</b> options to slide the component along the segment to the desired location.
            </p>
            <p class="para_item">Note that the tangency vector magnitude of the segments is not determined by the port extension values at this point. The segments must be deleted and recreated, selecting the ports as end items, in order to establish the extension values as the tangency vector magnitude values [optional].</p>
         </li>
         <li>
            <p class="para_item">Create the <b class="uiTerm">Branch Segment</b>: Use one of the ports of the branch component to create the branch segment.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/branch_segment.gif"></p>
            </div>
            <div class="title_figure">Create branch segment</div>
            <p class="para_item">You now have three segments that are connected at the branch component, which all have their end points defined by the ports of the branch component. Now you can use Routing <b class="uiTerm">Move Part</b> (or Assemblies <b class="uiTerm">Reposition Component</b> to relocate the branch point.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/branch_translated.gif"></p>
            </div>
            <div class="title_figure">Branch component translated and rotated</div>
            <table border="0">
               <tr>
                  <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
                  <td valign="bottom" align="left" width="100%">
                     <div class="para_note">
                        <p class="para_note_body">The branch segment does have a tangency vector magnitude defined by the port extension, since it was created by selecting the port as the end item.</p>
                     </div>
                  </td>
               </tr>
            </table>
            <p class="para_item">The <b class="uiTerm">Branch Component</b> can also be moved using the <b class="uiTerm">Move Along Path</b> method of <b class="uiTerm">Move Part</b>. With this method, the main bundle segment remains unaltered and the branch segment updates to accommodate the new branch point.
            </p>
            <div class="figure">
               <p align="center"><img align="bottom" src="graphics/move_along.gif"></p>
            </div>
            <div class="title_figure">Move along path relocation</div>
         </li>
      </ul>
      <div class="title_division">Conclusion</div>
      <p class="para_division">Two methods are described to define a branch point that has advantages over simply subdividing a segment. With both the <b class="uiTerm">Circle Method</b> and the <b class="uiTerm">Component Method</b>, the branch can be easily moved and the segment tangencies maintained.
      </p>
      <p class="para_division">The <b class="uiTerm">Circle Method</b> allows the branch point to be moved using <b class="uiTerm">Edit&rarr;Transform</b>. The disadvantage is that the Routing <b class="uiTerm">Transform Path</b> and <b class="uiTerm">Move Part</b> cannot be used to reposition a modeling curve.
      </p>
      <p class="para_division">The <b class="uiTerm">Component Method</b> offers the advantage of using Routing <b class="uiTerm">Move Part</b> to relocate the branch point. The disadvantage is that this method adds a component to the assembly structure that does not represent a real part.
      </p>
   </body>
</html>