WO2001035239A1 - Computerized mechanical synthesis and modeling in cad applications - Google Patents

Computerized mechanical synthesis and modeling in cad applications Download PDF

Info

Publication number
WO2001035239A1
WO2001035239A1 PCT/US2000/041996 US0041996W WO0135239A1 WO 2001035239 A1 WO2001035239 A1 WO 2001035239A1 US 0041996 W US0041996 W US 0041996W WO 0135239 A1 WO0135239 A1 WO 0135239A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
parameters
operator
linkage points
links
Prior art date
Application number
PCT/US2000/041996
Other languages
French (fr)
Other versions
WO2001035239A8 (en
Inventor
Jonathan B. Cook
Original Assignee
Cook Jonathan B
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cook Jonathan B filed Critical Cook Jonathan B
Priority to AU36430/01A priority Critical patent/AU3643001A/en
Publication of WO2001035239A1 publication Critical patent/WO2001035239A1/en
Publication of WO2001035239A8 publication Critical patent/WO2001035239A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Definitions

  • the present invention relates generally to computer synthesis and modeling of mechanisms, and more specifically to an improvement in computerized mechanism synthesis applications such as Computer Aided Design(CAD).
  • CAD Computer Aided Design
  • a mechanism is generally a combination of geometric bodies which constitute a machine or part of a machine. As such they may contain rigid or resistant bodies formed and connected so that they move with definite relative motions with respect to one another. These mechanisms require various calculations for proper implementation and use. These calculations can completely engross the most proficient and left to manual acumen, such task is daunting.
  • computing applications have been and are being developed to assist designers and engineers to undertake calculations required for the synthesization and analysis of mechanisms.
  • CAD Computer Aided Design
  • This computing application provides a designer or engineer the ability to create, model, and analyze desired physical systems in a computerized realm.
  • the functionality offered in such an application is generally directed towards the creation and manipulation of graphic representations of a desired construct.
  • a common characteristic of graphics synthesis and analysis applications is that parts, whether mechanical, electronic or of whatever kind, are designed in interactive mode. That is, the part—as far as already designed ⁇ is displayed on a display device (e.g. as two-dimensional, or as perspective view) such as a CRT (cathode ray tube) or an LCD (liquid crystal display).
  • a display device e.g. as two-dimensional, or as perspective view
  • the user enters commands via appropriate input means, preferably a computer mouse, a graphics tablet or a light pen in order to complement or modify the existing structure.
  • the editing process is finished, i.e., the part is defined, it may be plotted or otherwise be reproduced.
  • CAD provides a designer tools to facilitate the drawing, rotating, scaling, or moving of a desired construct. These functions are accomplished by selecting the items to be manipulated and then entering a suitable command through a user interface such as a keyboard or mouse to apply the sought after function.
  • CAD applications may provide additional functionality in the form of analysis tools to assist a designer in modeling the behavior of a desired construct.
  • the present invention provides an apparatus and methods for the computerized graphic synthesis of mechanisms allowing for instantaneous calculation, regeneration, and display of a mechanism and a mechanism's parameters.
  • a mechanism or mechanism elements may be created or retrieved on a computer graphics synthesis and analysis application through operator input.
  • the present invention instantaneously tracks operator input, processes the input to generate first mechanism parameters, stores the first parameters, and displays the input and processed parameters as graphic representations in accordance with the computer graphics synthesis and analysis application.
  • the present invention instantaneously tracks operator modifications, uses the stored first parameters to process modifications to generate second mechanism parameters, stores the second parameters, and displays the modifications and second parameters in accordance with the computer graphics synthesis and analysis application.
  • Figure 1 shows a computer system running in accordance with the present invention
  • Figure 2 is a representation of a mechanism created and modified in accordance with the present invention
  • Figure 3 is a flowchart of the processing performed by the present invention
  • Figure 4 is a vector representation of the mechanism depicted in FIGURE 2
  • Figure 5 is a representation of an alternative mechanism created in accordance with the present invention
  • Computer graphics are used today in many different areas of industry, business, government, education, entertainment, and in the home.
  • CAD computer-aided design
  • interactive graphics are used to design components and systems of mechanical, electrical, electro-mechanical and electronic devices.
  • these systems include structures (such as buildings, chemical and power plants, automobile bodies, airplane and ship hulls and their contents), machines of varying complexity, optical systems and computer networks.
  • the emphasis is sometimes only on producing precise drawings of components and (sub)assemblies, as in online drafting and architectural rendering. More frequently, however, the emphasis is on interacting with a computer-based model of the component or system being designed in order to test, for example, its mechanical, electrical or thermal properties.
  • the model is interpreted by a simulator (an additional computing application interacting with the CAD application) which feeds back the behavior of the system to the display console operator for further interactive design and test cycles.
  • a computer graphics systems comprise an input unit (e.g. keyboard, mouse, graphics tablet, or stylus pen), a processing unit (CPU), a display device (e.g. CRT or LCD), and an output unit (e.g. plotter and printer).
  • an input unit e.g. keyboard, mouse, graphics tablet, or stylus pen
  • CPU processing unit
  • display device e.g. CRT or LCD
  • output unit e.g. plotter and printer
  • a design item may be assembled from line segments, circles and arcs for example.
  • Each of the line segments can be defined by the coordinates, in an
  • XYZ-coordinate system of the respective ends of the line segment.
  • Each of the circles can be defined by the XYZ-coordinates of the circle center point as well as the radius of the circle.
  • Each of the arcs can be defined by the XYZ-coordinates of the respective ends of the arc as well as the radius of the arc.
  • either of the above-described design elements can also be defined by polar coordinates combined with radius values (where applicable).
  • XYZ-coordinates and polar coordinates are mutually convertible, so that the difference between the two methods of performing element definition is insignificant.
  • the element definition data may additionally include pieces of information relating the kinds of lines (e.g. thick lines, thin lines, broken lines, chain lines, and so forth) and/or the colors of lines.
  • sophisticated applications may contain rendering functionality which applies textured surfaces to created structures indicating shadows and light reflections.
  • a design item is formed by entering definition data for various design elements through the keyboard or by plotting the end points for a line segment on the display device.
  • the designed image is stored in the memory not as image data but as a combination of the definition data for the various elements.
  • the element definition data stored in the memory can be conveniently used for analyzing the formed design item.
  • CAD applications provide a useful tool in creating computer graphic representations of mechanisms which can be stored electronically for future modification and use.
  • computer synthesis applications such as CAD can perform limited analysis on the created structures. Such analysis may include dimensioning and animation.
  • analysis functionality maintained by existing computer synthesis applications do not provide instantaneous calculations of various variables, such as coupler point position, mechanical advantage, velocity, acceleration and force, upon the modification of a structure.
  • the present invention provides an improvement on computer synthesis applications. This improvement is such that when a structure is created or a created structure is updated, modified or changed through operator input, the graphic representation of the structure is instantaneously regenerated concurrent with the operator input.
  • the improvement not only modifies the structure but also calculates, updates, and displays associated structure parameters.
  • the present invention is directed to a system and methods that enable the instantaneous regeneration and update of graphic representations of computer synthesized mechanisms.
  • the present invention comprises a system and method that couples an operator with the graphic representation of a given mechanism, allowing instantaneous manipulation, parameter calculation, and regeneration of a given mechanism.
  • the methods and apparatus of the present invention may be implemented as part of a desktop computer system having a graphic synthesis and analysis computing application, such as computer aided design (CAD), having at least one input interface device, a microprocessor, memory, and a display device.
  • CAD computer aided design
  • the depicted embodiment provides a CAD computer synthesis and analysis computing application running on a desktop computer system having one computer processing unit, a mouse, a keyboard, and a cathode ray tube (CRT) display device
  • CTR cathode ray tube
  • Figure 1 shows computer system 100 having a computer processing unit 110, an operator input interface keyboard device 120, an operator input interface pointer device 130, and display device 140.
  • Computer processing unit 110 contains a microprocessor or another central processing unit (CPU), memories, and all associated electronics to run various computing applications.
  • the computing system 100 runs a computer graphics synthesis and analysis application 142 (e.g. such as CAD) on computer processing unit 110.
  • CAD computer graphics synthesis and analysis application
  • an operator inputs instructions to computer graphics synthesis and analysis application 142 through operator input interface keyboard device 120 or operator input interface pointer device 130.
  • Operator inputs are processed by computer graphics synthesis and analysis application 142 on computer processing unit 110 to create data sets. Additionally, the operator inputs are used by computer graphics synthesis and analysis application to calculate parameters 150(a) specific to mechanism 150.
  • the data sets and parameters correlate to graphic representations within computer graphics synthesis and analysis application 142 which can be displayed to an operator on display 140.
  • computer graphics and synthesis application 142 provides the operator the ability to modify synthesized mechanism 150. This operation is achieved by first selecting the portion of the graphic representation of synthesized mechanisml50 to be modified. The selection process is achieved through the use of operator input interface keyboard device 120 or operator input interface pointer device 130.
  • modifying mechanism 150 an operator inputs instructions to computer graphics synthesis and analysis application 142 through operator input interface devices 120 and 130.
  • Operator interfaces 120 and 130 act to control graphic pointer 144 of computer graphic synthesis and analysis application 142. Pointer 144 has freedom of movement within computer graphic synthesis and analysis application 142 such that it can move over the desired portion of the synthesized mechanism 150.
  • modified mechanism 152 Once selected, the operator inputs further commands through operator input interfaces 120 and 130 to manipulate the selected portion(s) of mechanism 150.
  • the modification operation results in the creation of modified mechanism 152.
  • computer graphics synthesis and analysis application calculates new parameters 152(a) for modified mechanism 152.
  • a graphic representation of modified mechanism 152 along with its newly calculated parameters 152(a) are then instantaneously displayed on display 140.
  • Figure 2 shows original computer synthesized mechanism 150 and modified synthesized mechanism 152 of Figure 1 in more detail.
  • the depicted embodiment provides a four-bar linkage planar mechanism, those skilled in the art will appreciate that the inventive concepts described herein extend to computerized synthesis of planar and non-planar multiple link mechanisms.
  • Mechanism 150 is shown having four links, 210, 220, 230, and 240.
  • Link 210 serves as ground for mechanism 150. As a ground, this link is stationary and does not have translational or rotational freedom.
  • Ground 210 has two linkage points 250 and 260 which are coupled to links 220 and 240, respectively.
  • Linkage point 250 allows link 220 to move about the ground link 210.
  • linkage point 260 allows link 240 to move about ground link 210.
  • Link 230 constitutes the coupler link of mechanism 150. As such it has three linkage points 252, 256, and 258. Linkage points 252 and 258 act to couple link 230 to links 220 and 240, respectively, and link 230.
  • linkage points 252 and 258 allow coupler link 230 to move about links 220 and 240.
  • one of the mechanism links such as 220 or 240 may serve as an input link which can be placed in motion.
  • the input link 220 or 240 rotates about ground link 210 through ground linkage points 250 or 260 respectively.
  • link 240 becomes a follower link since its rotation merely follows the motion determined by the input link 220 and coupler link 230.
  • link 240 serves as the input link
  • link 220 becomes the follower link since its rotation merely follows the motion determined by the input link 240 and the coupler link 230.
  • linkage point 256 of link 230 traces out coupler curve 270.
  • Coupler curve 270 serves to indicate to a designer or engineer motion parameters for a mechanism having the described configuration.
  • Figure 2 further shows modified mechanism 152.
  • Mechanism 152 is a modified computer regenerated four-bar linkage planar mechanism of mechanism 150, modified by an operator. Accordingly, mechanism 152 maintains elements common to mechanism 150.
  • Mechanism 152 has ground link 210 connected to linkage points 250 and 260 respectively.
  • Linkage point 250 mechanically couples modified link 220(a) to ground link 210.
  • linkage point 260 mechanically couples modified link 240(a) to ground link 210.
  • Coupler link 230(a) is mechanically coupled to modified links 220(a) and 240(a) via modified linkage points 252(a) and 258(a) respectively.
  • modified link 220(a) or 240(a) can act as an input link to place modified coupler link 230(a) into motion.
  • modified linkage point 256(a) traces out modified coupler curve 280.
  • Figure 3 illustrates the processing undertaken by graphic manipulation and analysis program 142 to modify synthesized mechanism 150 to produce modified mechanism 152, in accordance with the present invention.
  • Figure 3 is described using a mouse (operator input interface device) to control the graphic synthesis and analysis program, the present invention is not limited to this one example, as it contemplates the use of various user input interfaces including but not limited to a keyboard, a drawing tablet, a stylus pen or voice input interfaces.
  • Graphic synthesis and analysis application 142 begins application start-up at block 300. Operator (not shown) inputs commands via input interfaces devices 120 and 130 to draw or retrieve stored links and linkage points at block 305 to be displayed on display
  • the inputs are processed by computer graphics synthesis and analysis application 142 at block 307 to generate parameters for corresponding links and linkage points.
  • the parameters of the links and linkage points are then stored in the application memory at block 310 to be used for graphical display at block 315 and subsequent modified mechanism parameter calculation at block 365.
  • Application 142 then proceeds to display the links and linkage points using the generated parameters of block 307 at block 315.
  • application 142 monitors the user input interface, a mouse for example, at block 320 to determine if there has been a "capture” input.
  • a "capture” input is one in which the operator selects a created mechanism element through operator input interfaces 120 or 130 for modification.
  • the application continues to display the generated links and linkage points, and continues to monitor for user input. However, if there is a "capture” input at block 320, the application will then determine at block 325 if graphic pointer 144 is proximate to one of the generated links or linkage points. For example an operator may use mouse 130 to move over the mechanism element that is desired to be changed. The operator may then depress the left button 132 of a mouse 130 to select the desired mechanism element.
  • application 142 will determine if this "capture” input places the pointer 144 proximate to a generated link or linkage point. If the "capture” input does not result in a proximate position to a generated link or linkage point, the application proceeds to block 320 where computer graphics synthesis and analysis application checks for further user input. If, however, proximate positioning is realized, the targeted link or linkage point is "captured” at block 330. Application 142 proceeds to set application variables at block 330 to indicate the link or linkage point that has been captured. Once captured, operator inputs are monitored at block 340 to determine if the captured link or linkage point has been moved from its original position. If there is no further user input at block 340, the application variables are reset at block 350 to indicate that the positioning of the targeted link or linkage point has not been changed and the application returns to step 320 and continues processing therefrom.
  • application 142 tracks the additional operator input at block 345 and updates the "captured" link or linkage point at block 355.
  • This update includes application 142 generating new positional parameters for the modified link or linkage point at block 355.
  • the new parameters calculated at block 355 include positional coordinates for the modified links and linkage points. Accordingly, the new positions are stored at block 360 and subsequently used to calculate the modified mechanism parameters at block 365.
  • the modified links, modified linkage points, and parameters are regenerated and displayed on display 140 at step 370. Once displayed, application 142 reverts to step 320 to once again perform a check for "captured" elements.
  • link length 220 is modified to modified link length 220(a).
  • step 320 of Figure 3 If the operator continues to capture the targeted element in accordance with step 320 of Figure 3, the mechanism continues to be instantaneously updated and displayed in accordance with operator mouse moves. Such processing is once again realized in steps 320 - 370 of Figure 3. Similar steps would be performed preformed to change linkage point 258 to modified linkage point 258(a). Correspondingly, this change would result in modified link length 240(a).
  • Figure 4 illustrates calculations performed at blocks 355-370 of Figure 3 to obtain new parameters for modified mechanism 152 of Figure 2. These parameters are calculated from the parameters of the originally synthesized mechanism 150 of Figure 2 and new operator inputs.
  • Figure 4 shows mechanism 150 and modified mechanism 152 of Figure 2 in a vector coordinate system 401.
  • Vector coordinate system is made up of a horizontal x axis 402 and a vertical vector axis iy 403.
  • computing application 142 (not shown) recognizes and stores the initial position of the mechanism determined by vector RA ⁇ 404.
  • application 142 can calculate and store various positions and angles relative to vector Ra ⁇ 404 for links and linkage points created or retrieved by an operator. As is described below, the stored positions are used by application 142 in computations to calculate various parameters for mechanism 150.
  • mechanism 150 coupler curve 270 and modified mechanism 152 coupler curve 280 are mechanism 150 coupler curve 270 and modified mechanism 152 coupler curve 280.
  • mechanisml50 has links described by vectors rl - r6.
  • mechanism 150 has linkage points A-E.
  • mechanism 150 may be placed into motion if an input link (r2 or r4) is rotated about a linkage point (A or D).
  • linkage point E of mechanism 150 traces a motion path.
  • This motion path is coupler curve 270 of mechanism 150.
  • Coupler curves may be important to designers working with mechanisms because they describe the many possible paths motion that a mechanism may encounter. Accordingly, coupler curves may be calculated by application 142 according to the following.
  • Computing application will first determine if the input link, represented by vector R2, will behave as a crank or a rocker. Generally, when solving for the coupler curve, the four links can be classified as the shortest(s), longest(l) and the intermediate links(p and q).
  • application 142 uses the information stored about the created links and linkage points of mechanism 150 to determine if the input link r2 will behave like a crank or a rocker. It is assumed for the purposes of this example that the input link is link r2 and it will behave like a crank. Having determined that input link r2 is a crank, the coupler curve may be calculated. Accordingly, to solve for the coupler curve, point E must be determined for every possible place link r2 can rotate. Therefore a discrete number of positions for link r2 is determined. For the example provided, it is assumed that application 142 will undertake computations for 360 positions, corresponding to one position for each degree of rotation of link r2 of Figure 4.
  • application 142 may calculate coupler curve 270 of mechanism 150 by incrementing angle ⁇ 2 (the angle of r2) by a single degree from 0 to 360. Coupler curve 270 is solved by calculating point E using the equations below. For each computation, application 142 stores the resulting information. Application 142 proceeds to graphically represent the stored positions as a path intersecting with linkage point E.
  • Figure 4 further shows various variables used in calculations performed by application 142 to determine coupler curve 270 for mechanism 150.
  • vector rl describes ground link of mechanism 150.
  • vectors r2 and r4 describe input links of mechanism 150.
  • Vectors r3, r5, and r6 in combination describe the coupler link (output link) of mechanism 150. Accordingly, the ground link, input links, and coupler link are coupled through linkage points A, B, C, D, and E.
  • Vector r7 is used for calculation purposes to provide the difference in position between linkage point B and D.
  • application 142 calculates, tracks and uses various angle positions in the calculation of coupler curve 270.
  • Angle ⁇ l describes the position of ground link vector rl in relation to x axis 402.
  • ⁇ 4 describes the position of vector r4 in relation to the x axis.
  • ⁇ 2 is used to track the position of input link vector r2.
  • Angle ⁇ describes the position of vector r3 (and correspondingly the coupler link) to vector r7.
  • Figure 4 shows angle ⁇ 5 which describes the position of vector r5 in relation to the x axis 402.
  • Angle ⁇ describes the relative position of vector r5 to vector r3 of the coupler link of mechanism 150.
  • application 142 can perform calculations according to the equations below (such equations being a part of application 142 or application 142 receiving such equations through operator input) to determine the instantaneous position of linkage point E.
  • application 142 may compute a continuous coupler curve 270 for mechanism 150.
  • application 142 tracks the changes made to mechanism 150 that created mechanism 152 and store information related to such changes. These changes may result in different vector lengths, different vector positions, and different angle positions for mechanism 150. These changes become the basis for the information that define mechanism 152. Accordingly, parameter information (such as coupler curve, mechanical advantage, force, or acceleration values) change with operator modifications.
  • Application 142 defines, tracks, stores, and uses new vector positions and angles to calculate new parameter information for modified mechanism 152.
  • Figure 4 further shows mechanism 150 having been modified to create modified mechanism 152 (shown in hash marks).
  • link r2' acts as an input link having a crank behavior.
  • mechanism 152 is defined by vectors rl, r2', r3', r4', r5', r6' and linkage points A, B', C',D, and E'. Additionally, vector r7' is used to define the difference in position between B' and D.
  • Angle ⁇ describes the position of ground link vector rl in relation to a first determined normalized vector position.
  • ⁇ 4 ' describes the position of vector r4' in relation to the a second determined normalized vector position.
  • Angle ⁇ 2 ' is used to track the position of input link vector r2'.
  • Angle ⁇ ' describes the position of vector r3' (and correspondingly the coupler link) to vector r7'.
  • Figure 4 shows angle ⁇ 5 ' which describes the position of vector r5' (and correspondingly the coupler link) in relation to x axis 402. Further angle ⁇ ' is used in the calculations as it describes the relative position of vector r5' to vector r3' of the coupler link of modified mechanism 152.
  • application 142 can perform calculations according to the above equations (such equations being a part of application 142 or application 142 receiving such equations as part of a user input) above to determine the position of linkage point E'.
  • application 142 may compute a continuous coupler curve 280 for modified mechanism 150.
  • Figure 5 shows an alternative example of a mechanism in accordance with the present invention.
  • Figure 5 shows a multi-link out-of plane mechanism 510 in an x-y-z cartesean coordinate system 500.
  • Mechanism 510 has a ground link 520 mechanically coupled to link 530 at linkage point 525.
  • Link 530 is further mechanically coupled to link 540 at linkage point 545.
  • link 540 is mechanically coupled to link 550 a linkage point 555.
  • link 550 is mechanically coupled to ground link 565 at linkage point 560.
  • Link 530 may act as the input link as it can rotate at linkage point 525, around the x coordinate of coordinate system 500.
  • link 530 results in links 540 and 550 traveling in their respective paths of motion 570 and 580.
  • paths 570 and 580 would be changed if a given link or linkage point is modified. If, for example, it is desired to move linkage point 525 to modified linkage point 525(a), the operator would capture linkage point 525 and move it to modified linkage point 525(a).
  • a resulting modified mechanism would be calculated and regenerated in response to the operator "capture" and move of linkage from point 525 to linkage point 525(a).
  • the present invention provides a system and process for the computerized synthesis of mechanisms, preferably using a computer aided design (CAD) computing application providing modeling and analysis tools for the synthesis of mechanisms.
  • CAD computer aided design
  • the invention is susceptible to various modifications and alternative constructions. There is no intention to limit the invention to the specific constructions described herein. On the contrary, the invention is intended to cover all modifications, alternative constructions, and equivalents falling within the scope and spirit of the invention.
  • the present invention may be implemented in a variety of computer graphics applications. The various techniques described herein may be implemented in hardware or software, or a combination of both.
  • the techniques are implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and non- volatile memory and/or storage elements), at least one input device, and at least one output device.
  • Program code is applied to data entered using the input device to perform the functions described above and to generate output information.
  • the output information is applied to one or more output devices.
  • Each program is preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system.
  • the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language.
  • Each such computer program is preferably stored on a storage medium or device (e.g., ROM or magnetic disk) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described above.
  • a storage medium or device e.g., ROM or magnetic disk
  • the system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

An improvement for computer graphics synthesis and analysis applications (142) providing calculation, regeneration, and display of mechanisms and mechanism (150) elements, upon a modification of the mechanism (150) or its elements. An operator of a computing application (142) (such as Computer Aided Design (CAD) - capable of graphical synthesis and analysis of computerized constructs, including mechanisms) inputs a set of first data through a user input interface to graphically define or retrieve elements of a given mechanism (150). The computing application (142) stores information pertinent to the inputted mechanism (150) elements. When an element of a defined or stored mechanism (150) is modified, the operator inputs second data to modify element(s) of the defined or stored mechanism (150) to produce a modified mechanism (152). The improvement tracks the operator's first and second inputs and provides immediate display of the modified mechanism (152) and mechanism parameters (150a). The modified mechanism (152) and mechanism parameters (150a) are instantaneously calculated, regenerated, and stored by the improvement upon operator input.

Description

IMPROVEMENT IN COMPUTERIZED MECHANICAL SYNTHESIS
PROGRAMS SUCH AS CAD
FIELD OF THE INVENTION
The present invention relates generally to computer synthesis and modeling of mechanisms, and more specifically to an improvement in computerized mechanism synthesis applications such as Computer Aided Design(CAD).
BACKGROUND
Designers and engineers alike, are constantly challenged to design, build, and implement new constructs to meet various needs of the ever-changing marketplace. From the most complicated robotic systems to the simplest of toys, lies a commonality of basic design components and engineering fundamentals. Building on such simple principles, designers and engineers develop and create complex mechanisms. A mechanism is generally a combination of geometric bodies which constitute a machine or part of a machine. As such they may contain rigid or resistant bodies formed and connected so that they move with definite relative motions with respect to one another. These mechanisms require various calculations for proper implementation and use. These calculations can completely engross the most proficient and left to manual acumen, such task is daunting. With the proliferation of computing technologies, computing applications have been and are being developed to assist designers and engineers to undertake calculations required for the synthesization and analysis of mechanisms. The most commonly used computing application for design is Computer Aided Design (CAD). CAD is considered the modeling of physical systems on computers, allowing both interactive and automatic analysis of design variants, and the expression of designs in a form suitable for manufacturing. Accordingly, this computing application provides a designer or engineer the ability to create, model, and analyze desired physical systems in a computerized realm. The functionality offered in such an application is generally directed towards the creation and manipulation of graphic representations of a desired construct.
A common characteristic of graphics synthesis and analysis applications is that parts, whether mechanical, electronic or of whatever kind, are designed in interactive mode. That is, the part—as far as already designed~is displayed on a display device (e.g. as two-dimensional, or as perspective view) such as a CRT (cathode ray tube) or an LCD (liquid crystal display). The user enters commands via appropriate input means, preferably a computer mouse, a graphics tablet or a light pen in order to complement or modify the existing structure. When the editing process is finished, i.e., the part is defined, it may be plotted or otherwise be reproduced. Further, it is also possible to generate and communicate CAD information to an interface which can directly control a numerically controlled machine tool, in order to manufacture a physical representation of the object.
Typically, CAD provides a designer tools to facilitate the drawing, rotating, scaling, or moving of a desired construct. These functions are accomplished by selecting the items to be manipulated and then entering a suitable command through a user interface such as a keyboard or mouse to apply the sought after function. In addition, some CAD applications may provide additional functionality in the form of analysis tools to assist a designer in modeling the behavior of a desired construct.
Similar to CAD, development has been made in the computing industry to provide computing applications that have the ability to perform complex modeling and analysis of mechanisms. These programs allow engineers to model mechanisms and their corresponding linkages by specifying linkage lengths and the joints between links. Once the links and joints are defined, specialized inputs are added to the model to define the input motion of the mechanism. This process has significantly reduced the time to analyze mechanisms as compared to traditional ruler and compass calculation methods. However, the existing programs are concentrated on analyzing already synthesized mechanisms. When a modification is required of an existing mechanism, the application is required to iterate from a previously constructed mechanism to the desired modified mechanism. Iteration tends to be an extremely inefficient use of computing processing resources and a designer's time.
It would thus be advantageous to provide a computing application that focuses instead on the actual synthesization of mechanisms. Therefore, a computing application that allows designers and engineers to model mechanisms of varying complexity, while providing the freedom to add, delete, and modify various elements of a mechanism, instantaneously updating the mechanism and its associated variables, is highly desirable. SUMMARY OF THE INVENTION
Accordingly the present invention provides an apparatus and methods for the computerized graphic synthesis of mechanisms allowing for instantaneous calculation, regeneration, and display of a mechanism and a mechanism's parameters. In a computing system capable of running a computer graphics and synthesis application such as computer aided design (CAD), the computing system having at least one user interface and a display device, a mechanism or mechanism elements may be created or retrieved on a computer graphics synthesis and analysis application through operator input. The present invention instantaneously tracks operator input, processes the input to generate first mechanism parameters, stores the first parameters, and displays the input and processed parameters as graphic representations in accordance with the computer graphics synthesis and analysis application. Upon operator modification of the created or retrieved mechanism, the present invention instantaneously tracks operator modifications, uses the stored first parameters to process modifications to generate second mechanism parameters, stores the second parameters, and displays the modifications and second parameters in accordance with the computer graphics synthesis and analysis application.
BRIEF DESCRIPTION OF THE FIGURES
The objects and advantages of the invention will become more apparent and more readily appreciated from the following detailed description of presently preferred exemplary embodiments of the invention taken in conjunction with the accompanying drawings of which:
Figure 1 shows a computer system running in accordance with the present invention; Figure 2 is a representation of a mechanism created and modified in accordance with the present invention;
Figure 3 is a flowchart of the processing performed by the present invention; Figure 4 is a vector representation of the mechanism depicted in FIGURE 2; and Figure 5 is a representation of an alternative mechanism created in accordance with the present invention; DESCRIPTION OF A PREFERRED EMBODIMENT
Overview:
Computer graphics are used today in many different areas of industry, business, government, education, entertainment, and in the home. In computer-aided design (CAD), interactive graphics are used to design components and systems of mechanical, electrical, electro-mechanical and electronic devices. To name a few, these systems include structures (such as buildings, chemical and power plants, automobile bodies, airplane and ship hulls and their contents), machines of varying complexity, optical systems and computer networks. The emphasis is sometimes only on producing precise drawings of components and (sub)assemblies, as in online drafting and architectural rendering. More frequently, however, the emphasis is on interacting with a computer-based model of the component or system being designed in order to test, for example, its mechanical, electrical or thermal properties. Often the model is interpreted by a simulator (an additional computing application interacting with the CAD application) which feeds back the behavior of the system to the display console operator for further interactive design and test cycles.
In general, a computer graphics systems comprise an input unit (e.g. keyboard, mouse, graphics tablet, or stylus pen), a processing unit (CPU), a display device (e.g. CRT or LCD), and an output unit (e.g. plotter and printer). In use, the designer enters specific instructions into the processing unit through the input unit to prepare an intended design item (drawing). During the design process or upon completion thereof, the processing unit causes the display unit to display a design image, or causes the output unit to make a printout.
A design item may be assembled from line segments, circles and arcs for example. Each of the line segments can be defined by the coordinates, in an
XYZ-coordinate system, of the respective ends of the line segment. Each of the circles can be defined by the XYZ-coordinates of the circle center point as well as the radius of the circle. Each of the arcs can be defined by the XYZ-coordinates of the respective ends of the arc as well as the radius of the arc. Further, either of the above-described design elements can also be defined by polar coordinates combined with radius values (where applicable). However, XYZ-coordinates and polar coordinates are mutually convertible, so that the difference between the two methods of performing element definition is insignificant. It should be appreciated that the element definition data may additionally include pieces of information relating the kinds of lines (e.g. thick lines, thin lines, broken lines, chain lines, and so forth) and/or the colors of lines. Moreover, sophisticated applications may contain rendering functionality which applies textured surfaces to created structures indicating shadows and light reflections.
Further, a design item is formed by entering definition data for various design elements through the keyboard or by plotting the end points for a line segment on the display device. The designed image is stored in the memory not as image data but as a combination of the definition data for the various elements. Thus, the element definition data stored in the memory can be conveniently used for analyzing the formed design item. In the context of synthesizing mechanisms, CAD applications provide a useful tool in creating computer graphic representations of mechanisms which can be stored electronically for future modification and use. Additionally, computer synthesis applications such as CAD can perform limited analysis on the created structures. Such analysis may include dimensioning and animation. However, analysis functionality maintained by existing computer synthesis applications do not provide instantaneous calculations of various variables, such as coupler point position, mechanical advantage, velocity, acceleration and force, upon the modification of a structure.
The present invention provides an improvement on computer synthesis applications. This improvement is such that when a structure is created or a created structure is updated, modified or changed through operator input, the graphic representation of the structure is instantaneously regenerated concurrent with the operator input. The improvement not only modifies the structure but also calculates, updates, and displays associated structure parameters. As will be described below with respect to Figures 1-5, the present invention is directed to a system and methods that enable the instantaneous regeneration and update of graphic representations of computer synthesized mechanisms. In accordance with a preferred embodiment thereof, the present invention comprises a system and method that couples an operator with the graphic representation of a given mechanism, allowing instantaneous manipulation, parameter calculation, and regeneration of a given mechanism. In one embodiment, described more fully hereinafter, the methods and apparatus of the present invention may be implemented as part of a desktop computer system having a graphic synthesis and analysis computing application, such as computer aided design (CAD), having at least one input interface device, a microprocessor, memory, and a display device. Although the depicted embodiment provides a CAD computer synthesis and analysis computing application running on a desktop computer system having one computer processing unit, a mouse, a keyboard, and a cathode ray tube (CRT) display device, those skilled in the art will appreciate that the inventive concepts described herein extend to various types computer graphics synthesis and analysis computing applications running on various types of computer systems having different computing interfaces running different computing operating systems and having varying hardware configurations.
System Description and Processing:
Figure 1 shows computer system 100 having a computer processing unit 110, an operator input interface keyboard device 120, an operator input interface pointer device 130, and display device 140. Computer processing unit 110 contains a microprocessor or another central processing unit (CPU), memories, and all associated electronics to run various computing applications. The computing system 100 runs a computer graphics synthesis and analysis application 142 (e.g. such as CAD) on computer processing unit 110. In an effort to synthesize a mechanism 150, an operator (not shown) inputs instructions to computer graphics synthesis and analysis application 142 through operator input interface keyboard device 120 or operator input interface pointer device 130. Operator inputs are processed by computer graphics synthesis and analysis application 142 on computer processing unit 110 to create data sets. Additionally, the operator inputs are used by computer graphics synthesis and analysis application to calculate parameters 150(a) specific to mechanism 150. The data sets and parameters correlate to graphic representations within computer graphics synthesis and analysis application 142 which can be displayed to an operator on display 140.
Furthermore, computer graphics and synthesis application 142 provides the operator the ability to modify synthesized mechanism 150. This operation is achieved by first selecting the portion of the graphic representation of synthesized mechanisml50 to be modified. The selection process is achieved through the use of operator input interface keyboard device 120 or operator input interface pointer device 130. When modifying mechanism 150, an operator inputs instructions to computer graphics synthesis and analysis application 142 through operator input interface devices 120 and 130. Operator interfaces 120 and 130 act to control graphic pointer 144 of computer graphic synthesis and analysis application 142. Pointer 144 has freedom of movement within computer graphic synthesis and analysis application 142 such that it can move over the desired portion of the synthesized mechanism 150.
Once selected, the operator inputs further commands through operator input interfaces 120 and 130 to manipulate the selected portion(s) of mechanism 150. The modification operation results in the creation of modified mechanism 152. During modification processing, computer graphics synthesis and analysis application calculates new parameters 152(a) for modified mechanism 152. A graphic representation of modified mechanism 152 along with its newly calculated parameters 152(a) are then instantaneously displayed on display 140.
Figure 2 shows original computer synthesized mechanism 150 and modified synthesized mechanism 152 of Figure 1 in more detail. Although, the depicted embodiment provides a four-bar linkage planar mechanism, those skilled in the art will appreciate that the inventive concepts described herein extend to computerized synthesis of planar and non-planar multiple link mechanisms.
Mechanism 150 is shown having four links, 210, 220, 230, and 240. Link 210 serves as ground for mechanism 150. As a ground, this link is stationary and does not have translational or rotational freedom. Ground 210 has two linkage points 250 and 260 which are coupled to links 220 and 240, respectively. Linkage point 250 allows link 220 to move about the ground link 210. Similarly, linkage point 260 allows link 240 to move about ground link 210. Link 230 constitutes the coupler link of mechanism 150. As such it has three linkage points 252, 256, and 258. Linkage points 252 and 258 act to couple link 230 to links 220 and 240, respectively, and link 230. In addition linkage points 252 and 258 allow coupler link 230 to move about links 220 and 240. In the four-bar linkage configuration of planar mechanism 150, one of the mechanism links, such as 220 or 240 may serve as an input link which can be placed in motion. When in motion the input link 220 or 240 rotates about ground link 210 through ground linkage points 250 or 260 respectively. If link 220 serves as the input link, link 240 becomes a follower link since its rotation merely follows the motion determined by the input link 220 and coupler link 230. Correspondingly, if link 240 serves as the input link, link 220 becomes the follower link since its rotation merely follows the motion determined by the input link 240 and the coupler link 230. Accordingly, when links 220 or 240 are put into motion, linkage point 256 of link 230 traces out coupler curve 270. Coupler curve 270 serves to indicate to a designer or engineer motion parameters for a mechanism having the described configuration.
Figure 2 further shows modified mechanism 152. Mechanism 152 is a modified computer regenerated four-bar linkage planar mechanism of mechanism 150, modified by an operator. Accordingly, mechanism 152 maintains elements common to mechanism 150. Mechanism 152 has ground link 210 connected to linkage points 250 and 260 respectively. Linkage point 250 mechanically couples modified link 220(a) to ground link 210. Similarly, linkage point 260 mechanically couples modified link 240(a) to ground link 210. Coupler link 230(a) is mechanically coupled to modified links 220(a) and 240(a) via modified linkage points 252(a) and 258(a) respectively. Similar to links 220 and 240 of mechanism 150, modified link 220(a) or 240(a) can act as an input link to place modified coupler link 230(a) into motion. When in motion, modified linkage point 256(a) traces out modified coupler curve 280. Figure 3, with reference to Figure 1 and Figure 2 illustrates the processing undertaken by graphic manipulation and analysis program 142 to modify synthesized mechanism 150 to produce modified mechanism 152, in accordance with the present invention.
Although Figure 3 is described using a mouse (operator input interface device) to control the graphic synthesis and analysis program, the present invention is not limited to this one example, as it contemplates the use of various user input interfaces including but not limited to a keyboard, a drawing tablet, a stylus pen or voice input interfaces.
Graphic synthesis and analysis application 142 begins application start-up at block 300. Operator (not shown) inputs commands via input interfaces devices 120 and 130 to draw or retrieve stored links and linkage points at block 305 to be displayed on display
140. The inputs are processed by computer graphics synthesis and analysis application 142 at block 307 to generate parameters for corresponding links and linkage points. The parameters of the links and linkage points are then stored in the application memory at block 310 to be used for graphical display at block 315 and subsequent modified mechanism parameter calculation at block 365. Application 142 then proceeds to display the links and linkage points using the generated parameters of block 307 at block 315. Once the links and linkage points are generated, application 142 monitors the user input interface, a mouse for example, at block 320 to determine if there has been a "capture" input. A "capture" input is one in which the operator selects a created mechanism element through operator input interfaces 120 or 130 for modification.
If a there is no "capture" input from the input interface at block 320, the application continues to display the generated links and linkage points, and continues to monitor for user input. However, if there is a "capture" input at block 320, the application will then determine at block 325 if graphic pointer 144 is proximate to one of the generated links or linkage points. For example an operator may use mouse 130 to move over the mechanism element that is desired to be changed. The operator may then depress the left button 132 of a mouse 130 to select the desired mechanism element.
Correspondingly if the left button 132 of mouse 130 is depressed, application 142 will determine if this "capture" input places the pointer 144 proximate to a generated link or linkage point. If the "capture" input does not result in a proximate position to a generated link or linkage point, the application proceeds to block 320 where computer graphics synthesis and analysis application checks for further user input. If, however, proximate positioning is realized, the targeted link or linkage point is "captured" at block 330. Application 142 proceeds to set application variables at block 330 to indicate the link or linkage point that has been captured. Once captured, operator inputs are monitored at block 340 to determine if the captured link or linkage point has been moved from its original position. If there is no further user input at block 340, the application variables are reset at block 350 to indicate that the positioning of the targeted link or linkage point has not been changed and the application returns to step 320 and continues processing therefrom.
However if the computer graphics synthesis and analysis application 142 determines that there the operator has provided further input subsequent to the "capture" input at step 340, application 142 tracks the additional operator input at block 345 and updates the "captured" link or linkage point at block 355. This update includes application 142 generating new positional parameters for the modified link or linkage point at block 355. The new parameters calculated at block 355 include positional coordinates for the modified links and linkage points. Accordingly, the new positions are stored at block 360 and subsequently used to calculate the modified mechanism parameters at block 365. Once processed and calculated, the modified links, modified linkage points, and parameters (including a coupler curve) are regenerated and displayed on display 140 at step 370. Once displayed, application 142 reverts to step 320 to once again perform a check for "captured" elements.
Although the calculations performed by computer graphics synthesis and analysis application at block 355 and 365 are directed to positional coordinates of the links and linkage points and the calculation of a coupler curve, those skilled in the art will appreciate that the inventive concepts described herein can be extended to calculations of various parameters including but not limited to mechanical advantage, velocity, acceleration, force and mechanical advantage. By way of example, the processing described in Figure 3 is applied to Figure 2 with reference made to Figure 1. If it is desired to change the position of linkage point 252 to that of modified linkage point 252(a), an operator would position a graphic pointer 144 controlled by a mouse 130 proximate to linkage point 252. Once proximate to the targeted linkage point, the operator would then depress the left mouse button 132 to capture the targeted linkage point according to steps to 320 and 325 of Figure 3. The desired link or linkage point having been captured, the operator would move the mouse to reflect a movement of linkage point 252 to the position of modified linkage point 252(a). Correspondingly, application 142 would undertake processing according to steps 340, 345, 355, 360, 365, and 370 of Figure 3. The modified linkage point 252(a) is displayed along with the newly calculated parameters of the modified element and the mechanism on the whole. As part of the calculations, link length 220 is modified to modified link length 220(a). If the operator continues to capture the targeted element in accordance with step 320 of Figure 3, the mechanism continues to be instantaneously updated and displayed in accordance with operator mouse moves. Such processing is once again realized in steps 320 - 370 of Figure 3. Similar steps would be performed preformed to change linkage point 258 to modified linkage point 258(a). Correspondingly, this change would result in modified link length 240(a). Figure 4 illustrates calculations performed at blocks 355-370 of Figure 3 to obtain new parameters for modified mechanism 152 of Figure 2. These parameters are calculated from the parameters of the originally synthesized mechanism 150 of Figure 2 and new operator inputs. Once again, the depicted embodiment describes a four-bar linkage planar mechanism, but those skilled in the art will appreciate that the inventive concepts described herein extend to computer synthesis of mechanisms having multiple links, and linkage points, both in-plane and out-of plane. Figure 4 shows mechanism 150 and modified mechanism 152 of Figure 2 in a vector coordinate system 401. Vector coordinate system is made up of a horizontal x axis 402 and a vertical vector axis iy 403. When generating the elements of mechanisms 150 and 152 respectively, computing application 142 (not shown) recognizes and stores the initial position of the mechanism determined by vector RAφ 404. Using initial position RAφ 404, application 142 can calculate and store various positions and angles relative to vector Raφ 404 for links and linkage points created or retrieved by an operator. As is described below, the stored positions are used by application 142 in computations to calculate various parameters for mechanism 150.
One of the parameters calculated by application 142 are mechanism 150 coupler curve 270 and modified mechanism 152 coupler curve 280. As shown in Figure 4, mechanisml50 has links described by vectors rl - r6. Further, mechanism 150 has linkage points A-E. As described above, mechanism 150 may be placed into motion if an input link (r2 or r4) is rotated about a linkage point (A or D). When placed into motion, linkage point E of mechanism 150 traces a motion path. This motion path is coupler curve 270 of mechanism 150. Coupler curves may be important to designers working with mechanisms because they describe the many possible paths motion that a mechanism may encounter. Accordingly, coupler curves may be calculated by application 142 according to the following.
Computing application will first determine if the input link, represented by vector R2, will behave as a crank or a rocker. Generally, when solving for the coupler curve, the four links can be classified as the shortest(s), longest(l) and the intermediate links(p and q). Accordingly for a four-bar linkage mechanism, if: s + 1 < p +q and, if r3 = s, the range of motion for r2 will be rocker, if r4 = s, the range of motion for r2 will be a rocker, if r2 = s, the range of motion for r2 will be a crank, if rl = s, the range of motion for r2 will be a crank, however if, s + 1 > p +q
the range of motion for R2 will be a rocker, and lastly if,
s + l = p + q the range of motion will be a rocker.
Using the information stored about the created links and linkage points of mechanism 150, application 142 performs the above calculations to determine if the input link r2 will behave like a crank or a rocker. It is assumed for the purposes of this example that the input link is link r2 and it will behave like a crank. Having determined that input link r2 is a crank, the coupler curve may be calculated. Accordingly, to solve for the coupler curve, point E must be determined for every possible place link r2 can rotate. Therefore a discrete number of positions for link r2 is determined. For the example provided, it is assumed that application 142 will undertake computations for 360 positions, corresponding to one position for each degree of rotation of link r2 of Figure 4.
In the example provided, application 142 may calculate coupler curve 270 of mechanism 150 by incrementing angle θ2(the angle of r2) by a single degree from 0 to 360. Coupler curve 270 is solved by calculating point E using the equations below. For each computation, application 142 stores the resulting information. Application 142 proceeds to graphically represent the stored positions as a path intersecting with linkage point E.
Figure 4 further shows various variables used in calculations performed by application 142 to determine coupler curve 270 for mechanism 150. Turning to Figure 4, vector rl describes ground link of mechanism 150. Correspondingly vectors r2 and r4 describe input links of mechanism 150. Vectors r3, r5, and r6 in combination describe the coupler link (output link) of mechanism 150. Accordingly, the ground link, input links, and coupler link are coupled through linkage points A, B, C, D, and E. Vector r7 is used for calculation purposes to provide the difference in position between linkage point B and D. In addition to the listed vectors, application 142 calculates, tracks and uses various angle positions in the calculation of coupler curve 270. Angle θl describes the position of ground link vector rl in relation to x axis 402. Similarly, θ4 describes the position of vector r4 in relation to the x axis. As described above θ2 is used to track the position of input link vector r2. Angle φ describes the position of vector r3 (and correspondingly the coupler link) to vector r7. Further, Figure 4 shows angle θ5 which describes the position of vector r5 in relation to the x axis 402. Angle λ describes the relative position of vector r5 to vector r3 of the coupler link of mechanism 150. Having calculated and stored these vectors and angles for created mechanism 150, application 142 can perform calculations according to the equations below (such equations being a part of application 142 or application 142 receiving such equations through operator input) to determine the instantaneous position of linkage point E.
In the calculations described below, capital letters represent the vector, lowercase letters represent the magnitude of the vector and theta represents the angle of the vector. Given that, R2 = r2eiθ2
R = ] - R2 θ7 = ZR7 r7 = I R7 1
Figure imgf000015_0001
Θ3= φ+ θl r3 = r3eiθ3 r4 = r2 + r3 - r, θ4 ="* ZR4
Figure imgf000015_0002
θ3= = λ + θ7 and
R5 = r5elθ5
the position of E is, RE = RA0 + R2 + R5 By incrementally increasing the value of the input link angle (theta 2 in this example), application 142 may compute a continuous coupler curve 270 for mechanism 150.
When an operator of application 142 inputs instructions to modify mechanism 150 to create modified mechanism 152, application 142 tracks the changes made to mechanism 150 that created mechanism 152 and store information related to such changes. These changes may result in different vector lengths, different vector positions, and different angle positions for mechanism 150. These changes become the basis for the information that define mechanism 152. Accordingly, parameter information (such as coupler curve, mechanical advantage, force, or acceleration values) change with operator modifications. Application 142 defines, tracks, stores, and uses new vector positions and angles to calculate new parameter information for modified mechanism 152.
Figure 4 further shows mechanism 150 having been modified to create modified mechanism 152 (shown in hash marks). Once again, for the purpose of this example of modified mechanism 152, it is assumed that link r2' acts as an input link having a crank behavior. In Figure 4 mechanism 152 is defined by vectors rl, r2', r3', r4', r5', r6' and linkage points A, B', C',D, and E'. Additionally, vector r7' is used to define the difference in position between B' and D.
As described above, when calculating the various parameters for a mechanism 150, application 142 creates several angle positions. The same holds true in calculating the various parameters for modified mechanisml52. Angle θ, describes the position of ground link vector rl in relation to a first determined normalized vector position.
Similarly, θ4' describes the position of vector r4' in relation to the a second determined normalized vector position. Angle θ2' is used to track the position of input link vector r2'. Angle φ' describes the position of vector r3' (and correspondingly the coupler link) to vector r7'. Further, Figure 4 shows angle θ5' which describes the position of vector r5' (and correspondingly the coupler link) in relation to x axis 402. Further angle λ' is used in the calculations as it describes the relative position of vector r5' to vector r3' of the coupler link of modified mechanism 152. Having calculated and stored these vectors and angles for created mechanism 152, application 142 can perform calculations according to the above equations (such equations being a part of application 142 or application 142 receiving such equations as part of a user input) above to determine the position of linkage point E'. By incrementally increasing the value of the input link angle (Θ2 T in this example), application 142 may compute a continuous coupler curve 280 for modified mechanism 150.
Although the present invention had been described as utilizing equations and computations to calculate a coupler curve for a four-bar linkage planar mechanism, those skilled in the art will appreciate that the inventive concepts described herein extend to utilizing various equations and computations for various parameter calculations for planar and non-planar mechanisms having single or multiple linkages including but not limited to a mechanism's mechanical advantage, forces applied to a mechanism, acceleration of the mechanism and/or its elemental components, and velocity of the mechanism and/or its components.
Figure 5 shows an alternative example of a mechanism in accordance with the present invention. Figure 5 shows a multi-link out-of plane mechanism 510 in an x-y-z cartesean coordinate system 500. Mechanism 510 has a ground link 520 mechanically coupled to link 530 at linkage point 525. Link 530 is further mechanically coupled to link 540 at linkage point 545. Correspondingly link 540 is mechanically coupled to link 550 a linkage point 555. Further, link 550 is mechanically coupled to ground link 565 at linkage point 560. Link 530 may act as the input link as it can rotate at linkage point 525, around the x coordinate of coordinate system 500. The motion of link 530 results in links 540 and 550 traveling in their respective paths of motion 570 and 580. However, paths 570 and 580 would be changed if a given link or linkage point is modified. If, for example, it is desired to move linkage point 525 to modified linkage point 525(a), the operator would capture linkage point 525 and move it to modified linkage point 525(a). In accordance with the present invention, a resulting modified mechanism would be calculated and regenerated in response to the operator "capture" and move of linkage from point 525 to linkage point 525(a). Conclusion:
In sum, the present invention provides a system and process for the computerized synthesis of mechanisms, preferably using a computer aided design (CAD) computing application providing modeling and analysis tools for the synthesis of mechanisms. It is understood, however, that the invention is susceptible to various modifications and alternative constructions. There is no intention to limit the invention to the specific constructions described herein. On the contrary, the invention is intended to cover all modifications, alternative constructions, and equivalents falling within the scope and spirit of the invention. It should also be noted that the present invention may be implemented in a variety of computer graphics applications. The various techniques described herein may be implemented in hardware or software, or a combination of both. Preferably, the techniques are implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and non- volatile memory and/or storage elements), at least one input device, and at least one output device. Program code is applied to data entered using the input device to perform the functions described above and to generate output information. The output information is applied to one or more output devices. Each program is preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program is preferably stored on a storage medium or device (e.g., ROM or magnetic disk) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described above. The system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.
Although an exemplary embodiment of the invention has been described in detail above, those skilled in the art will readily appreciate that many additional modifications are possible in the exemplary embodiment without materially departing from the novel teachings and advantages of the invention. Accordingly, these and all such modifications are intended to be included within the scope of this invention as defined in the following claims.

