Autor
|
Thema: Skizzen prüfen (3318 mal gelesen)
|
Beckham Mitglied
Beiträge: 10 Registriert: 11.08.2010
|
erstellt am: 11. Aug. 2010 15:43 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich suche einen Befehl/Funktion um zwei verschiedene und geschlossene Skizzen zu vergleichen. Bei der ersten Skizze handelt es sich um eine Außenschale, bei der zweiten um die Innenschale. Ich möchte nun einen "Check" programmieren der überprüft, ob die Innenschale auch tatsächlich vollständig innerhalb der Außenschale liegt. Ist dies möglich und wenn ja, wie? Vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 11. Aug. 2010 16:12 <-- editieren / zitieren --> Unities abgeben: Nur für Beckham
Hallo Beckham, willkommen im Forum. Ich denke es könnte über gefüllte Flächen und deren Ausmessung gehen: - gefüllte Flächen beider Skizzen bilden, Flächen messen (bzw. bei deinen geschlossenen Skizzen kann man auch eine Messung der Kontur durchführen) - von der Aussenfläche einen Split durchführen mit Innenkontur; neue Fläche messen - Vergleich anstellen: Flächeninhalt neue Fläche = Inhalt grosse Fläche - Inhalt kleinere Fläche Wenn ja: Fläche liegt innerhalb, wenn nein (neue Fläche ist grösser) -> "Innen"-Fläche schneidet "Aussenfläche" Es geht bestimmt zu programmieren, so etwas ähnliches hatte ich schon mal gemacht (es fehlte lediglich der Vergleich und die Auswertung). Du kannst das aber auch als Power Copy aufbauen mit zwei Skizzen als Input. Dein "Endergebnis" wird dann ein Parameter sein, der True oder False ist. ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de tberger@tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beckham Mitglied
Beiträge: 10 Registriert: 11.08.2010
|
erstellt am: 11. Aug. 2010 17:05 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die schnelle Antwort, Thomas. Da ich bislang noch nicht mit "PowerCopy" gearbeitet habe werde ich versuchen deine erste Idee umzusetzen. Jedoch weiss ich nicht wie ich innehalb meines Checks zwei Flächen miteinander verschneiden kann. Die Funktion um Flächen zu füllen lässt sich problemlos im Datenverzeichnis unter "Flächenkonstruktionen" aufrufen. Die Funktion Flächen zu schneiden ist jedoch nicht vorhanden. Ich bin noch relativ neu auf dem Gebiet und mir sind bislang nur die Operationen bekannt die auch in dieser "Datenverzeichnis"-Liste aufgelistet sind, wenn man eine "Prüfung" erstellen möchte. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 11. Aug. 2010 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für Beckham
Bei der PowerCopy müsstest du "ganz normal" erst mal kostruieren: - ein Geoset mit Namen "Input" in dem du deine zwei Skizzen erzeugst (die später ausgetauscht werden) - ein weiteres Geoset einfügen (umbenennen in z.B. "PowerCopy_Output", darin zuerst die Flächen mit "Füllen" konstruieren. - dann eine Fläche (die der grösseren Skizze) mit "Trennen" (engl. Split) mit der kleineren Skizze splitten - jetzt die Flächenparameter erzeugen (Typ Fläche / "Area") und in das 2.Geoset umordnen / per Drag&Drop oder kopieren / Einfügen des Parameter-Eintrags im Baum - Formelverknüpfungen erzeugen (Parameter mit Formel hinzufügen steuern zu = area(Fill.1) etc. - Formelbeziehung erzeugen für Grössendifferenz: Fläche gross - Fläche gesplittet - Booleschen Parameter erzeugen und umordnen in Parameterset des 2.Geosets Booleschen Parameter gleichsetzen mit Parameter Fläche gross - Fläche gesplittet = Fläche gross - Fläche klein Dann kannst du ablesen (true oder false ist das Ergebnis deines Boole-Werts) ob die Fläche innen (true) oder aussen (false) liegt. Jetzt noch alle Beziehugen (Formeln) die erzeugt wurden in das 2.Geoset bzw. das Parameterset darin umordnen, sodass alles was die Power-Copy erzeugen soll im 2.Geoset liegt. Dann PowerCopy erzeugen mit komplette angegebenen 2.Geoset -> deine Inputs werden dann die beiden Skizzen sein. Wenn du die Power Copy auf eine andere Part-Situation anwendest und damit einfügst kannst du dann am Boole-Parameter erkennen, ob alles innen liegt. Das alles habe ich jetzt nur aus dem Gedächtnis geschrieben, da ich im Moment kein CATIA habe. Es stellt sich aber die Frage, ob du das wirklich so prüfen willsst oder nicht einfach "einen Blick darauf wirfst". ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de tberger@tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Aug. 2010 19:28 <-- editieren / zitieren --> Unities abgeben: Nur für Beckham
Servus Du könntest es auch mit einer Verschneidung (im GSD) probieren. Wenn sich die beiden Konturen scheiden liegt die Innenkontur nicht innerhalb der Außenkontur (oder ist ein Berühren zulässig?) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 11. Aug. 2010 21:30 <-- editieren / zitieren --> Unities abgeben: Nur für Beckham
Hallo Beckham, ich würde es ebenso machen wie es Bernd schon Beschrieben hat. Eine Intersection zwischen den zwei Skizzen erzeugen, lässt sich die Intersection updaten, gibt´s eine Überschneidung/Berührung. Ich würde aber noch die Länge der beiden Konturen Abfragen und vergleichen um auszuschließen das die Innenschahlenkontur nicht generell größer ist als die Aussenschalenkontur. (Measure Methode wird im Forum auch beschrieben). Falls du noch keine Intersection programmiert hast gibt dir der Makrorecorder alle wichtigen Information. mfG Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beckham Mitglied
Beiträge: 10 Registriert: 11.08.2010
|
erstellt am: 12. Aug. 2010 13:14 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die vielen Antworten! Ich habe das Problem nun wie folgt gelöst: - zwei Flächen von der Außen- und Innenkontur erzeugt - mit dem Befehl "Trennen" die Innenfläche von der Außenfläche getrennt - zwei Parameter erstellt die einmal die "getrennte Fläche" und einmal die Fläche (außen - innen) misst - einen Boolschen Parameter eingefügt der diese Werte vergleicht. Sind beide Werte gleich, so liegt die Innenkontur in der Außenkontur, andernfalls nicht. Mit PowerCopy habe ich es auch hinbekommen, jedoch sah ich darin keinen Zweck da ich nicht immer einen neuen Körper erzeugen will mit stets den gleichen Operationen. Aber trotzdem interessant das PowerCopy mal kennengelernt zu haben. Nun mein neues Problem: Wenn es sich um Rechtecke handelt, dann klappt dies ohne Probleme, handelt es sich jedoch um komplexere Geometrien der Innen- und Außenkonturen, so ist laut CATIA der Flächeninhalt der "getrennten Fläche" immer etwas anders als der Flächeninhalt (außen - innen). Hierbei scheint es sich wohl um rundungsfehler zu handeln, wie kann ich diese jedoch beheben? [Diese Nachricht wurde von Beckham am 12. Aug. 2010 editiert.] [Diese Nachricht wurde von Beckham am 12. Aug. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 12. Aug. 2010 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für Beckham
Hallo Beckham, schön dass es geklappt hat und du auch die PowerCopies interessant findest. Zu deiner Frage: vielleicht kannst du einfach mit einer zulässigen Toleranz das Ergebnis beeinflussen (round-Funktion), z.B. auf 100-stel messen. Evtl. geht auch das sonst üblich Tausendstel, ich glaube bei Messungen macht er/sie einfach viel mehr Stellen und wird dann "ungleich"... ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de tberger@tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beckham Mitglied
Beiträge: 10 Registriert: 11.08.2010
|
erstellt am: 12. Aug. 2010 19:58 <-- editieren / zitieren --> Unities abgeben:
Ich habe den Rat befolgt und die mathematische Funktion "Round" verwendet und die Flächeninhalte auf erstmal nur 3 Nachkommastellen gerundet. Bis jetzt hat die Lösung einwandfrei funktioniert, vielen Dank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |