LinkageCAD

LinkageCAD[]
LinkageCAD[] opens an interactive linkage definition dialog window. The dialog returns the LinkageData of the created mechanism.
LinkageCAD[linkage]
opens a dialog box and loads linkage definition. The links and kinematic pair definitions can be interactively edited.
LinkageCAD[gr]
displays a dialog window, with gr image as background in the design area. The linkage can be traced and defined using the background graphics.
  • LinkageCAD is a small CAD system, that is capable to interactively define planar mechanisms. The work-flow of the linkage definition consists of three main steps:
  • 1. Drawing the links of the mechanism
  • 2. Define the kinematic pairs
  • 3. Create the mechanism
  • The dialog of the LinkageCAD window consist of two main region. The left side is the Canvas, which is the graphic work area where the geometric input can be done using principally the mouse. The right side contains the menus and toolbars.
  • The menu area divided into 3 tab view:
  • 1. Draw Link Tab
  • 2. Define Kinematic Pair Tab
  • 3. Linkage Graph Tab
  • These tabs corresponds two the main steps of the work-flow.
  • Figure 1. Main work areas of LinkageCAD window
  • As the first step the geometry of the links should be drawn. All link geometry can be defined by selecting points on the canvas. Point selection is made by left clicking with the mouse on the canvas.
  • Based on the type of geometry, the links are immediately drawn. The selected points are gathered and stored in the vertex list of the selected link. To finish the link definition and start a new link's definition either right click on the canvas or push the New Link command from the PopUp menu. In this case the point selection will be stored in the vertex list of the new link. The vertex list of the active link is listed in the Point's coordinates combo box in the Draw Link Tab.
  • The link rendering can be set or changed by selecting one of the geometry selector toolbar buttons. All link rendering uses the same principles, namely takes the list of vertexes - defined by clicks on the canvas- annotate them and draw the geometry determined by these annotated anchor points. The annotated points can be used later to select snapped anchor points to define other link geometries or kinematic pairs.
  • The user can control the grid and anchor point snapping with the Grid Distance and Snap diameter options.
  • Grid distance determines the granularity (rounding magnitude) which is used to digitize the coordinates of the click selected mouse position. In case the grid distance is set to 5, than the selected vertex coordinates are always the multiple of 5.
  • Snap diameter determines the diameter of the neighborhood of the anchor points, where the mouse selection should return the anchor points. For example if the Snap diameter is 20 and the mouse is clicked in within the neighborhood of anchor point i, where the distance of the click selected point and the anchor point is less than 10, than the selected coordinates will be the coordinates of anchor point i.
  • In order to switch on or off the snapping select or deselect the Snap to Point radio button in the Point Input option.
  • In case the Snap to Point is selected points are snapped to the anchor points.
  • In case The Exact Coordinates button is selected, than points are not snapped but only rounded with the grid distance.
  • In case the Linearized Coordinates button is selected, the coordinates of the selected points are snapped to a line determined by the first two vertexes of the current link's list.
  • The generated vertex list can be edited ore deleted using the action menu called Edit Links on the top of the tab. There are four commands are available:
  • New Link - Append a new link into the list of all link
  • Delete selected link - Deletes the vertex list of the currently selected link
  • Delete all links - clear the link list
  • Delete last point - Deletes the last vertex of the currently selected link
  • Figure 2. Link definition toolbar
  • After the link geometries are created, the kinematic pairs between the links can be defined. The link geometries are supposed to drawn in a fully assembled pose, therefore the joint feature ( point and direction) are super-positioned of the two links. To define one kinematic pair the lower and upper link the type of the joint and the place and orientation of the joint marker should be specified.
  • This can be done using the Define Kinematic Pair Tab. In this tab a small wizard is implemented , which highlights the required input information.
  • At first the Lower Link input field is highlighted, which signals that the index of the lower link should be selected. By clicking on the geometry of the lower link in the Canvas the index of the click selected link is copied into the input box.
  • As soon a valid link index is selected, the focus of the is moved to the Upper Link field and highlights this input field. Similarly to the Lower Link selection the index of the upper link can be click selected in the Canvas.
  • Finally the highlight moves to the Joint Center field. Here the coordinates of the kinematic pair should be click selected. The click selection can be made in the Canvas using the mouse in the same way as the link's geometries are defined. In case the Joint type is set to Translational a new input field appears next to the Joint Center. The new field is called Joint Direction that expects the coordinate of a point. The coordinates can be click selected in the Canvas.
  • If all the fields of the joint definition is filled out correctly than the kinematic pair can be saved into the joint's list either by pressing the Save Definition button or right click with the mouse on the canvas. This will insert the kinematic pair definition into the joint's list, if there is no joint definition with the same lower and upper link index. If it has than the definition of the kinematic pair is updated.
  • In case the click selection inserted incorrect information into the Input fields, the inserted text can be manually edited by typing the correct values. Information can be edited by cycling the highlighting ( pressing the Cycle Selection button) until the field to be edited is highlighted. The new click selected index or coordinate will overwrite the old ones.
  • The generated kinematic pair definition list can be edited ore deleted using the action menu called Edit Joint on the top of the tab. There are four commands are available:
  • Save Definition - Inserts/Update kinematic pair definition
  • Clear Joint - Clear all input fields
  • Delete Selected Joints - Remove the currently selected kinematic pair from the joint's list.
  • Delete All Joints - Deletes all kinematic pair.
  • The kinematic pairs of the joint's list are listed in the Define Kinematic Pair Pop-upMenu. By selecting one of the kinematic pair, it is loaded into the input fields and the corresponding links and joint icons are highlighted on the Canvas.
  • If all links and kinematic pairs are defined, linkage can be built by pressing the define linkage button. This will compile all information and call the linkage definition function of LinkageDesigner. As the definition finished, the linkage graph, the list of $LDDrivingVariables and the list of of the resulted linkage is shown in the Linkage Graph tab.
  • Figure 3. Kinematic pair definition toolbar
  • Figure 4. Display linkage graph toolbar
  • Linkage definition function can be called using numerical link length or parametric link lengths. The first definition is called if the Numeric Length Toggler is selected, while the second if the Parameterized Length Toggler is selected ( see on Figure 5).
  • Figure 5. Linkage definition selector
  • The following selected options can be given:
BackgroundNoneBackground is an option which specifies what background color to use.
BaselinePositionAutomaticBaselinePosition is an option which specifies where the baseline of an object is considered to be for purposes of alignment with surrounding text or other expressions.
BaseStyle{}BaseStyle is an option for formatting and related constructs that specifies the base style to use for them.
ColorOutputAutomaticColorOutput is an option for graphics functions which specifies the type of color output to produce.
FrameLabelNoneFrameLabel is an option for Graphics, Manipulate and related functions that specifies labels to be placed on the edges of a frame.
ImageMargins0.ImageMargins is an option which specifies the absolute margins to leave around the image displayed for an object.
ImagePaddingAllImagePadding is an option for graphics functions that specifies what absolute extra padding should be left for extended objects such as thick lines and annotations such as tick and axis labels.
ImageSize600ImageSize is an option which specifies the overall size of an image to display for an object.
PlotRange600PlotRange is an option for graphics functions that specifies what range of coordinates to include in a plot.
TicksAutomaticTicks is an option for graphics functions that specifies tick marks for axes.
TicksStyle{}TicksStyle is an option for graphics functions which specifies how ticks should be rendered.
Load the LinkageDesigner package
In[1]:=
Click for copyable input
Open an empty linkageCAD window
In[2]:=
Click for copyable input