WO1999006951A1 - Alignment and distribution apparatus and method - Google Patents

Alignment and distribution apparatus and method Download PDF

Info

Publication number
WO1999006951A1
WO1999006951A1 PCT/US1998/017808 US9817808W WO9906951A1 WO 1999006951 A1 WO1999006951 A1 WO 1999006951A1 US 9817808 W US9817808 W US 9817808W WO 9906951 A1 WO9906951 A1 WO 9906951A1
Authority
WO
WIPO (PCT)
Prior art keywords
objects
alignment
reference object
relationship
display
Prior art date
Application number
PCT/US1998/017808
Other languages
French (fr)
Other versions
WO1999006951A9 (en
Inventor
Fred E. Stevens, Iii
Original Assignee
Intergraph Corporation
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 Intergraph Corporation filed Critical Intergraph Corporation
Publication of WO1999006951A1 publication Critical patent/WO1999006951A1/en
Publication of WO1999006951A9 publication Critical patent/WO1999006951A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention provides exemplary apparatus and methods for aligning objects on a display. In one particular method, a plurality of objects (10A-D) are displayed on a display (110) and one of the objects is selected as a reference object (46) in response to input from a user input device. The method further includes selecting an alignment relationship for the plurality of objects to the reference object according to the alignment relationship and in response to input from the user input device. In this manner, a plurality of objects can be distributed and aligned simultaneously.

Description

ALIGNMENT AND DISTRIBUTION APPARATUS AND METHOD
BACKGROUND OF THE INVENTION The present invention relates generally to computer aided design and computer aided machine (CAD/CAM) tools, and more specifically, to aligning objects within CAD/CAM programs or environments.
Methods have previously been provided for drawing and repositioning of objects in CAD/CAM programs. For example, an object drawn on a display may be moved from one location to another by use of a mouse or other user input device. The object may be dragged about the screen and visually aligned with a second object. Other applications are capable of aligning objects with another object or reference point. In some situations, however, it would be desirable to simultaneously align and distribute a plurality of objects with respect to a reference object on the screen without having to individually move or align each object. Such an application would be particularly useful for software used by design engineers or architects. For example, Project Architect Schematic software under development by Intergraph Corporation reads area definitions from a spread sheet and populates a design file with room shapes based on those areas. The objects can be, for example, objects produced by Imagineer and/or Schematic Room Shapes software from Intergraph Corporation. It would be desirable to provide a mechanism to align multiple shapes scattered around the design file and distribute or align them in an end-to-end, a pre-selected spaced apart, or other arrangement. SUMMARY OF THE INVENTION The present invention provides exemplary apparatus and methods that allow the CAD/CAM user to quickly and precisely align a number of objects relative to a reference object on the display.
In one embodiment, the present invention provides a computer system having a processor. A display, a user input device, and a computer readable storage media are coupled to the processor. The storage media includes code that directs the processor to display a plurality of objects on the display, and code that directs the processor to define a set of objects from the plurality of objects in response to input from the user input device. The storage media also includes code that, in response to input from the user input device, directs the processor to define a reference object on the display and directs the processor to determine an alignment relationship. Further, the storage media includes code that directs the processor to align the set of objects with the reference object according to the alignment relationship to form the aligned set of objects. In this manner, a user, via the user input device, can select a number of objects to be aligned with the reference object and direct the processor to display an aligned set of objects according to the selected alignment relationship.
In one particular aspect, the system includes an alignment dialog box for selecting and previewing an aligned set of objects. The alignment relationship may include an end-to-end alignment relationship, whereby the reference object and objects within the selected set are aligned end to end. Alternatively, the objects and reference objects are distributed to be spaced apart a predetermined and selectable distance from adjoining objects.
The present invention further provides exemplary methods for aligning objects on a computer display. In one particular method, a plurality of objects are displayed on a display and one of the objects from the plurality of objects is selected as a reference object in response to input from a user input device. The method further includes selecting an alignment relationship for the plurality of objects and aligning the plurality of objects to the reference object according to the alignment relationship and in response to input from the user input device. In this manner, a plurality of objects can be distributed and aligned simultaneously.
Other features and advantages of the invention will appear from the following description in which the preferred embodiment has been set forth in detail in conjunction with the accompanying drawings .
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of a system according to a preferred embodiment of the present invention;
Fig. 2A depicts an alignment dialog box on a display according to one embodiment of the present invention;
Fig. 2B depicts the alignment dialog box of Fig. 2A;
Fig. 3 depicts a plurality of objects to be aligned according to methods of the present invention;
Figs. 4-10 depict exemplary spaced apart alignment relationships of objects aligned according to methods of the present invention;
Fig. 11 depicts a plurality of objects to be distributed and aligned according to methods of the present invention;
Figs. 12-17 depict exemplary end-to-end alignment relationships of objects distributed and aligned according to methods of the present invention; and
Figs. 18 and 19 depict objects aligned according to methods of the present invention having a uniform distributed gap therebetween; and
Figs. 20 and 21 depict alternative alignment dialog boxes .
DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 1 is a block diagram of a system 100 according to a preferred embodiment of the present invention. System 100 includes a monitor or display 110, a computer 120, a keyboard 130 and a mouse 140. Computer 120 includes familiar computer components, such as a processor 150 and memory storage devices, such as a random access memory (RAM) 160, a disk drive 170, and a system bus 180 interconnecting the above components. Mouse 140 is but one example of a graphical input device, also known as a pointing device; a digitizing tablet 190 is another. RAM 160 and disk drive 170 are examples of tangible media for storage of computer programs . Other types of tangible media include floppy disks, removable hard disks, optical storage media such as CD-ROMs and bar codes, and semiconductor memories such as flash memories, read-only- memories (ROMs), and battery-backed volatile memories.
In a preferred embodiment, system 100 includes a 586 microprocessor-class based computer, running Windows NT operating system by Microsoft Corporation, and Project Architect Schematic software under development by Intergraph Corporation.
Fig. 1 is representative of one type of system for embodying the present invention. It will be readily apparent to one of ordinary skill in the art that many system types and configurations are suitable for use in conjunction with the present invention.
Turning now to Figs. 2A and 2B, apparatus and methods for aligning a plurality of objects 10 on display 110 will be described. Fig. 2A depicts plurality of objects 10, namely objects 10A-10D, on display 110. Objects 10A-10D may comprise room shapes, such as those created by Project Architect Schematic software, or a wide variety of objects 10 to be aligned. In one embodiment of the present invention, an alignment dialog box 12 is used to select alignment relationships and to display the selected alignment relationship prior to aligning objects 10. Fig. 2A depicts dialog box 12 on display 110 as may be used in a Windows environment. Fig. 2B provides additional details of dialog box 12 , including several standard features such as a window close button 14, a help button 16, an "OK" button 18 and a cancel button 20.
Dialog box 12 preferably includes a preview box 22 for previewing a selected alignment relationship of objects 10. Dialog box 12 further includes an alignment relationship selection box 24 for choosing a desired alignment relationship of objects 10. In one embodiment, alignment selection box 24 includes a top alignment button 26, a right alignment button 28, a bottom alignment button 30, a left alignment button 32 and a center alignment button 34. It will be appreciated by those skilled in the art that buttons 26-34 are but one way to select preferred alignment relationships of objects 10 within the scope of the present invention. For example, pull down menus or arrow keys also may be used to select alignment relationships. The alignment dialog box 12 further preferably includes a distribute elements selector 36, an elements spacing input 38 and a center alignment selector 40, as further described below.
A preferred method of aligning objects on display 110 will now be described in conjunction with Figs. 2 and 3. Objects 10 are created and displayed on display 110, such as by populating a design file with room shapes. The user then defines a set of objects 10 to be aligned, for example, by highlighting each object 10 to be aligned using mouse 140 or other user input device. Fig. 2B depicts four objects 10A- 10D, and in the below examples, all four objects 10A-10D depicted are included in the set of objects 10 to be aligned. However, it will be appreciated by those skilled in the art that the selected set of objects 10 need not encompass all objects 10 shown on display 110.
Alignment dialog box 12 is opened before, or preferably after, objects 10A-10D have been displayed on display 110 and selected for alignment. As shown in Fig. 3, preview box 22 preferably initially displays objects 10A-10D as they appear on display 110. Objects 10A-10D are depicted in a single X-Y coordinate plane with each object 10A-10D occupying a portion of that X-Y plane. Each object 10A-10D preferably has an identification point 44. Identification points 44A-44D, as depicted in Fig. 3, preferably comprise the center point of each object 10A-10D. It will be appreciated by those skilled in the art that identification points 44 may comprise other points on objects 10, such as corners, edges, the center of gravity of objects 10, user selected points, and the like.
Objects 10A-10D are separated in the X (horizontal) and Y (vertical) directions by varying amounts, depending upon how the design file has been populated with objects 10. The example in Fig. 3 indicates a horizontal distance 42 between objects 10A and 10B, a horizontal distance 48 between objects 10B and IOC, and a vertical distance 50 between objects 10A and 10D.
A desired alignment relationship of objects 10A-10D is selected using alignment buttons 26-34, and the selected alignment relationship preferably is previewed in preview box 22. For the examples discussed in conjunction with Figs. 4- 10, distribute elements selector 36 and center alignment selector 40 have been turned off.
In one particular example shown in Fig. 4, bottom alignment button 30 is selected by, for example, highlighting bottom alignment button 30 with mouse 140 or other pointing or user input device. Preview box 22 then displays the relative position of objects 10A-10D having bottom edges of each object 10A-10D aligned. The user then clicks on "OK" button 18, and further highlights one of objects 10A-10D to be a reference object 46.
In the example shown in Fig. 4, object 10A has been selected to be reference object 46. The remaining objects 10B-10D are aligned according to the selected alignment relationship with reference object 46. As shown in Fig. 4, the bottom of each object 10B-10D is aligned with the bottom of reference object 46. Preferably, reference object 46 remains in place and objects 10B-10D are re-positioned according to the selected alignment relationship.
It will be appreciated by those skilled in the art that reference object 46 can be an object within the set of objects 10 selected to be aligned, or an object not within the set of objects 10 to be aligned. In either event, the selected reference object 46 and the set of objects 10 selected, which may include the reference object 46, are aligned according to the alignment relationship. As indicated in the embodiment in Fig. 4, the horizontal spacing of objects 46 and 10B-10D preferably remains unchanged. In other words, horizontal spacing 42 between objects 10B and 10A (now reference object 46) remains unchanged after alignment.
For horizontal alignment relationships depicted in Figs. 4, 5, and 9, the X coordinates of the identification point 44 of reference object 46 is compared with the objects 10 to be aligned. Objects 10 with identification points 44 having greater X coordinates preferably are typically positioned to the right of reference object 46 in ascending order based on those X coordinates. Objects 10 with identification points 44 having smaller X coordinates preferably are typically positioned to the left of reference object 46 in descending order based on those X coordinates.
In the instance that the identification point 44 of more than one object 10 shares X coordinates, those objects 10 shall be ordered based on the Y coordinates or their identification points 44. For example two objects 10 whose center has the same X coordinate can be ordered from left to right by whichever object 10 has a center with a higher, or lower Y coordinate. In other embodiments, the overlap can be ignored.
It will be appreciated by those skilled in the art that other criteria may be used to determine the order or placement of aligned objects within the scope of the present invention.
The above criteria will be particularly useful in the event that two objects 10 to be aligned do not have a horizontal space therebetween, but overlap to some extent in the X direction. The method preferably maintains the overlap when objects 10 are aligned. For example, if horizontal spacing 48 was negative, thereby creating an X-direction overlap for objects 10B and 10C, objects 10B and 10C preferably will be aligned along their bottom edges with the X-direction overlap.
Alternatively, the overlapping objects are aligned end-to-end. For example, object 10C is moved to the right to place object 10B and IOC end-to-end. The X-direction spacing between object IOC and object 10D will then be reduced by an amount equal to the overlap between objects 10B and IOC.
While Figs. 3 and 4 depict objects 10A-10D as having rectangular shapes, the present invention also can be used with irregular-shaped objects. For example, if a bottom alignment relationship has been selected for a set of objects containing an irregular-shaped object, or an object not having a "bottom edge", then the portion of that object having the lowest Y coordinate preferably will be aligned with the bottom edges of the rectangular-shaped objects. For example, for a diamond-shaped object, the bottom point of the diamond-shaped object preferably would be aligned with the bottom edge of the other aligned objects 10.
Turning now to Figs. 5-7, additional alignment relationships will be described. For the example depicted in Fig. 5, top alignment button 26 has been selected. Object 10B has been selected the reference object 46, and the top of objects 10A, IOC and 10D are aligned with the top of reference object 46. In the event that one or more objects 10A, 10C-10D does not have a top edge that can be aligned with reference object 46 top edge, the point or portion of that object having the highest Y-coordinate preferably will be aligned with the top edge of reference object 46.
It will be appreciated by those skilled in the art that the object selected to be the reference object 46 in the examples presented may vary. For example, object 10B was selected as reference object 46 for the top alignment depicted in Fig. 5. Objects 10A, IOC and 10D also could have been selected to be the reference object 46. If, for example, object IOC were selected as reference object 46 for a top alignment, then the top of objects 10A, 10B and 10D would be aligned with the top of object IOC. Preferably, reference object 46 does not move, and the objects 10 to be aligned are moved to align with reference object 46 according to the selected alignment relationship.
As shown in Fig. 6, left alignment button 32 has been selected. In this example, object 10A has been selected reference object 46 and the left side of objects 10B-10D are aligned with the left side of reference object 46. Fig. 7 depicts a right side alignment resulting from the selection of right alignment button 28. In this example, object 10D has been selected the reference object 46 and the right side of objects 10A-10C are aligned with the right side of reference object 46.
As shown, for both left and right side alignment relationships, the vertical (Y-coordinate) separation between adjacent objects 10A-10D preferably remains the same after alignment .
For vertical alignments depicted in Figs. 6, 7, and 8, the Y coordinate of the identification point 44 for reference object 46 is compared with the objects 10 to be aligned. Objects 10 with identification points 44 having greater Y coordinates preferably are typically positioned above the reference object 46 in ascending order based on those Y coordinates. Objects 10 with identification points 44 having smaller Y coordinates preferably are typically positioned below the reference object 46 in descending order based on those Y coordinates.
In the instance that more than one object 10 share Y coordinates, those objects 10 shall be ordered based on their X coordinate. For example two objects 10 whose center has the same Y coordinate can be ordered from top to bottom by whichever object 10 has a center with a higher, or lower X coordinate. In the event two or more of objects 10A-10D have a vertical overlap, the software preferably includes code that maintains the overlap after objects 10 are aligned. Alternatively, the code determines the order in which overlapped objects shall be aligned in a manner similar to that described above for a horizontal overlap.
In still other embodiments, the left, right, top and bottom alignments may be relative to a rangebox defining a "group" of selected objects, relative to a user defined box, and the like.
Turning now to Figs. 8-10, center alignments of objects 10 will be described. As shown in Fig. 8, the top and bottom alignment buttons have been selected. This selection creates a horizontal centers alignment of objects 10A-10D since the X or horizontal component of each object 10A-10D is positioned on a vertical line passing through the center of object 10 chosen to be reference object 46. Similar to the examples described in conjunction with Figs. 4-7, the vertical spacing of objects 10A-10D preferably remains unchanged.
The horizontal centers alignment can be selected in several manners. For example, the top alignment button 26 and bottom alignment button 30 can be simultaneously selected. Such a selection creates a horizontal centers alignment and a check mark or other indicator appears within center alignment selector 40. Alternatively, the user can select the top or bottom alignment button 26 or 30, and then turn on the center alignment selector 40. In this manner, clicking on the center alignment selector 40 causes the mate to a horizontal centers alignment to be selected and highlighted. For example, if the top alignment button 26 has been selected, clicking on center alignment selector 40 highlights bottom alignment button 30. Reference object 46 is selected and objects 10 are vertically aligned relative to reference object 46. Preferably, reference object 46 remains stationary and objects 10 are repositioned in a horizontal centers alignment with reference object 46. For convenience, center alignments depicted in Figs. 8-10 are shown relative to the approximate center of preview box 22.
Fig. 9 depicts a similar alignment as that discussed in conjunction with Fig. 8, except that left and right alignment buttons 28 and 32 have been selected. Objects 10A- 10D are aligned about their vertical centers as indicated by identification points 44. In the example shown in Fig. 9, the identification point 44 comprises the center of each object 10A-10D. As described above, the vertical centers alignment is made relative to the selected reference object 46. The turning on and off of vertical centers alignment is similar to that used for horizontal centers alignment.
Fig. 10 depicts a center alignment and indicates that center alignment button 34 has been selected. In such a situation, the center of each object 10 is aligned such that the centers are congruent as shown in Fig. 10. The location of the center alignment of objects 10 depends on which object
10 is selected to be reference object 46.
After an alignment selection has been chosen using alignment buttons 26-34, the user preferably clicks on the "OK" button and is prompted to select reference object 46. Once reference object 46 has been selected, remaining objects 10A-10D not selected as reference object 46 are aligned on display 110 with reference object 46 according to the selected alignment relationship.
Turning now to Fig. 10-17, an alternative method of aligning and distributing objects 10 will be described. Fig.
11 depicts four objects 10 shown in preview box 22 to be aligned and distributed. This embodiment of the present invention includes the selection of the distribute elements selector 36 to distribute objects 10. This feature aligns objects according to the selected alignment relationship as previously described, and further creates a uniform space or
'gap between adjoining objects 10 defining a spacing relationship. The gap is preferably greater than or equal to zero .
Fig 12 depicts a selection of bottom alignment button 30. Objects 10 are depicted in preview box 22 as having the selected bottom alignment. In this embodiment, however, the distributed elements selector 36 has been selected. In this manner, objects 10 are spaced apart from adjoining objects 10 by the amount input using spacing input 38. For the examples depicted in Figs. 12-17, the spacing or gap has been selected to be zero, resulting in objects 10 being aligned end to end. Preferably, this comprises a default setting. In this manner, objects 10 depicted in Fig.
12 are aligned along the bottom edges relative to the selected reference object 46 as previously described in conjunction with Fig. 4, and distributed end to end. It will be appreciated by those skilled in the art that objects 10 aligned and distributed relative to the selected reference object 46 also can be aligned and distributed relative to other user identified references, such as a reference line or the like.
Figs. 13-15 depict objects 10 aligned according to top side, left side and right side alignment relationships as previously described, respectively. Such alignments are chosen by selecting or highlighting the appropriate alignment buttons 26, 28 and 32. Objects 10 in Figs. 13-15 are further distributed according to the user input spacing relationship. Spacing input 38 has been set to zero to produce the depicted end to end alignment of objects 10. Figs. 16 and 17 depict a horizontal centers alignment and a vertical centers alignment, respectively, that are similar to the alignments described in conjunction with Figs. 8 and 9, except that the distribute elements selector 36 has been selected with spacing input 38 equal to zero.
As indicated, the distribute elements selector 36 feature permits a user to arrange objects 10 to be spaced apart from adjoining objects 10 a desired amount. For the examples shown in Figs. 18 and 19, the user has selected a distance 54 using spacing input 38. In Fig. 18, the user has selected a top, distributed alignment relationship where objects 10 are distributed and aligned with the top edge of a selected reference object 46. Objects 10 are distributed and spaced apart from adjoining objects by distance 54. Fig. 19 depicts a left side distributed alignment having a similar distance 54 between objects 10.
The invention has now been described in detail. It will be appreciated, however, that many changes and modifications may be made to the embodiments disclosed herein. For example, while the above embodiments have been described in conjunction with a two-dimensional coordinate system, it will be appreciated by those skilled in the art that the apparatus and methods of the present invention are equally applicable to three-dimensional coordinate systems. For example, in an embodiment including a three-dimensional coordinate system, in addition to the alignment relationships previously described, front and back alignment relationships, distribution relationships and combinations of these may be implemented.
In alternative embodiments, the two-dimensional alignment may include buttons 56 as illustrated in Fig. 20, that provide alignment along an angled axis. Such an angle may be 45 degrees, or any user selectable angle, such as 30 degrees, 57.5 degrees, and the like. In yet another embodiment, polar coordinate systems can be used, as illustrated in Fig. 21, to provide a greater selection of alignment choices to the user.
Therefore, the scope and content of this invention are not limited by the foregoing description. Rather, the scope and content are to be defined by the following claims.

Claims

WHAT IS CLAIMED IS: 1. A computer system for displaying an aligned set of objects, the computer system comprising: a processor; a display coupled to said processor; a user input device coupled to said processor; and a computer readable storage media coupled to said processor comprising: code that directs said processor to display a plurality of objects on said display; code that directs said processor to define a set of objects from said plurality of objects in response to input from said user input device; code that directs said processor to define a reference object on said display in response to input from said user input device; code that directs said processor to determine an alignment relationship in response to input from said user input device; and code that directs the processor to align said set of objects with said reference object according to said alignment relationship to form the aligned set of objects.
2. The computer system as in claim 1, wherein said storage media further comprises code that directs said processor to display a plurality of alignment relationships on said display.
3. The computer system as in claim 2, wherein the alignment relationship is determined from the plurality of alignment relationships.
4. The computer system as in claim 1, wherein said alignment relationship is a spaced apart alignment relationship of said reference object and said objects within said set .
5. The computer system as in claim 1, wherein said alignment relationship is an end-to-end alignment relationship of said reference object and said objects within said set.
6. The computer system as in claim 1, further comprising code that directs said processor to position said reference object and said objects within said set to be spaced apart a desired distance according to said alignment relationship .
7. A method for aligning objects on a computer display comprising the steps of: displaying a plurality of objects on said display; selecting one of said objects from the plurality of objects as a reference object in response to input from a user input device; selecting an alignment relationship for the plurality of objects in response to input from said user input device; and aligning said plurality of objects to said reference object according to said alignment relationship.
8. A method as in claim 7, wherein said alignment relationship is a left side alignment so that said aligning step aligns a left side of at least one object from the plurality of objects with a left side of said reference object .
9. A method as in claim 7, wherein said alignment relationship is a right side alignment so that said aligning step aligns a right side of at least one object from the plurality of objects with a right side of said reference object .
10. A method as in claim 7, wherein said alignment relationship is a bottom side alignment so that said aligning step aligns a bottom side of at least one object from the plurality of objects with a bottom side of said reference object .
11. A method as in claim 7, wherein said alignment relationship is a top side alignment so that said aligning step aligns a top side of at least one object from the plurality of objects with a top side of said reference object.
12. A method as in claim 7, wherein said alignment relationship is a center alignment so that said aligning step aligns a center of at least one object from the plurality of objects with a center of said reference object.
13. A method as in claim 7, wherein each of said plurality of objects has an object identification point defining a center of said object.
14. A method as in claim 13, wherein said alignment relationship is a horizontal center alignment so that said aligning step horizontally aligns said identification points of said objects and said reference object.
15. A method as in claim 13, wherein said alignment relationship is a vertical center alignment so that said aligning step vertically aligns said identification points of said objects and said reference object.
16. A method as in claim 7, wherein said aligning step comprises aligning said objects so that said objects and said reference object are positioned end-to-end according to said alignment relationship.
17. A method as in claim 7, wherein said aligning step comprises aligning said objects so that said objects and said reference object are positioned spaced apart a desired distance according to said alignment relationship.
18. A method as in claim 7, further comprising the step of previewing said selected alignment relationship on said display before said aligning step.
19. A method as in claim 7, wherein said displaying step comprises displaying said plurality of objects in a three- dimensional coordinate system.
20. A method as in claim 13, wherein said identification point comprises a center of gravity of said object.
21. A method for aligning objects on a computer display comprising the steps of: displaying a plurality of objects on said display; selecting an alignment relationship for the plurality of objects in response to input from said user input device; selecting a spacing relationship for the plurality of objects in response to input from said user input device; previewing said alignment relationship and said spacing relationship on said display; aligning said plurality of objects according to said alignment relationship; and spacing said plurality of objects according to said spacing relationship.
PCT/US1998/017808 1997-07-31 1998-07-30 Alignment and distribution apparatus and method WO1999006951A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5508897P 1997-07-31 1997-07-31
US60/055,088 1997-07-31

Publications (2)

Publication Number Publication Date
WO1999006951A1 true WO1999006951A1 (en) 1999-02-11
WO1999006951A9 WO1999006951A9 (en) 1999-04-29

Family

ID=21995512

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/017808 WO1999006951A1 (en) 1997-07-31 1998-07-30 Alignment and distribution apparatus and method

Country Status (1)

Country Link
WO (1) WO1999006951A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004809A3 (en) * 2003-07-01 2006-02-02 Immunomedics Inc Multivalent carriers of bi-specific antibodies
US8287885B2 (en) 2007-09-12 2012-10-16 Novartis Ag GAS57 mutant antigens and GAS57 antibodies

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463722A (en) * 1993-07-23 1995-10-31 Apple Computer, Inc. Automatic alignment of objects in two-dimensional and three-dimensional display space using an alignment field gradient
US5572639A (en) * 1995-05-08 1996-11-05 Gantt; Brian D. Method and apparatus for interactively manipulating and displaying presumptive relationships between graphic objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463722A (en) * 1993-07-23 1995-10-31 Apple Computer, Inc. Automatic alignment of objects in two-dimensional and three-dimensional display space using an alignment field gradient
US5572639A (en) * 1995-05-08 1996-11-05 Gantt; Brian D. Method and apparatus for interactively manipulating and displaying presumptive relationships between graphic objects

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004809A3 (en) * 2003-07-01 2006-02-02 Immunomedics Inc Multivalent carriers of bi-specific antibodies
US8287885B2 (en) 2007-09-12 2012-10-16 Novartis Ag GAS57 mutant antigens and GAS57 antibodies

Also Published As

Publication number Publication date
WO1999006951A9 (en) 1999-04-29

Similar Documents

Publication Publication Date Title
EP0780799B1 (en) Cursor positioning
US5796401A (en) System for designing dynamic layouts adaptable to various display screen sizes and resolutions
US6243721B1 (en) Method and apparatus for providing automatic layout capabilities for computer forms
US5977973A (en) Window linking
US8694913B2 (en) Apparatus and method for managing layout of a window
US5767852A (en) Priority selection on a graphical interface
US5396590A (en) Non-modal method and apparatus for manipulating graphical objects
US5550970A (en) Method and system for allocating resources
CN102165415B (en) The system and method for adjustment window size
EP1770621A1 (en) Progress management system
EP0595387A2 (en) Method and system for multi-dimensional scrolling of displayed data collections in a data processing system
US20010018644A1 (en) Apparatus and method for manually selecting, displaying, and repositioning dimensions of a part model
EP2616914B1 (en) Computer-implemented graphical user interface
US20110153279A1 (en) Approach for planning, designing and observing building systems
US20100058214A1 (en) Method and system for performing drag and drop operation
CH703723A1 (en) Method for configuration of a graphic user interface.
WO2005033869A2 (en) Method for creating and using user-friendly grids
US8065623B2 (en) Method for designing a customized work area
EP2017756A1 (en) Method for displaying and/or processing or manipulating image data for medical purposes with gesture recognition
WO2012034245A1 (en) Graphical user interface
EP0951669A1 (en) Graphics system and method having objects conformed to a template
US20190095549A1 (en) Method, Computer Program Product, and Server for Positioning a Structural Element in a 2D Section of a CAD Structure
WO2020156854A1 (en) Method and arrangement for outputting a head-up display on a head-mounted display
WO1999006951A1 (en) Alignment and distribution apparatus and method
WO2012051726A1 (en) Product post-processing installation

Legal Events

Date Code Title Description
AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

COP Corrected version of pamphlet

Free format text: PAGES 1/10-10/10, DRAWINGS, REPLACED BY NEW PAGES 1/11-11/11; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase