DE10065820A1 - Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle - Google Patents

Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle

Info

Publication number
DE10065820A1
DE10065820A1 DE10065820A DE10065820A DE10065820A1 DE 10065820 A1 DE10065820 A1 DE 10065820A1 DE 10065820 A DE10065820 A DE 10065820A DE 10065820 A DE10065820 A DE 10065820A DE 10065820 A1 DE10065820 A1 DE 10065820A1
Authority
DE
Germany
Prior art keywords
components
change
freedom
orientation
users
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
DE10065820A
Other languages
English (en)
Inventor
Klaus Kehrle
Andre Stork
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cocreate Software 71065 Sindelfingen De GmbH
Original Assignee
COCREATE SOFTWARE GmbH
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 COCREATE SOFTWARE GmbH filed Critical COCREATE SOFTWARE GmbH
Priority to DE10065820A priority Critical patent/DE10065820A1/de
Publication of DE10065820A1 publication Critical patent/DE10065820A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • 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
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation
    • 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/024Multi-user, collaborative environment
    • 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/2004Aligning objects, relative positioning of parts
    • 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/2008Assembling, disassembling
    • 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/2021Shape modification

Landscapes

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

Abstract

Die vorliegende Erfindung stellt ein Prozeßsystem zur Verfügung, um Modifikationen zu ermöglichen, die an einem virtuellen Entwurf in einem CAD-System durchzuführen sind, insbesondere einem Zusammenarbeits-CAD-System mit einer Anzahl von räumlich getrennten Nutzern. Ein Hinweis zu den Freiheitsgraden der Bauteile, die in eine Modifikation eingebunden sind, und zu den Auswirkungen auf die Freiheitsgrade alle Änderungen, die durchzuführen sind, ist andauernd vorgesehen.

Description