Claims

What is claimed is:
1. A system for the graphical synthesis of mechanisms comprising: a computer processor capable of processing graphical information and data; computer memory, electronically coupled to said computer processor, capable of storing said graphical information and data; a display device electronically coupled to said computer processor, displaying graphical information to an operator; an operator input interface electronically coupled to said computer processor allowing an operator to manipulate said graphical information on said display device; and a computing application residing in said computer memory and running on said computer processor, wherein said computing application receives operator input from said operator input interface, and processes said operator input instantaneous to said input and instantaneously calculates said graphic information and parameters associated with said graphic information for display on said display device for said operator to view.
2. The graphic synthesis system recited in claim 1, wherein said operator input comprises capturing a created construct within said computing application with said user interface and modifying said construct.
3. The graphic synthesis system recited in claim 1, wherein said operator input comprises retrieving a synthesized mechanism from said computer memory.
4. The graphic synthesis system recited in claim 1 , wherein said parameter calculations performed by computing application are directed to calculating at least one of a mechanism's coupler curve, mechanical advantage, force, acceleration, and velocity.
5. The graphic synthesis system recited in claim one, wherein said operator input comprises at least one of a mouse, a drawing tablet, a keyboard, a stylus pen and voice interface device.
6. A method for synthesizing computerized graphical representations of mechanisms on a computing system having, memory, a user interface, an input interface, and a display device, comprising the acts of:
(a) inputting first information onto said computing system about elements of at least one mechanism using said input interface device;
(b) processing said first information on said computing system and calculating the parameters of said elements of said mechanism,
(c) displaying said information about said mechanism on said display device and storing said first information in said memory; (d) inputting said second information about said mechanism, said second information modifying at least one element of said mechanism;
(e) calculating third information on said computing system, said third information calculated using said first and second information; and
(f) displaying said third information on said display device and storing said third information on said memory of said computing system.
7. The method recited in claim 6, wherein steps (e), and (f) are performed concurrent with step (d).
8. A computer-readable medium having computer-executable instructions for performing acts dedicated to graphical synthesis of mechanisms comprising: (a) graphic synthesis and display of elements of a mechanism creating a first set of information indicating mechanism parameters;
(b) storing said first set of information about said synthesized mechanism;
(c) modifying said elements of said mechanism to create a second set of information and storing said second information; and (d) calculating parameters of the modified mechanism for display, using said stored first information and said second information, storing said modified mechanism parameters.
9. The method recited in claim 8, wherein step (d) is performed concurrent with step (c).
10. In a computer system having a user interface including a display and user interface selection device, a method for synthesizing mechanisms on the display, comprising the acts of:
(a) inputting commands, limits, or instructions describing elements of a desired mechanism having a first set of parameters and storing said parameters;
(b) graphically displaying said inputted elements on said display of said computer system;
(c) while modifying said elements to create a modified mechanism, calculating a second set of parameters using said first set of parameters and displaying said modified elements of said modified mechanism; and
(d) storing said second set of parameters.
11. A system for calculating physical quantities of mechanisms composed of elementary links and/or linkage points for generating images representative of views of the whole mechanism and/or the elementary links and/or linkage points, comprising: an input device providing the ability to input physical parameters of the elementary links and/or linkage points; calculating means for calculating quantities of the elementary links and/or linkage points; table calculating means for calculating at least one of a coupler curve mechanical advantage, acceleration, velocity, and force values for the whole mechanism or elementary links and/or linkage concurrent with inputting of the physical parameters through said input means and said quantities of the respective elementary links and/or linkage points calculated by said calculating means in accordance with predetermined calculation formulae; and means for generating instantaneously at least one image representative of said mechanism at least one from among the whole mechanism and the elementary links and/or linkage points and for further generating, adjacent to the image representative of said mechanism images of the calculated numeric physical quantities for each element displayed within the image representative of said mechanism.
12. The system of claim 11 , wherein the means for generating at least one image comprises: synthesizing means operative to combine the inputted physical parameters of the elementary links and/or linkage points with the calculated physical quantities to produce signals representative of the image; and a display device coupled to the synthesizing means operative to form the image from the signals.
13. A method for calculating quantities of a mechanism composed of elementary links and/or linkage points and for generating images representative the mechanism and/or the elementary links and/or linkage points, comprising the acts of: inputting parameters of the elementary links and/or linkage points, where at least a portion of respective parameters of the elementary links and/or linkage points are different from one another; calculating quantities of said elementary links and/or linkage points; calculating at least one of a coupler curve, mechanical advantage, velocity, acceleration, and force of the whole mechanism concurrent with inputting of parameters and quantities of said elementary links and/or linkage points calculated in accordance with predetermined calculation formulae; and generating at least one image representative of at least one from among said mechanism and said links and/or linkage points and further generating, adjacent to the image representative of said mechanism and said links and/or linkage points, images of the calculated numeric quantities for each element displayed within the image representative of said mechanism.
14. The method of claim 13, wherein act of generating at least one image comprises the acts of: combining the inputted parameters of the elementary links and/or linkage points with the calculated physical quantities to produce signals representative of the image; and forming an image on a display device based upon the signals representative of the image.
PCT/US2000/041996 1999-11-12 2000-11-08 Computerized mechanical synthesis and modeling in cad applications WO2001035239A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU36430/01A AU3643001A (en) 1999-11-12 2000-11-08 Improvement in computerized mechanical synthesis programs such as cad

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43889999A 1999-11-12 1999-11-12
US09/438,899 1999-11-12

Publications (2)

Publication Number Publication Date
WO2001035239A1 true WO2001035239A1 (en) 2001-05-17
WO2001035239A8 WO2001035239A8 (en) 2001-09-07

Family

ID=23742486

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/041996 WO2001035239A1 (en) 1999-11-12 2000-11-08 Computerized mechanical synthesis and modeling in cad applications

Country Status (2)

Country Link
AU (1) AU3643001A (en)
WO (1) WO2001035239A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866672A (en) * 2012-10-18 2013-01-09 南京航空航天大学 Online detecting method of numerical control machining middle state of plane structural member
CN108287954A (en) * 2018-01-09 2018-07-17 上海外高桥造船有限公司 Hull structural design auxiliary system and Ship Structure method for drafting

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396160A (en) * 1991-03-11 1995-03-07 General Motors Corporation Method of real-time machine path planning from a math model
US5548706A (en) * 1992-09-29 1996-08-20 Fujitsu Limited CAD system with parallel dimension-line editing function
US5604848A (en) * 1994-03-18 1997-02-18 Fujitsu Limited Viewpoint setting apparatus for a computer graphics system for displaying three-dimensional models
JPH09274625A (en) * 1996-04-06 1997-10-21 Ricoh Co Ltd Metallic die design supporting system
US5760906A (en) * 1995-12-27 1998-06-02 Technology Research Association Of Medical And Welfare Apparatus Shape measurement apparatus and method
US5914553A (en) * 1997-06-16 1999-06-22 Cornell Research Foundation, Inc. Multistable tunable micromechanical resonators
US5945994A (en) * 1991-10-24 1999-08-31 Canon Kabushiki Kaisha Kinematic-simulation apparatus and kinematic-simulation method with interference processing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396160A (en) * 1991-03-11 1995-03-07 General Motors Corporation Method of real-time machine path planning from a math model
US5945994A (en) * 1991-10-24 1999-08-31 Canon Kabushiki Kaisha Kinematic-simulation apparatus and kinematic-simulation method with interference processing
US5548706A (en) * 1992-09-29 1996-08-20 Fujitsu Limited CAD system with parallel dimension-line editing function
US5604848A (en) * 1994-03-18 1997-02-18 Fujitsu Limited Viewpoint setting apparatus for a computer graphics system for displaying three-dimensional models
US5760906A (en) * 1995-12-27 1998-06-02 Technology Research Association Of Medical And Welfare Apparatus Shape measurement apparatus and method
JPH09274625A (en) * 1996-04-06 1997-10-21 Ricoh Co Ltd Metallic die design supporting system
US5914553A (en) * 1997-06-16 1999-06-22 Cornell Research Foundation, Inc. Multistable tunable micromechanical resonators

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866672A (en) * 2012-10-18 2013-01-09 南京航空航天大学 Online detecting method of numerical control machining middle state of plane structural member
CN108287954A (en) * 2018-01-09 2018-07-17 上海外高桥造船有限公司 Hull structural design auxiliary system and Ship Structure method for drafting

Also Published As

Publication number Publication date
WO2001035239A8 (en) 2001-09-07
AU3643001A (en) 2001-06-06

Similar Documents

Publication Publication Date Title
TWI381256B (en) System, method, and computer readable medium for controlling the movement of a plurality of moveable axes of a machine tool system
US5973678A (en) Method and system for manipulating a three-dimensional object utilizing a force feedback interface
US7191104B2 (en) Method of real-time collision detection between solid geometric models
US20040141014A1 (en) Display controlling apparatus, information terminal unit provided with display controlling apparatus, and viewpoint location controlling apparatus
US20080203072A1 (en) Method and a Device for Providing Feedback on Weaving Parameters
JP2016093869A (en) Teaching data creation method, creation device, and creation program, and, data structure of teaching data, and recording medium
JPH0311468A (en) Method of forming graphic model and design system for assisting computer
US7088377B2 (en) System and method for designing, synthesizing and analyzing computer generated mechanisms
JPS6179589A (en) Operating device for robot
JP3663219B2 (en) Geometric constraint display device
WO2001035239A1 (en) Computerized mechanical synthesis and modeling in cad applications
US6392648B1 (en) Three dimensional graphical display generating system and method
Gandotra et al. TOOLS AND TECHNIQUES FOR CONCEPTUAL DESIGN IN VIRTUAL REALITY ENVIRONMENT.
Rose et al. Intuitive and interactive modification of large finite element models
Perles et al. Interactive virtual tools for manipulating NURBS surfaces in a virtual environment
WO2002103471A2 (en) Mechanism synthesis for mechanisms comprised of more than one mechanism
Fiedler et al. Procedural human posing using cga grammars
JP2002117079A (en) Process design assisting device
Li Development of a CAM package for robotic deburring & polishing of components with intricate geometry
JP2023003731A (en) Information processing device, information processing method, display device, display method, robot system, method for manufacturing article, program and recording medium
Ding A unified robotic kinematic simulation interface.
JP2925397B2 (en) Shape data creation method
Seth et al. A virtual reality interface for the design of compliant mechanisms
Chipperfield et al. VRHose—Virtual Hydraulic Hose Routing Design
JPH07249052A (en) Three-dimensional mechanism conceptual chart plotting device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

CFP Corrected version of a pamphlet front page

Free format text: REVISED TITLE AND ABSTRACT RECEIVED BY THE INTERNATIONAL BUREAU AFTER COMPLETION OF THE TECHNICAL PREPARATIONS FOR INTERNATIONAL PUBLICATION

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase