| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | erp4cad: Das ERP für komplexe CAD-Projekte!, eine Pressemitteilung
|
Autor
|
Thema: Durchdringung einer Fläche durch Schweißpunkt (1696 mal gelesen)
|
Antelito Mitglied

 Beiträge: 88 Registriert: 27.11.2013 CATIA R19 SP9 WIN 7 x64
|
erstellt am: 26. Okt. 2015 22:28 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich möchte ein Makro schreiben für folgendes Problem und hoffe, dass ihr mich hierbei unterstützen könnt: Ausgangspunkt sind viele Verbindungsdatenwolken, welche sowohl Schweißpunkte als auch Klebeflächen enthalten. Jede Verbindungsdatenwolke ist ein CATPart und enthält unterschiedlich viele Schweißpunkte und Klebeflächen. Ich muss nun prüfen, ob Schweißpunkte auf Klebeflächen liegen. Dazu muss ich jedes CATPart öffnen und jede Klebefläche daraufhin überprüfen, ob ein Schweißpunkt auf ihr liegt bzw. ob ein Schweißpunkt die Klebefläche durchdringt. Wenn ja, dann soll eine Meldung ausgegeben werden. Da dies aufgrund der hohen Zahl an Verbindungsdatenwolken sehr zeitintensiv und mühsam ist, stelle ich mir die Frage, ob dies nicht per Makro automatisiert werden könnte. Vielen Dank im vorraus und Danke für die Hinweise, als der Post "verlorengegangen" ist Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 26. Okt. 2015 22:44 <-- editieren / zitieren --> Unities abgeben:          Nur für Antelito
Hi Antelito, ich kann mir zwar vorstellen, dass ein Punkt auf einer Fläche liegt. Aber wie kann ein Element, das idealisiert keine Ausdehnung hat ein anderes Element, das in einer Richtung auch keine Ausdehnung hat, durchdringen? Oder wie ist das gemeint? Sind die Punkte per Definition auf den Flächen? Oder reicht es festzustellen, dass der Abstand Punkt/Fläche = 0 ist? Müssen alle Punkte mit allen im Part enthaltenen Flächen verglichen(gemessen) werden? Zur Meldung bei Erfolg: Reicht eine zum Schluss ausgegebene Meldung/Liste? Was machst Du anschliessend mit der Weisheit? Tschau, Joe PS: Der Thread in 'V5-Programmierung' ist unauffindbar futsch. Da muss ich wohl den Andreas/Albert bitten ihn zu löschen. ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Antelito Mitglied

 Beiträge: 88 Registriert: 27.11.2013 CATIA R19 SP9 WIN 7 x64
|
erstellt am: 27. Okt. 2015 09:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich denke, dass die Punkte immer auf der Fläche sind (nur Stichprobenartig geprüft). Ich hoffe, dass der Screenshot etwas Klarheit bringt... Zur Meldung bei Erfolg: ich werde wahrscheinlich die betreffenden Punkte nach Excel schreiben... aber zunächst reicht eine einfache MsgBox, welche anspringt, wenn solche Durchdringungen gefunden wurden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 27. Okt. 2015 12:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Antelito
Hi Antelito, zeitintensiv wird's auch beim Makro. Wenn ich Dich recht verstehe, hast Du - n verschiedene Parts - in den Parts jeweils mehrere Flächen - in den Parts jeweils mehrere Punkte - die Punkte wurden nicht als PointOnSurf erzeugt Das hiesse, dass Du in jedem Part alle Punkte mit allen Flächen vergleichen(messen) musst und bei einem Abstand von 0+/-0.05 (zB) den Punktnamen, die Koordinaten und die Fläche merken musst um sie abschliessend zu exportieren. Was geschieht mit den Punkten, die nicht auf einer Fläche liegen? Tschau, Joe
------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Antelito Mitglied

 Beiträge: 88 Registriert: 27.11.2013 CATIA R19 SP9 WIN 7 x64
|
erstellt am: 27. Okt. 2015 14:58 <-- editieren / zitieren --> Unities abgeben:         
Hallo, die anderen Punkte interessieren mich nicht und können von daher vernachlässigt werden. Zitat: Das hiesse, dass Du in jedem Part alle Punkte mit allen Flächen vergleichen(messen) musst und bei einem Abstand von 0+/-0.05 (zB) den Punktnamen, die Koordinaten und die Fläche merken musst um sie abschliessend zu exportieren.
Klingt nach nem Plan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 27. Okt. 2015 15:28 <-- editieren / zitieren --> Unities abgeben:          Nur für Antelito
Hi Antolito, Zitat:
ich möchte ein Makro schreiben ...
Dann wird's Zeit für etwas Grundlagenforschung im Programmierforum. Stichworte: - Search - Punkt / Koordinaten - Messen - Excel schreiben/exportieren Sind die Punkte zB nach Flächen in einem Set zusammengefasst; etwa: -Set_Surf001 - Surf001 - Pt001 - Pt002 . -Set_Surf002 - Surf002 - Pt011 - Pt012 Wäre hilfreich zu wissen. Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Antelito Mitglied

 Beiträge: 88 Registriert: 27.11.2013 CATIA R19 SP9 WIN 7 x64
|
erstellt am: 28. Okt. 2015 08:35 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Nein, die Punkte sind nicht nach Flächen zusammengefasst: die Punkte sind in einem Set zusammengefasst und die Klebeflächen sind ausserhalb des Sets als einzelne Solids in einem Body. Ich habe mal die Funktion "Object resolution" benutzt, und es sieht für die Klebeflächen wie folgt aus: Code:
'---- Begin resolution script for object : KlebeflächeDim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.Part Dim bodies1 As Bodies Set bodies1 = part1.Bodies Dim body1 As Body Set body1 = bodies1.Item("Klebefläche") '---- End resolution script
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 28. Okt. 2015 09:42 <-- editieren / zitieren --> Unities abgeben:          Nur für Antelito
Zitat:
die Punkte sind in einem Set zusammengefasst
Immerhin. Zitat:
die Klebeflächen sind ausserhalb des Sets als einzelne Solids in einem Body.
Wohl eher dünnwandige Solids. Dann muss jeder Punkt entweder mit allen sechs Flächen jedes Solids verglichen werden. Und bei zwei quasi drauf liegen. Oder: Es wird zuvor die 'Mittelfläche' des jeweiligen Solids erzeugt und dagegen verglichen. Dann darf/muss der Punkt nur einmal drauf liegen. Was machen Deine Recherchen? Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Antelito Mitglied

 Beiträge: 88 Registriert: 27.11.2013 CATIA R19 SP9 WIN 7 x64
|
erstellt am: 28. Okt. 2015 12:15 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Zitat:
Stichworte: - Search - Punkt / Koordinaten - Messen - Excel schreiben/exportieren
ich denke, dass ich das allers mehr oder weniger drauf habe. Was mir fehlt ist ein kleiner Leitfaden. Z.B. kann ich mir unter Zitat: Wohl eher dünnwandige Solids. Dann muss jeder Punkt entweder mit allen sechs Flächen jedes Solids verglichen werden. Und bei zwei quasi drauf liegen. Oder: Es wird zuvor die 'Mittelfläche' des jeweiligen Solids erzeugt und dagegen verglichen. Dann darf/muss der Punkt nur einmal drauf liegen.
nicht wirklich was vorstellen... vllt wäre eine genauere Erklärung sinnvoll? Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 28. Okt. 2015 14:48 <-- editieren / zitieren --> Unities abgeben:          Nur für Antelito
Hi, Ganz einfach: 1) die Klebeflächen sind geometrisch gesehen Quader 2) dünnwandig sollte sagen, eine Ausdehnung ist sehr viel kleiner als die anderen beiden hier: typischerweise ein paar Zehntel dick; besser wäre wohl dünne Solids 3) ich bin zunächst davon ausgegangen, dass Fläche gegen Punkt gemessen werden soll, aber es geht auch Body/Punkt 4) für das Skript sind alle Bodies gleichwertig, also musst alle Bodies mit allen Punkten vergleichen Den Leitfaden hast doch jetzt schon: - Suche aller Bodies; Suche der Punkte nur dann, falls noch andere Elemente im Punkte-Set sind - zwei Schleifen: die äussere durchläuft alle Bodies, die innere alle Punkte - ein Gut-Kriterium: Bis zu welchem max. Abstand liegt der Punkt auf dem Body - eine Routine zum messen Punkt/Body - eine Form der Zwischenspeicherung der Punktdaten für die spätere Übertragung nach Excel. - eine Routine zur Übertragung nach Excel Tschau, Joe Edit: Nicht Bodies, Solids! ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Antelito Mitglied

 Beiträge: 88 Registriert: 27.11.2013 CATIA R19 SP9 WIN 7 x64
|
erstellt am: 29. Okt. 2015 08:59 <-- editieren / zitieren --> Unities abgeben:         
|