Gebiet der Erfindung
Die vorliegende Erfindung betrifft ein System zum computer­ gestützten Entwurf (CAD), insbesondere zur Nutzung in einem Multiuser-, Zusammenarbeits-CAD-Entwurfsprozeß in Echtzeit.
Hintergrund
Die vorliegende Erfindung dient zur Nutzung beim computer­ gestützten Konstruieren oder computergestützten Entwurf (computer-aided design (CAD)) und insbesondere beim mecha­ nischen CAD (MCAD). Das Verfahren wird bei der Simulation des Zusammenbaus und der Konstruktion von Modellen in vir­ tuellen Umgebungen benutzt, wobei die Entwickler unter­ schiedliche Anordnungen und Verbindungen, die Positionie­ rung usw. und die Auswirkungen der Änderungen in der Posi­ tionierung oder Orientierung von einer Komponente auf ande­ re Komponenten ausprobieren und visualisieren können. Dies ermöglicht es dem Entwickler, Änderungen während des Ent­ wurfsprozesses durchzuführen, bevor ein Modell tatsächlich gebaut wird.
In neuerer Zeit ist es wichtiger geworden, daß mehrere Ent­ wickler und andere Teilnehmer gleichzeitig an einem Entwurf arbeiten und diesen während des Entwurfsprozesses betrach­ ten können. Die meisten Ingenieurentwürfe sind das Ergebnis gemeinschaftlicher Anstrengungen eines hochqualifizierten Teams von Ingenieuren, Entwicklern, Marketingspezialisten, usw. Die Personen, die in einen Produktentwurf einbezogen sind, können unterschiedlichen Firmen angehören und an weit entfernten Standorten sitzen.
Um einen solchen "gemeinschaftlichen" Entwurf zu erleich­ tern, sind eine Reihe von Systemen entwickelt worden, die es an unterschiedlichen Orten sitzenden Entwicklern erlau­ ben, zusammen über ein Netzwerk in einem "virtuellen De­ signstudio" zu arbeiten.
Stand der Technik
Es gibt grundsätzlich zwei gemeinhin verwendete Arten von Systemen zur Zusammenbausimulation, nämlich die Kollisions­ erkennung und die Zusammenbaumodellierung.
Das Kollisionserkennungsverfahren beginnt mit tesselierten Modellen, um Echtzeitfähigkeit zu erreichen. Die Kollisi­ onserkennung zwischen einem oder mehr bewegten Bauteilen und deren Umgebung dient zur Erkennung, ob die Bauteile oder die Bauteilgruppe ohne Kollision gebaut werden kann.
Bei dem kollisionsbasierten Konstruktionsprozeß gibt es je­ doch eine Reihe von Nachteilen. Vor allem bewirkt die Tes­ selierung einen Verlust an Genauigkeit und einen Verlust des Bezugs zu topologischen Entitäten.
Außerdem kann die Kollisionserkennung, wie der Name nahe­ legt, nur erkennen, wann zwei Teile innerhalb einer gegebe­ nen Approximationsgenauigkeit kollidieren und kann nicht feststellen, wann zwei Teile passen.
Beim Zusammenbaumodellierungsprozeß (assembly modelling) können am Anfang und während der Konstruktion Zusammenbau­ merkmale, sogenannte "assembly features", hinzugefügt wer­ den. Diese assembly features sind im wesentlichen Unterkom­ ponenten bzw. Sub-Bauteile, welche anhand ihrer Geometrie, ihrer Art und ihres Verhaltens beschrieben werden. Zum Bei­ spiel kann ein "Sackloch" als ein assembly feature defi­ niert werden, welches anhand seiner geometrischen Eigen­ schaften (Länge und Radius) definiert wird, und auch Infor­ mationen darüber enthält, in welche Richtung das "Sackloch" offen ist. Diese letztere Information wird oft durch Koor­ dinatensysteme oder Rahmen (frames) repräsentiert. Solche schematischen Informationen können später für den Zusammen­ bau herangezogen werden. Ein System gemäß diesem Prozeß zieht eine erlaubte Bewegung (allowable motion) in Be­ tracht. Dies bietet ein effizientes Mittel, um 3D- Randbedingungen zu entsprechen, indem eine Anzahl von Transformationsoperationen auf die geometrische Entität appliziert werden, ohne deren zuvor erfüllten Randbedingun­ gen zu verletzen. Der "allowable motion"-Ansatz wird auch benutzt, um ein intuitives graphisches Mittel zu entwic­ keln, um die genaue 3D-Position eines Festkörpermodells zu erhalten, indem automatisch seine 3D-Manipulation ein­ schränkt wird.
Wie auch immer, bei Nutzung eines derartigen Systems können die Beziehungen zwischen Bauteilen und deren topologischen Entitäten nicht korrekt durch Benutzerinteraktion einge­ führt werden. Darüber hinaus gibt es keine oder nur eine unzureichende Darstellung oder Visualisierung des Frei­ heitsgrades, den die verschiedenen Bauteile haben. Außerdem kann eine Beziehung sich nicht gleichzeitig auf eine Gruppe von Bauteilen auswirken.
Anantha et al. ("Assembly modelling by geometric constraint satisfaction", Computer-Aided Design, Vol. 28, No. 9, 1996) beschreiben ein Vorgehen zum Zusammenbau von "assemblies" auf Grundlage eines "assembly feature"-basierten Modells. Diese Druckschrift lehrt die Nutzung der Analyse des Frei­ heitsgrades der Bewegung. Jedoch behandelt sie nicht die intuitive Interaktion und Echtzeitvisualisierung des Frei­ heitsgrades von Komponenten bei mehreren an unterschiedli­ chen Orten sitzenden Ingenieuren in einer gemeinsamen Ar­ beitssitzung.
Verschiedene kommerzielle CAD-Systeme zur Positionierung von Bauteilen und zur Konstruktion von Schaltkreisen oder Computermodellen sind zur Zeit erhältlich.
Einige bekannte Systeme, z. B. CATIA, IDEAS und Pro/E, sind randbedingungsbasierte (contraint based) Systeme.
In randbedingungsbasierten Systemen wird die Positionierung von Bauteilen durch Randbedingungen (constraints) festge­ legt, die durch den Nutzer definiert werden. Solche Randbe­ dingungen können beispielsweise sein: Koinzidenz, Paralle­ lität usw. Der Nutzer legt zuerst alle der erforderlichen Randbedingungen fest. Dann ermittelt ein Algorithmus, ob die unterschiedlichen Bauteile positioniert und/oder reori­ entiert werden können, um die Randbedingungen zu erfüllen. Sollte dies nicht der Fall sein, wird dem Nutzer eine Nach­ richt angezeigt und er kann dann versuchen, ein Redesign vorzunehmen, um alle Hindernisse zu entfernen, welche die Bedingungen davon abhalten, erfüllt zu werden.
Ein Problem bei solchen "constraint"-basierten Systemen ist jedoch, daß der Nutzer zuerst alle erforderlichen Randbe­ dingungen einführen oder definieren muß, und nur dann das System erkennt, ob die Bauteile gemäß diesen Randbedingun­ gen positioniert werden können. Daher kann der Nutzer, wäh­ rend er die Randbedingungen festlegt, nicht sicher sein, ob diese wirklich erfüllt werden können. Solche Systeme erlau­ ben überhaupt keine Zwischenüberprüfung, ob die Rahmenbe­ dingungen erfüllt werden können.
Andere Entwicklungssysteme, die gegenwärtig erhältlich sind, nutzen die nicht-"constraint"-basierte Methode, wie das Produkt SolidDesigner von CoCreate und IronCAD. Solid- Designer ermöglicht es, Bauteile bezüglich jedes anderen Bauteils durch Translation und Rotation zu positionieren oder zu orientieren. Während des Entwurfsprozesses kann ein Positionierungsschritt an einem Bauteil durchgeführt wer­ den. Dieser Schritt als solcher beschränkt aber nicht per­ manent die Position des Bauteils und beeinträchtigt nicht dessen Freiheitsgrad. Daher kann mit jeder weiteren Trans­ formation die vorliegende Positionierung geändert werden.
IronCAD geht einen Schritt weiter und bietet vordefinierte Positionseigenschaften, wie Oberfläche auf Oberfläche. Im IronCAD-System ist der Positionierungsschritt wiederum tem­ porär und kann später aufgehoben werden.
Obwohl viele Fortschritte bei Systemen zur Simulation der Konstruktion von virtuellen 3D-CAD-Modellen erreicht wurden und mehrere gegenwärtig benutzte Systeme sehr weit entwic­ kelt sind, gibt es immer noch keine vollkommen geeignete Systeme für eine dezentrale Zusammenarbeitskonstruktion in Echtzeit. Die Systeme bedürfen entweder einer Reihe von konstruktionsrelevanten Daten im voraus oder der Kenntnis der Konstruktionshistorie, wenn eine Änderung an dem Ent­ wurf durchzuführen ist. Existierende Systeme können aber auch Probleme bezüglich der Genauigkeit haben und sind nicht in der Lage, dem Nutzer die notwendigen visuellen In­ formationen, die er für einen Zusammenarbeitsentwurf benö­ tigt, anzubieten.
Die vorliegende Erfindung zielt darauf ab, diese Probleme zu lösen, indem sie auf einfache mögliche Art den Zusammen­ bau oder die Konstruktion eines virtuellen 3D-CAD-Modells, welches gleichzeitig von einer Anzahl von Teilnehmern an unterschiedlichen Orten bearbeitet werden kann, ermöglicht.
Das System der vorliegenden Erfindung gibt den Nutzern In­ formationen, die diese befähigen, die Möglichkeiten der Po­ sitionierung und Orientierung der Bauteile in dem Entwurf zu visualisieren.
Gemäß der Erfindung wird ein Verfahren zur Änderung der re­ lativen Position und/oder Orientierung von zwei Bauteilen eines virtuellen Modells, welches auf einem Bildschirm dar­ gestellt ist, vorgeschlagen. Das Verfahren umfaßt:
Auswahl der Komponenten, deren relative Position und/oder Orientierung zu ändern ist;
Festlegen der Änderung, die durchzuführen ist; und
Berechnen eines Hinweises auf die verbleibenden Freiheits­ grade der Bauteile, nachdem die Änderung durchgeführt wor­ den ist und Bereitstellen dieses Hinweises auf dem Bild­ schirm.
Bevorzugte Ausführungsformen der Erfindung werden nun le­ diglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
Fig. 1 zeigt mögliche geometrische Beziehungen zwischen Bauteilen.
Fig. 2 ist ein Flußdiagramm, das die erfin­ dungsgemäßen Verfahrensschritte zeigt.
Fig. 3 zeigt ein Beispiel von zwei Objekten, die gemäß der Erfindung positioniert worden sind.
Fig. 4-11 zeigen unterschiedliche visuelle Rück­ meldungen.
Die Erfindung kann vorzugsweise im Zusammenhang mit einem der existierenden 3D-Zusammenarbeitsentwurfsysteme benutzt werden, so wie das OneSpace-System von CoCreate. Alle Teil­ nehmer in dem Entwurfsprozeß sind in einem Netzwerk über einen Zusammenarbeitsserver, einen sogenannten collaborati­ on server, verbunden. Das Referenzmodell, das immer das ge­ genwärtige Modell ist, ist in dem Server enthalten, und Än­ derungen, die von einzelnen Teilnehmern an dem Modell durchgeführt werden, werden an alle anderen Teilnehmer über den Server weitergegeben. Daher sehen alle Nutzer zu jeder Zeit das gleiche Modell und alle Änderungen werden kontinu­ ierlich an alle Nutzer übermittelt. Die Nutzer sind in der Lage irgendeine Ansicht des gegenwärtigen Modells auszuwäh­ len.
Um ein Bauteil relativ zu einem anderen zu positionieren, wählt der Nutzer, beispielsweise mit einem Mausklick, die geeigneten topologischen Entitäten aus und ordnet diese einander zu, beispielsweise Kante des Bauteils A mit Kante des Bauteils B. Ein Bauteil dient als Referenzelement und das andere wird relativ zu diesem Referenzelement trans­ liert und/oder rotiert, wenn sein Freiheitsgrad es erlaubt wie zuvor besprochen. Die Rolle von bewegtem Bauteil und Referenzbauteil kann selbstverständlich von Operation zu Operation geändert werden.
Um Kollisionen mit anderen Nutzern zu vermeiden, wenn ein Nutzer eine Operation durchführt, sind die Bauteile, welche in diese Operation eingebunden sind, durch den Zusammenar­ beitsserver für die Dauer der Interaktion für alle anderen Nutzer blockiert.
Die Bauteile, die in jeder einzelnen Operation eingebunden sind, werden automatisch nach kurzer Zeit über den Zusam­ menarbeitsserver blockiert und dem Nutzer durch ein "lock feedback" angezeigt.
Nachdem die Operation durchgeführt worden ist, wird die Blockierung dieser Bauteile entfernt und sie stehen allen Teilnehmern zur Verfügung.
Anstelle der Bewegung eines Bauteils zu einem Zeitpunkt kann eine Gruppe von Bauteilen ausgewählt und positioniert werden, so daß es möglich ist, Teilbauteile zu bewegen und zu positionieren. Topologische Entitäten können mit jeder anderen gemäß den folgenden Beziehungen zugeordnet werden:
Scheitel zu Scheitel
Kante zu Kante
Achse zu Achse
Kante zu Achse und umgekehrt
Fläche zu Fläche.
Fig. 1 zeigt einige Operationsmöglichkeiten in einem Baum­ diagramm.
Für jede Kombination der Freiheitsgrade kann eine Schei­ tel-, Ecken-, Kanten- oder Flächenbeziehung eingeführt wer­ den, welche auf unterschiedliche Art den Freiheitsgrad be­ grenzen wird, in Abhängigkeit der geometrischen Anordnung der unterschiedlichen verbundenen Elemente. Es gibt hierfür 18 (oder 21, wenn die Kombination 0,0 einbezogen ist) un­ terschiedliche Möglichkeiten, den Freiheitsgrad zu be­ schränken.
Zu Beginn, bevor die Bauteile in irgendeiner Position oder Orientierung fixiert sind, haben sie alle sechs Freiheits­ grade - drei Rotationsfreiheitsgrade und drei Translations­ freiheitsgrade. Nach einer Positionierungs- oder Orientie­ rungsoperation in Beziehung zu einem anderen Bauteil kann die Anzahl an Freiheitsgraden reduziert sein. Die nachfol­ gende Tabelle 1 zeigt Kombinationen von Freiheitsgraden, die ein Bauteil haben kann, gemäß den vorstehend aufgeführ­ ten Operationen.
Fig. 2 ist ein Flußdiagramm der grundlegenden Verfahrens­ schritte, wenn zwei Bauteile oder Elemente miteinander ver­ bunden werden. Zuerst wird festgestellt, ob die gewünschte Operation durch Transformation des Bauteils innerhalb der existierenden Beschränkungen erfüllt werden kann. Ist dies der Fall, wird das Bauteil entsprechend transformiert. Die­ se Transformation kann eine Reduktion der Freiheitsgrade mit sich bringen. Eine visuelle Rückmeldung, welche die verbleibenden Freiheitsgrade repräsentiert, wird berechnet, dargestellt und zu allen anderen Nutzern übermittelt.
Sollten die Nutzer versuchen, Operationen durchzuführen, die nicht innerhalb der existierenden Freiheitsgrade durch­ geführt werden können, erhalten sie sofort eine Rückmel­ dung, wonach die Zuweisung nicht erlaubt werden kann.
Nach Durchführung der gewünschten Transformation werden die neue Position und die verbleibenden Freiheitsgrade zu allen Teilnehmern über den Zusammenarbeitsserver inkrementell übermittelt, d. h. um die übermittelte Datenmenge zu redu­ zieren, werden nur Änderungen übermittelt.
Die visuellen Rückmeldungselemente, die die verbleibenden Freiheitsgrade nach einer Positionierung oder Orientie­ rungsoperation zeigen, dienen als 3D-Operationselemente (widgets), die angeklickt werden können, um interaktiv ein Bauteil gemäß seines Freiheitsgrades zu bewegen. Um eine genaue Positionierung zu erreichen, können die Bewegungen in diskrete Schritte unterteilt werden. Der Nutzer kann die diskreten Schritte durch Eingabe von Werten bestimmen.
Das Verfahren umfaßt also fünf grundlegende Schritte:
  • - Überprüfen, ob das einzelne Bauteil oder die Gruppe von Bauteilen gegenwärtig zur Positionierung frei ist. Ist dies der Fall, wird das Bauteil oder die Gruppe über den Zusammenarbeitsserver gegen die Nutzung durch andere Nut­ zer während der Operation blockiert.
  • - Die Verbindung zwischen topologischen Entitäten wird durch den Nutzer eingeführt, die geeignete Transformation des Bauteils oder der Gruppe von Bauteilen wird automa­ tisch durch das System berechnet.
  • - Um dies zu tun, wird zuerst eine Überprüfung durchge­ führt, ob der gegenwärtige Freiheitsgrad dieses Bauteils es überhaupt ermöglicht, daß dieses positioniert oder orientiert werden kann. In einem zweiten Schritt wird die Transformationsmatrix berechnet, die zu dem Bauteil führt, das zu bewegen ist, indem es die geeignete Positi­ on und/oder Orientierung übernimmt.
  • - Eine Überprüfung wird durchgeführt, ob diese Operation den Freiheitsgrad reduziert, und wenn dies der Fall ist, wird der zugehörige Freiheitsgrad verringert.
  • - Der verbleibende Freiheitsgrad des Bauteils bzw. der Bau­ teile wird berechnet und visualisiert.
Die Blockierung des Bauteils wird dann aufgelöst und die neue Position und die neuen Freiheitsgrade werden zu allen Nutzern übermittelt.
Fig. 3 zeigt ein konkretes Beispiel von zwei Objekten, die relativ zueinander erfindungsgemäß positioniert und orien­ tiert werden.
Die beiden Objekte A und B haben eine Ecke-zu-Ecke- oder Scheitel-zu-Scheitel-Beziehung. Der Entwickler möchte dann eine Kante-zu-Kante-Beziehung einführen. Alle anderen Kom­ binationen können auf ähnliche Art durchgeführt werden.
Zu Beginn der Ecke-zu-Ecke-Beziehung haben die beiden Ob­ jekte noch drei Rotationsfreiheitsgrade aber keine Transla­ tionsfreiheitsgrade.
Es wird dann festgestellt, ob eine Kante-zu-Kante- Positionierung für diese beiden Bauteile möglich ist. Es wird in diesem Fall festgestellt, daß die Kante-zu-Kante- Zuordnung genau durch Rotation (eine Translation ist nicht erlaubt, aufgrund der Tatsache, daß die Bauteile keine translatorischen Freiheitsgrade haben) durchgeführt werden kann, wenn der Abstand zwischen den Fixpunkten, wo die bei­ den Ecken verbunden sind, und der Kante des Referenzbau­ teils A gleich dem Abstand zwischen dem Fixpunkt und der Kante (der Komponente B), die zu bewegen ist, gleich sind.
In diesem Fall wird festgestellt, daß die gewünschte Opera­ tion möglich ist und dann die Transformationsmatrix zur Durchführung dieser Operation bestimmt. In diesem Fall wird die Transformationsmatrix (hier eine Rotationsmatrix) durch folgende Gleichung gegeben:
rotAxis = crossProd (vm, vf),
rotAngle = angle (vm, vf) und
fixPoint
mit
vm = movedEdge.nearestPoint(fixPoint)-fixPoint
vf = fixEdge.nearestPoint (fixPoint)-fixPoint
Die Transformation wird dann durchgeführt. Ergibt diese Operation eine Reduktion der Freiheitsgrade der Bauteile, wird diese Reduktion auch berechnet. Die Kombination des Fixpunktes und der Kante-zu-Kante-Zuordnung läßt keine wei­ teren Bewegungsmöglichkeiten für diese Bauteile zu, d. h. nach der Kante-zu-Kante-Zuordnung wird der Rotationsfrei­ heitsgrad auf Null reduziert. Daher besteht in diesem Fall kein Bedarf daran, eine visuelle Rückmeldung zu berechnen und darzustellen, die die verbleibenden Freiheitsgrade zeigt.
Sollte der Fixpunkt auf der bewegten Kante und auf der fi­ xierten Kante liegen, ergibt sich also eine Fixachse, wel­ che den Fixpunkt enthält und es verbleibt dann dort ein Ro­ tationsfreiheitsgrad für den gemeinsamen Zusammenbau, der entsprechend dargestellt werden kann.
Die Fig. 4 bis 11 zeigen verschiedene visuelle Rückmel­ dungen, die dem Nutzer die verbliebenen Freiheitsgrade zei­ gen.
Fig. 4 zeigt die Situation nach einer Oberfläche-zu- Oberfläche-Zuordnung. Sie stellt die visuelle Rückmeldung für zwei translatorische und einen rotatorischen Freiheits­ grad dar.
Fig. 5 zeigt beispielsweise die Situation nach einer Kan­ te-zu-Kante-Zuordnung. Sie zeigt die visuelle Rückmeldung für einen translatorischen und einen rotatorischen Frei­ heitsgrad.
Fig. 6 zeigt die visuelle Rückmeldung für einen rotatori­ schen Freiheitsgrad, beispielsweise nach einer Ecke-zu- Kante-Zuordnung.
Fig. 7 zeigt die visuelle Rückmeldung für einen translato­ rischen Freiheitsgrad, beispielsweise nach einer Kante-zu- Oberfläche-Zuordnung.
Ein weiteres klarstellendes Beispiel ist in den nächsten vier Figuren gezeigt. Hier wird ein "Gegenstück" in eine Platte mit zwei Löchern eingesteckt. Bei dem Positionie­ rungsvorgang wird zunächst eine Achse-zu-Achse-Zuordnung durchgeführt.
Fig. 8 zeigt die Situation zu Beginn diese Prozesses.
Fig. 9 zeigt die Situation nach der Achse-zu-Achse- Zuordnung. Sie zeigt ein visuelles Rückmeldungselement für einen translatorischen und einen rotatorischen Freiheits­ grad.
In einem zweiten Interaktionsschritt werden die beiden Ach­ sen durch den Nutzer verbunden. Fig. 10 zeigt die Situati­ on nach dieser Achse-zu-Achse-Zuordnung. Die visuelle Rück­ meldung hat nur ihre Position und Orientierung geändert und zeigt dem Nutzer, daß nur ein translatorischer Freiheits­ grad übrigbleibt.
Eine abschließende Oberfläche-zu-Oberfläche-Zuordnung bringt die Bauteile in ihre endgültige Position. Fig. 11 zeigt die endgültige Position der Bauteile nach der Ober­ fläche-zu-Oberfläche-Zuordnung.
Damit ermöglicht die vorliegende Erfindung, auf die ein­ fachst mögliche Art, den Zusammenbau oder Konstruktion von virtuellen 3D-Modellen, die gleichzeitig von einer Anzahl von Teilnehmern an räumlich getrennten Orten bearbeitet werden können. Durch die aufeinanderfolgende Beachtung von Ecken, Kanten, Achsen und Oberflächen der Teilmodelle, wer­ den diese interaktiv positioniert, orientiert und ihre Be­ wegungsmöglichkeiten festgelegt. Die verbleibenden Frei­ heitsgrade werden inkrementell an alle Nutzer übertragen und unmittelbar dargestellt. Daher sehen die Nutzer zu je­ dem Zeitpunkt dasselbe aktuelle Modell.
Da den Nutzern zu jedem Zeitpunkt eine visuelle Darstellung der existierenden Freiheitsgrade des Teilmodells gezeigt wird, ist keine Kenntnis des Verlaufs bzw. der Historie des Entwurfsprozesses oder der Positionierung notwendig.
Durch Nutzung der Erfindung können CAD-Modelle unterschied­ licher Art zusammengebaut oder auf einfache Weise konstru­ iert werden, selbst von einem Nicht-CAD-Systemnutzer, auf eine graphisch interaktive Weise und von Mitgliedern eines Teams gleichzeitig an unterschiedlichen Orten.
Durch aufeinanderfolgende Zuweisungen von entsprechenden topologischen Entitäten (Oberflächen, Kanten, Achsen und Ecken) werden Bauteile unter Berücksichtigung der anderen Bauteile "fixiert", sowohl in Position als auch in Orien­ tierung, in maximal drei Interaktionsschritten.
Das Verfahren nimmt keine Festlegung hinsichtlich der An­ wendung des Modells vor. Die benötigte Information kann von jedem 3D-Modell ohne jede zusätzliche Information, wie as­ sembly features, die kurz zuvor hinzugefügt wurden, gewon­ nen werden. Somit erlaubt das Verfahren der vorliegenden Erfindung den Mitgliedern eines Teams, die Orientierung von Bauteilen in Bezug zueinander schnell und ohne in Konflikt zu geraten zu positionieren und zu ändern.
Verglichen mit den bekannten zuvor beschriebenen Systemen hat die vorliegende Erfindung folgende Vorteile:
  • - Die Interaktion wird erreicht, wie von den Nutzern ge­ fordert.
  • - Beziehungen zwischen unterschiedlichen Bauteilen wer­ den nicht "willkürlich" eingeführt.
  • - Die Auswirkungen einer Verbindung zweier Bauteile kann sofort von allen und für alle Nutzer visualisiert wer­ den.
  • - Der verbleibende Freiheitsgrad jedes Bauteils wird für alle Nutzer visuell dargestellt bzw. veranschaulicht.
  • - Fehler und Hinderungen können für jede Operation so­ fort identifiziert werden und an die Nutzer übermit­ telt werden.
  • - Es besteht keine Notwendigkeit für die Nutzer sich al­ le einzuführenden Randbedingungen und deren Auswirkun­ gen zu merken.
  • - Keine zusätzliche Information muß durch die Nutzer in dem Modellierungsprozeß eingebracht werden, wie dies mit assembly features der Fall ist.
  • - Die Genauigkeit eines CAD-Modells bleibt erhalten. Es besteht keine Notwendigkeit für irgendeine Verminde­ rung der Genauigkeit, wie dies bei der Kollisionser­ kennung der Fall ist, um eine Echtzeitinteraktion zu ermöglichen.
  • - Die verbleibenden Freiheitsgrade jedes Bauteils werden inkrementell, d. h. nur die Änderungen, an alle Teil­ nehmer übertragen und dann aufgebaut und es wird ein visuelles Rückmeldungsbild dargestellt.
  • - Alle Nutzer können grundsätzlich gleichzeitig an einem Zusammenbau- oder Konstruktionsprozeß teilnehmen.

Claims (10)

1. Verfahren zur Änderung der relativen Position und/oder Orientierung von zwei Bauteilen eines virtuellen Modells, das auf einem Bildschirm dargestellt ist, mit folgenden Schritten:
Auswählen der Bauteile, deren relative Position und Orien­ tierung zu ändern ist,
Festlegen der Änderung, die durchzuführen ist, und
Berechnen eines Hinweises für die verbleibenden Freiheits­ grade der Bauteile, nachdem die Änderung durchgeführt wor­ den ist, und Bestellen dieses Hinweises auf dem Bildschirm.
2. Verfahren nach Anspruch 1, mit dem weiteren Schritt des Feststellens, ob die durchzuführende Änderung möglich ist, basierend auf den existierenden Freiheitsgraden der Bauteile, und, falls nicht, Anzeigen dieser Feststellung für den Nutzer.
3. Verfahren nach Anspruch 1 oder 2, mit den weiteren Schritten des Berechnens einer Transformationsmatrix, um die gewünschte Änderung durchzuführen, und des Durchführens der Änderung, sowie den weiteren Schritten des Übermittelns der Information zu der geänderten Position und Orientierung der Bauteile zu den Nutzern am Bildschirm, und des Modifi­ zierens des virtuellen Modells, um diese Änderung aufzuneh­ men.
4. Verfahren nach einem der vorstehenden Ansprüche, mit den weiteren Schritten des Berechnens der Freiheitsgrade der Bauteile bevor die Änderung durchgeführt wird, des Be­ stimmens, ob die Änderung eine Verringerung der Freiheits­ grade bewirkt, und, falls dies der Fall ist, des Bewirkens dieser Verringerung der Freiheitsgrade und des Bereitstel­ lens eines Hinweises zur Verringerung für den Nutzer.
5. Verfahren nach einem der vorstehenden Ansprüche, bei dem der Hinweis auf die verbleibenden Freiheitsgrade der Bauteile und ein Hinweis zur Änderung der Position und Ori­ entierung der Bauteile zu den Nutzern übertragen wird, in­ dem nur Informationen übertragen werden, die sich seit der Änderung zur relativen Position und Orientierung geändert haben.
6. Verfahren nach einem der vorstehenden Ansprüche, bei dem das virtuelle Modell auf einer Vielzahl von Bildschir­ men einer Vielzahl von Nutzern dargestellt wird, wobei eine solche Vielzahl von Bildschirmen mit einem gemeinsamen Zu­ sammenarbeitsserver verbunden ist, und wobei die Daten, die das virtuelle Modell zu jedem Zeitpunkt definieren, in dem Zusammenarbeitsserver gespeichert sind und an alle Nutzer übertragen werden.
7. Verfahren nach Anspruch 6, bei dem nach dem Schritt des Auswählens ein Verriegelungssignal an alle Nutzer über­ tragen wird, außer zu dem Nutzer, der die Auswahl getroffen hat, und bei dem das Verriegelungssignal ein Hinweis ist, daß die ausgewählten Komponenten nicht frei sind, um von einem der anderen Nutzer belegt zu werden.
8. Verfahren nach Anspruch 7, bei dem das Verriegelungs­ signal entfernt wird, nachdem die Änderung vorgenommen wor­ den ist.
9. System zur Durchführung des Verfahrens nach einem der vorstehenden Ansprüche, mit Mitteln zum Speichern von Da­ ten, die ein auf einem oder mehr Bildschirmen dargestelltes virtuelles Modell definieren;
Eingabemitteln, die es einem Nutzer ermöglichen, Befehle einzugeben, um die Auswahl von Bauteilen des auf dem Bild­ schirm dargestellten Modells zu bewirken, und dessen rela­ tive Position und Orientierung zu ändern ist;
Prozeßmitteln zur Änderung der relativen Position und Ori­ entierung der ausgewählten Komponenten gemäß den Eingabe­ kommandos;
Prozeßmitteln, zum Bereitstellen eines modifizierten virtu­ ellen Modells auf dem Bildschirm, das die Änderung in rela­ tiver Position und Orientierung der beiden Bauteile auf­ nimmt, und auch zum Bereitstellen eines Hinweises auf dem Bildschirm zu den verbleibenden Freiheitsgraden der Bautei­ le, nachdem die Änderung vorgenommen worden ist.
10. System nach Anspruch 9, bei dem eine Vielzahl von Bildschirmen einer Vielzahl von Nutzern mit einem gemeinsa­ men Zusammenarbeitsserver verbunden ist, in dem das virtu­ elle Modell und das Prozeßmittel enthalten sind.
DE10065820A 1999-12-24 2000-12-22 Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle Ceased DE10065820A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10065820A DE10065820A1 (de) 1999-12-24 2000-12-22 Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19963025 1999-12-24
DE10065820A DE10065820A1 (de) 1999-12-24 2000-12-22 Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle

Publications (1)

Publication Number Publication Date
DE10065820A1 true DE10065820A1 (de) 2001-07-19

Family

ID=7934512

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10065820A Ceased DE10065820A1 (de) 1999-12-24 2000-12-22 Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle

Country Status (2)

Country Link
US (1) US7466313B2 (de)
DE (1) DE10065820A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005011615A1 (de) * 2004-03-05 2005-12-01 Volkswagen Ag Verfahren und Vorrichtung zur Verwaltung von Produktdaten
DE102006021574A1 (de) * 2006-05-09 2007-11-15 Airbus Deutschland Gmbh Verfahren zur Performanceverbesserung bei der Bearbeitung eines prozessübergreifenden digitalen Versuchsmodells

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580867B2 (en) 2004-05-04 2009-08-25 Paul Nykamp Methods for interactively displaying product information and for collaborative product design
US8207990B1 (en) * 2008-01-04 2012-06-26 Spaceclaim Corporation, Inc. Systems and methods for merging and splitting intersecting solids and surfaces
US7713426B2 (en) * 2008-01-11 2010-05-11 Blue Water Technologies, Inc. Water treatment
US20100138793A1 (en) * 2008-12-02 2010-06-03 Microsoft Corporation Discrete objects for building virtual environments
US10885235B2 (en) * 2012-08-13 2021-01-05 The Boeing Company Multi-user virtual product development environment
JP2014102685A (ja) * 2012-11-20 2014-06-05 Sony Corp 情報処理装置、情報処理方法及びプログラム
US10002150B1 (en) 2014-02-11 2018-06-19 United Technologies Corporation Conflict resolution for a multi-user CAx environment
US20150347567A1 (en) 2014-05-28 2015-12-03 Siemens Product Lifecycle Management Software Inc. Method for creation and editing of a massive constraint network
US10235807B2 (en) * 2015-01-20 2019-03-19 Microsoft Technology Licensing, Llc Building holographic content using holographic tools
US10437938B2 (en) 2015-02-25 2019-10-08 Onshape Inc. Multi-user cloud parametric feature-based 3D CAD system
EP3101566A1 (de) * 2015-06-05 2016-12-07 Invenio Virtual Technologies GmbH Verfahren und vorrichtung zum überprüfen der baubarkeit eines virtuellen prototyps
US10916066B2 (en) * 2018-04-20 2021-02-09 Edx Technologies, Inc. Methods of virtual model modification
US10902684B2 (en) * 2018-05-18 2021-01-26 Microsoft Technology Licensing, Llc Multiple users dynamically editing a scene in a three-dimensional immersive environment
US20220229535A1 (en) * 2021-01-19 2022-07-21 Samsung Electronics Company, Ltd. Systems and Methods for Manipulating Views and Shared Objects in XR Space

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918627A (en) * 1986-08-04 1990-04-17 Fmc Corporation Computer integrated gaging system
US5410496A (en) * 1989-06-13 1995-04-25 Schlumberger Technology Corp. Using degrees of freedom analysis to solve topological constraint systems for construction geometry in a computer aided design (cad)
US5253189A (en) * 1989-06-13 1993-10-12 Schlumberger Technologies, Inc. Qualitative kinematics
US5452238A (en) * 1989-06-13 1995-09-19 Schlumberger Technology Corporation Method for solving geometric constraint systems
US5799320A (en) * 1989-08-23 1998-08-25 John R. Klug Remote multiple-user editing system and method
US5153721A (en) * 1990-06-04 1992-10-06 Olympus Optical Co., Ltd. Method and apparatus for measuring an object by correlating displaced and simulated object images
JPH07111743B2 (ja) * 1992-03-04 1995-11-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 三次元空間中の物体を回転させるグラフィック表示方法及び装置
JPH06231275A (ja) * 1993-01-29 1994-08-19 Hitachi Ltd 画像シミュレーション方法
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
JP3143278B2 (ja) * 1993-08-18 2001-03-07 富士通株式会社 組立図作成方法及び装置
US5835693A (en) * 1994-07-22 1998-11-10 Lynch; James D. Interactive system for simulation and display of multi-body systems in three dimensions
US5821941A (en) * 1994-08-12 1998-10-13 Dassault Systemes Of America, Corp. Geometric constraints between related elements in different 2-dimensional views
JP2666750B2 (ja) * 1994-12-26 1997-10-22 日本電気株式会社 図形配置装置
US5682468A (en) * 1995-01-23 1997-10-28 Intergraph Corporation OLE for design and modeling
US5572639A (en) * 1995-05-08 1996-11-05 Gantt; Brian D. Method and apparatus for interactively manipulating and displaying presumptive relationships between graphic objects
US6016147A (en) * 1995-05-08 2000-01-18 Autodesk, Inc. Method and system for interactively determining and displaying geometric relationships between three dimensional objects based on predetermined geometric constraints and position of an input device
US6229552B1 (en) * 1995-07-21 2001-05-08 The Motion Factory System and method for automatic motion generation
JP3361007B2 (ja) * 1995-11-07 2003-01-07 富士通株式会社 リンク機構解析装置
US5745099A (en) * 1995-12-18 1998-04-28 Intergraph Corporation Cursor positioning method
US5803461A (en) * 1995-12-19 1998-09-08 Pavlovic; Zoran Mathematical puzzle type game
DE19612016A1 (de) * 1996-03-15 1997-09-18 Daimler Benz Ag Verfahren zur rechnergestützten Geometriemodellierung
US5909218A (en) * 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof
US5889528A (en) * 1996-07-31 1999-03-30 Silicon Graphics, Inc. Manipulation of branching graphic structures using inverse kinematics
US6167490A (en) * 1996-09-20 2000-12-26 University Of Washington Using global memory information to manage memory in a computer network
US5940082A (en) * 1997-02-14 1999-08-17 Brinegar; David System and method for distributed collaborative drawing
JP3559154B2 (ja) * 1997-11-10 2004-08-25 富士通株式会社 三次元モデル作成装置及び方法並びに三次元モデル作成プログラムを記録したコンピュータ読み取り可能な記録媒体
DE19838701A1 (de) 1998-08-26 1999-06-02 Kraiss Karl Friedrich Prof Dr Verfahren zur Interaktion mit computergrafischen Objekten in virtuellen Umgebungen
US6341291B1 (en) * 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6366293B1 (en) * 1998-09-29 2002-04-02 Rockwell Software Inc. Method and apparatus for manipulating and displaying graphical objects in a computer display device
US6629065B1 (en) * 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
US6369829B1 (en) * 1999-09-02 2002-04-09 Autodesk, Inc. Constructive systems for objects in a computer-implemented graphics system
US6646641B1 (en) * 1999-12-08 2003-11-11 Autodesk, Inc. Extrapolation of behavioral constraints in a computer-implemented graphics system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005011615A1 (de) * 2004-03-05 2005-12-01 Volkswagen Ag Verfahren und Vorrichtung zur Verwaltung von Produktdaten
DE102006021574A1 (de) * 2006-05-09 2007-11-15 Airbus Deutschland Gmbh Verfahren zur Performanceverbesserung bei der Bearbeitung eines prozessübergreifenden digitalen Versuchsmodells
US8379017B2 (en) 2006-05-09 2013-02-19 Airbus Operations Gmbh Method for improving the performance in processing an interprocess digital mockup

Also Published As

Publication number Publication date
US20010007095A1 (en) 2001-07-05
US7466313B2 (en) 2008-12-16

Similar Documents

Publication Publication Date Title
DE10065820A1 (de) Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle
DE69627061T2 (de) OLE zum Entwurf und zur Modellierung
DE10144932B4 (de) Visualisierung von Werkstücken bei der Simulation von Fräsprozessen
DE69631947T2 (de) Positionierung eines Eingabezeigers
DE68927196T2 (de) System zur Vereinfachung der Tätigkeitkoordinierung bei mehreren Tätern
DE112015005994B4 (de) Softwareerzeugungseinrichtung
EP2266066B1 (de) Verfahren und system zur erkennung von gruppierungseigenschaften
DE3608438A1 (de) Verfahren zum berechnen von freien gekruemmten flaechen mittels computergestuetztem design cad und computergestuetzter herstellung cam und numerischer steuerung nc
DE4303071A1 (de) Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
DE68917125T2 (de) Verfahren zur Erzeugung von graphischen Modellen und rechnergestütztes Entwurfssystem.
DE69910207T2 (de) Automatische programmiereinrichtung und speichermedium zur speicherung des graphischen datengenerierenprogramms
DE102006014849A1 (de) Vorrichtung und Verfahren zum Vorbereiten von Daten, um ein Simulationsmodell zu erzeugen, sowie ein Programm dafür
DE19704529B4 (de) Verfahren zum automatischen Erzeugen und Handhaben einer Schatten-Geometrie und interaktive computergestützte Anzeigeeinrichtung
DE19581872B4 (de) Dreidimensionales Graphikaufbereitungssystem
EP1820160A1 (de) Verfahren zur ableitung von technischen zeichnungen aus 3d modellen mit mindestens zwei kollidierenden 3d körpern
DE102004022395A1 (de) Rechnerunterstützte Modellierung
DE10145515A1 (de) Differenzvisualisierung von Konturoberflächen
DE4411314C2 (de) Anordnung zur prozeßorientierten Animation eines strukturtreuen hierarchischen Simulationsmodells
EP1516234A2 (de) Informationserzeugungssystem für die produktentstehung
EP1067479B1 (de) Verfahren und System zur virtuellen Erstellung eines aus mehreren Bauteilen bestehenden Produkts
EP1464015A2 (de) Konstruktionsverfahren und cad-system
DE102018222148A1 (de) Bearbeitung von visuell darstellbaren Informationen
WO2002037339A2 (de) System, verfahren und computerprogramm zur konfiguration von objekten
DE10204839A1 (de) Ermittlung von Toleranzüberschreitungen bei der Erzeugung von NC-Teileprogrammen
EP3828750A1 (de) Verfahren zur erstellung eines blockschaltbildes und vor-richtung zur simulation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE),

8127 New person/name/address of the applicant

Owner name: COCREATE SOFTWARE GMBH & CO. KG, 71065 SINDELFINGE

8127 New person/name/address of the applicant

Owner name: COCREATE SOFTWARE GMBH, 71065 SINDELFINGEN, DE

8131 Rejection