Autor
|
Thema: Alle senkrechte Kanten gemeinsam auswählen? (4716 mal gelesen)
|
vonluetzen Mitglied
Beiträge: 17 Registriert: 29.01.2009
|
erstellt am: 07. Sep. 2011 09:27 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe Catia Profis, ich hab ein kleines Problem. Und zwar würde ich in meinem Bauteil gerne alle Kanten anwählen die in eine bestimme Richtung orientiert sind um sie zu verrunden. Ich würde mich sehr freuen, wenn jemand wüsste wie das ginge. Gruß, Mark [Diese Nachricht wurde von vonluetzen am 07. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SmokieMcPot Mitglied Dipl.-Ing. Kunststofftechnik... irgendwie in der Konstruktion gelandet ;-)
Beiträge: 107 Registriert: 20.08.2008 CATIA V5 R2018 SP3 @ Win 10 64
|
erstellt am: 07. Sep. 2011 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
|
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3719 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 07. Sep. 2011 17:26 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
Hallo Mark. Ich muss dich leider enttäuschen, das geht nicht. Zumindest nicht mit "Bordmitteln". Programmieren kann man natürlich viel! Aber auch wenn ich mit meiner folgenden Äusserung vielleicht auf Gegenwehr treffe: Es ist nicht immer richtig, zuerst alle senkrechten und dann alle waagerechten Kanten zu verrunden!! Als Faustregel scheints zu klappen, aber ansonsten muss man sich mit jeder Kante individuell die entsprechende Reihenfolge überlegen! Und dann kanns schonmal (oft!) passieren, dass die ein oder andere senkrechte Kante eher stört, wenn sie zusammen mit den anderen senkrechten verrundet wird. ------------------ gruß, Tom [Diese Nachricht wurde von thomasacro am 07. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wolfi_z Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2386 Registriert: 04.12.2004 CATIA V5 in der aktuellen Umgebung des jeweiligem OEM ;-) NX 1953 Daimler
|
erstellt am: 07. Sep. 2011 18:41 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
Zitat: Original erstellt von thomasacro: (...) Aber auch wenn ich mit meiner folgenden Äusserung vielleicht auf Gegenwehr treffe: Es ist nicht immer richtig, zuerst alle senkrechten und dann alle waagerechten Kanten zu verrunden!! (...)
Von mir keine Gegenwehr, das habe ich naemlich noch nie gehoert Ich kenne folgende Regeln (die sich aber teils widersprechen, was dann sowieso wieder Intuition oder Transpiration erfordert):
- Erst grosse Radien, dann kleine
- Erst Innenradien (das was wirklich 'Fillet' ist, weil es Material hinzufuegt), dann Aussenradien
- Obacht jetzt kommt der geilste Spruch:
Treffen an einer Ecke mehrere zu verrundende Kanten zusammen, dann ist zuerst die Kante zu verrunden, deren Topologie von den anderen abweicht (das wiederum bedeutet zum Beispiel bei einem Wuerfel tatsaechlich erst vertikal, dann horizontal - an einer Ecke des Wuerfels stossen zwei horizontale und eine vertikale Kante zusammen, vertikal ist also der 'Aussenseiter', wird also zuerst verrundet)
LG ... Wolfi ------------------ Mit V6 werden wir Windraeder konstruieren. Automotive laeuft mit V5 aus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 07. Sep. 2011 18:44 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
Hallo ich habs mal im CATScript versucht. Download version 1: -> siehe unten einfach runterladen, entpacken, ausführen und eine Kante als Richtungsreferenz auswählen. Dann werden alle Kanten mit der selben Richtung markiert bzw. ausgewählt (es kommt keine Nachricht oder ähnliches nach dem Starten des Skripts, einfach die Ref. Kante auswählen oder ESC zum abbrechen). gruß EDIT: in dieser Form läuft das Skript nur auf einer deutsch sprachigen Catia Version! Damit es sprachunabhängig ist ändere die Zeile:
Code: Selection1.Search "Typ=Kante,all"
in:
Code: selection1.Search "Topology.CGMEdge,all"
wurde ab version 2 geändert. Dank geht an bgrittmann für diesen Hinweis! [Diese Nachricht wurde von meisterlumpi am 21. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vonluetzen Mitglied
Beiträge: 17 Registriert: 29.01.2009
|
erstellt am: 08. Sep. 2011 09:47 <-- editieren / zitieren --> Unities abgeben:
Danke für eure kompetente Hilfe. Eigentlich will ich wirklich nur senkrechte Kanten verrunden, da mein bauteil ausgefräst werden woll. Und da kann ich natürlich nur von einer Seite gescheit fräsen. @meisterlumpi: ich kanns zwar grad nicht testen aber wenn das geht was du vorschlägst funktioniert, würd ich im kreis springen. Vielen Danke für deine Mühe, so etwas hatte ich gesucht. Gruß, Mark [Diese Nachricht wurde von vonluetzen am 08. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vonluetzen Mitglied
Beiträge: 17 Registriert: 29.01.2009
|
erstellt am: 08. Sep. 2011 10:23 <-- editieren / zitieren --> Unities abgeben:
So nun habe ich das mal ausprobiert. Das Skript funktioniert eigentlich ziemlich gut. Nur leider wählt das Skript auch Kanten zwischen tangentialen Flächen an die man nicht verrunden kann. Natürlich wäre es möglich manuell die einzelnen Kanten wieder abzuwählen. Allerdings funktioniert dies nur in gewissen Bauteilen. Bei den Bauteilen mit einer großen Anzahl Kanten weigert sich Catia die von mir angeklickten Kanten (Mit Strg) zu deselektieren. Weisst du warum das so ist meisterlumpi? Gruß, Mark Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 08. Sep. 2011 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
Das Problem ist hier, dass topologisch gesehen alle Kanten natürlich vorhanden sind, egal ob sie tangential sind, oder nicht. Man muss also deren Eigenschaften näher untersuchen. Z.B. ob es sich um Sharp-Edges handelt, oder eben nicht nach Topologien sondenr nach richtigen Edges suchen. :-) ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 08. Sep. 2011 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
Zitat: Nur leider wählt das Skript auch Kanten zwischen tangentialen Flächen an..
das ist natürlich ein problem. die aufgabe besteht nun darin herauszufinden, ob eine Kante scharf ist oder nicht. das ist dann leider nicht mehr so einfach. Hier heißt es: Zitat: One of your major head aches is going to be identifying if the edge found is sharp, I can think of no easy way of doing this (you can get the surfaces but you have a lot of work to find out which ones surround your current edge), you may just have to try to fillet it an see if it fails.
diese Methode würde das Skript extrem langsam machen, ist also nicht so wünschenswert. Im ICEM Shape Design kann man wohl scharfe Kanten aufspüren, das hilft hier natürlich wenig.. Zitat: Bei den Bauteilen mit einer großen Anzahl Kanten weigert sich Catia die von mir angeklickten Kanten (Mit Strg) zu deselektieren.
dieses problem hatte ich auch schonmal, nur nach ein paar versuchen gings dann. ich hielt es einfach für eine catia laune.. vielleicht kann jemand anderes dazu mehr sagen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 09. Sep. 2011 07:32 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
Morgen, zweiter Versuch da mir nichts besseres eingefallen ist, hab ich einfach mal die "trial and error" methode eingebaut. Ist halt etwas langsamer als das erste Skript, sollte jedoch nur die scharfen Kanten auswählen, also die, die man auch verrunden kann. Zunächst wird die richtung der referenz kante bestimmt. anschließend werden alle kanten ausgewählt. das skript bestimmt dann die, die die selbe richtung wie die ref. kante haben. auf diesen wird dann versucht eine verrundung zu erstellen, falls das klappt ist es eine scharfe kante, ansonsten nicht. letztendlich werden nur die scharfen kanten ausgewählt. Kopf des skripts:
Code:
'############################################ Const CheckForSharpEdge As Boolean = True 'False Const TestFilletRadius As Double = 1 Const maxLoopCount As Integer = 100 Const DecimalCount As Long = 6 '############################################
CheckForSharpEdge: True - die testverrundung wird auf jeder kante erstellt um zu checken ob sie scharf ist False - kanten werden nicht getestet, wie beim ersten skript, s.o. TestFilletRadius radius der testverrundung, falls diese aktiviert ist maxLoopCount wie oft max. der loop zur suche des parent part durchlaufen werden soll, nur zur sicherheit (meisterendlosschleife). DecimalCount auf wie viele dezimalstellen wird der richtungsvektor gerundet {1,24567 10^(-16) != 0, aber eben fast..}. Download version 2: -> siehe unten [Diese Nachricht wurde von meisterlumpi am 21. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 10. Sep. 2011 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
Hallo version 2.1 - optionen am anfang vom skript:
Code:
'############################################ '# -- OPTIONS -- # '############################################ Const CheckForSharpEdge As Boolean = True ' 'True' or 'False' | check, if the edge is sharp Const TestFilletRadius As Double = 1 ' test fillet radius in SI, if CheckForSharpEdge = True Const maxLoopCount As Integer = 100 ' give up after ... cycles to find the parent part Const DecimalCount As Long = 6 ' round direction array to ... figures after comma Const EdgeCountToWarnUser As Integer = 1000 ' warn user, if there are more than ... edges to ' to check Const ShowTotalEdgeCount As Boolean = False ' 'True' or 'False' | shows a MsgBox with the total ' number of selected edges after the macro is done '############################################
"CheckForSharpEdge = True" macht das skript relativ langsam, daher sollte man parts in baugruppen in einem neuen fenster öffnen, damit nicht die ganze baugruppe geprüft wird. Der körper, in dem die Kanten selektiert werden sollen muss vorher als "Objekt in Bearbeitung" definiert werden (bzw. irgendein element in diesem körper)! EDIT:
Code: If Join(RTDFE_Dir, "^") = Join(RTDFE_Base_Dir, "^") Then Set EdgeCol(UBound(EdgeCol)) = RTDFE ReDim Preserve EdgeCol(UBound(EdgeCol) + 1) End If
diese if-anweisung in v 2.1 ist nicht ganz "korrekt". wurde in v 2.2 verbessert.. Download version 2: -> siehe unten gruß [Diese Nachricht wurde von meisterlumpi am 21. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 21. Sep. 2011 22:21 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
|
Norman Schulz Mitglied Konstrukteur Catia V4/V5
Beiträge: 300 Registriert: 18.03.2002
|
erstellt am: 22. Sep. 2011 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
|
vonluetzen Mitglied
Beiträge: 17 Registriert: 29.01.2009
|
erstellt am: 22. Sep. 2011 13:47 <-- editieren / zitieren --> Unities abgeben:
|
flohsse Mitglied
Beiträge: 82 Registriert: 11.10.2005 Windows xp Autocad Lt 2006 Catia V5 R19 SP3
|
erstellt am: 21. Mrz. 2019 11:40 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
|
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mrz. 2019 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
|
flohsse Mitglied
Beiträge: 82 Registriert: 11.10.2005 Windows xp Autocad Lt 2006 Catia V5 R19 SP3
|
erstellt am: 21. Mrz. 2019 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
|
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mrz. 2019 14:53 <-- editieren / zitieren --> Unities abgeben: Nur für vonluetzen
|