Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Volumen Selektion

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Volumen Selektion (824 mal gelesen)
soundfriend at work
Mitglied


Sehen Sie sich das Profil von soundfriend at work an!   Senden Sie eine Private Message an soundfriend at work  Schreiben Sie einen Gästebucheintrag für soundfriend at work

Beiträge: 5
Registriert: 31.10.2007

erstellt am: 31. Okt. 2007 18:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich will mit einem Makro innerhalb eines Parts die Elemete Selektieren die sich zum einen innerhalb eines volumenkörpers befinden zum anderen von ihm geschnitten werden.
Wie geht man vor? Kann mir jemand weiterhelfen? 

------------------
Greetings

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noir333
Mitglied
Ingenieur


Sehen Sie sich das Profil von noir333 an!   Senden Sie eine Private Message an noir333  Schreiben Sie einen Gästebucheintrag für noir333

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 01. Nov. 2007 14:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für soundfriend at work 10 Unities + Antwort hilfreich

hallo soundfriend,
willkommen in Forum. Dur wirst auf Deine Frage keine Antwort kriegen, weil sie keiner versteht. Grundsätzlich kann man mit Selection.SelectElement2 (siehe Doku) beliebige Elemente selektieren, über den Filter einstellbar.

Schreib genauer was Du willst!

------------------
-----------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

soundfriend at work
Mitglied


Sehen Sie sich das Profil von soundfriend at work an!   Senden Sie eine Private Message an soundfriend at work  Schreiben Sie einen Gästebucheintrag für soundfriend at work

Beiträge: 5
Registriert: 31.10.2007

erstellt am: 02. Nov. 2007 11:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ok ich versuche mein problem genauer zu beschreiben - also ich will ein makro schreiben was zum teil folgendes tut: ich habe (alles in einem part) einzelne elemente im raum (kurven, flächen ohne history). dann habe ich ein geschlossenes volumen (z.B. Volume Extrude.1). jetzt möchte ich diejenigen elemente selektieren, die von diesem volumen komplett eingeschlossen sind. dann ich will in einer zweiten selektion die elemente selektieren die von diesem volumen nicht komplett sondern nur teilweise eingeschlossen sind - also von ihm geschnitten werden.
es ist also eine art sortierung oder kollisionsprüfung zwischen den elementen die sich komplett, oder nur teilweise innerhalb des volumens befinden. wie kann man so selektieren? gibt es sowas wie "part of volume"?

------------------
Greetings

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noir333
Mitglied
Ingenieur


Sehen Sie sich das Profil von noir333 an!   Senden Sie eine Private Message an noir333  Schreiben Sie einen Gästebucheintrag für noir333

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 02. Nov. 2007 12:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für soundfriend at work 10 Unities + Antwort hilfreich

Hallo Soundfriend,

es ist mir nicht bekannt, ob es beim Selektieren solche Filtermöglichkeiten gibt. Ich würde es so machen:
Von dem gegebenen Volumen würde ich die äußere Hülle als Flächenverband mit "Ableiten" erzeugen (HybridShapeFactory.AddNewExtract). Dann kann man mit Measurable den Abstand zwischen den einzelnen Geometrieelementen und sowohl dem Volumen als auch dem zugehörigen Flächenverband berechnen.

Innerhalb: Abstand zu Flächenverband >0 Abstand zu Volumen<=0
Schneidend:Abstand zu Flächenverband =0 Abstand zu Volumen<=0
Außerhalb:Abstand zu Flächenverband >0 Abstand zu Volumen>0

------------------
-----------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

soundfriend at work
Mitglied


Sehen Sie sich das Profil von soundfriend at work an!   Senden Sie eine Private Message an soundfriend at work  Schreiben Sie einen Gästebucheintrag für soundfriend at work

Beiträge: 5
Registriert: 31.10.2007

erstellt am: 02. Nov. 2007 13:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo noir333,

hey danke für die schnelle antwort!
ja so müsste es schon gehen ich werde es mal versuchen.

ich dachte es gibt vielleich was fertiges oder einfacheres, da ja wenn man zum beispiel split oder intersect auf alle elemente anwendet dann wird ja automatisch schon so eine prüfung angewendet ob die elemente innerhalb sind oder nicht. aber vielleicht passiert dort im hintergrund ja genau das gleiche.

------------------
Greetings

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

apollo11
Mitglied



Sehen Sie sich das Profil von apollo11 an!   Senden Sie eine Private Message an apollo11  Schreiben Sie einen Gästebucheintrag für apollo11

Beiträge: 47
Registriert: 31.03.2007

MacBook Leopard 10.5.6 4GB Ram
VMWARE 3
WinXP Pro SP2
V5R16 SP5

erstellt am: 03. Nov. 2007 10:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für soundfriend at work 10 Unities + Antwort hilfreich

Wenn du mit Selektionen arbeiten willst musst du die Objekte zwischenspeichern, da es nur EINE Selektion gibt! Aus wenn du sie mehrmals deklarierst so ist es schlussendlich immer die selbe (innerhalb des Dokuments).
Du könnstest aber eine Schleife über alle selektierten Objekte laufen lassen.

Code:

Dim Sel As Selection
Set Sel = CATIA.ActiveDocument.Selection
Dim Arr1()
Dim Arr2()
ReDim Arr1(Sel.Count)
ReDim Arr2(Sel.Count)
Dim Cnt1 As Integer
Dim Cnt2 As Integer
Dim CurrentObj

For i=1 To Sel.Count
Set CurrentObj = Sel.Item(i).Value

If(' hier deine Bedingung mit CurrentObj und deinem Volumenkörper ') Then
Set Arr1(Cnt1) = CurrentObj
Cnt1 = Cnt1 + 1
ElseIf('nächste Bedingung') Then
Set Arr2(Cnt2) = CurrentObj
Cnt2 = Cnt2 + 1
End If
Next


Mit TypeName(CurrentObj) kannst du dir den Typ des selektierten Objektes ausgeben lassen, da sich Elemente wie Parameter oder Regeln wohl kaum mit einem Solid schneiden werden 
Die Elemente des Arrays bringst du mit Sel.Add(Arr1(i)) wieder in die Selektion zurück.

lg ap

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

soundfriend at work
Mitglied


Sehen Sie sich das Profil von soundfriend at work an!   Senden Sie eine Private Message an soundfriend at work  Schreiben Sie einen Gästebucheintrag für soundfriend at work

Beiträge: 5
Registriert: 31.10.2007

erstellt am: 19. Dez. 2007 17:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo noir333,

bin erst jetzt wieder zu meinem alten Problem vorgedrungen. Ich mußte aber feststellen, dass es keine negativen Entfernungen gibt und Folge dessen sich mit Measurable auch nicht feststellen läßt welche der Elemente, die nicht vom Volumen geschnitten werden (Abstand > 0) innerhalb oder außerhalb des Volumens liegen.
Gibt es keine andere Möglichkeit die Schnittmenge von einem geschlossenem Volumen und anderen Elementen festzustellen, die innerhalb liegen?
Weiß jemand dafür eine andere Methode?

------------------
Greetings

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noir333
Mitglied
Ingenieur


Sehen Sie sich das Profil von noir333 an!   Senden Sie eine Private Message an noir333  Schreiben Sie einen Gästebucheintrag für noir333

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 19. Dez. 2007 18:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für soundfriend at work 10 Unities + Antwort hilfreich

Hallo soundfriend,

also es geht fast genauso wie ich es gesagt habe, aber du hast natürlich Recht, es gibt keine neg. Abstände. Ansonsten geht es so:

Innerhalb: Abstand zu Flächenverband >0 Abstand zu Volumen=0
Schneidend:Abstand zu Flächenverband =0 Abstand zu Volumen=0
Außerhalb:Abstand zu Flächenverband >0 Abstand zu Volumen>0

Ich habe es gerade nochmal probiert. Sag mir, wo Du nicht weiter kommst...

------------------
-----------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

soundfriend at work
Mitglied


Sehen Sie sich das Profil von soundfriend at work an!   Senden Sie eine Private Message an soundfriend at work  Schreiben Sie einen Gästebucheintrag für soundfriend at work

Beiträge: 5
Registriert: 31.10.2007

erstellt am: 20. Dez. 2007 09:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo noir333,

erst mal danke für deine Antwort! Aber mir ist nicht ganz klar welchen Flächenverband du meinst.
Die Abstände von meinen Elementen die sich komplett innerhalb oder außerhalb des Volumens befinden haben zum Volumen immer positive Werte. Nur die Elemente die das Volumen schneiden haben den Abstand Null.
Die Elemente die prüfen möchte sind einzelne (tote) Elemente ohne history und auch nicht in einem Flächenverband (Join). Selbst wenn es gelänge aus den Einzelelementen (Flächen + Kurven) einen Flächen- und einen Kurvenverband zu erzeugen - (was nicht immer der Fall ist) - so ragen diese Verbände aus dem Volumen heraus. Somit würde der Abstand des Einzelelements zum Flächenverband immer Null sein (egal ob innerhalb oder außerhalb des Volumens), da es ja ein Teil des Verbandes ist.

Oder meinst du aus dem Volumen einen Flächenverband zu machen? Aber das ändert auch nichts an dem Ergebnis der Abstandsmessung.

Oder meinst du etwas ganz anderes? Habe ich dich falsch verstanden?

------------------
Greetings

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

noir333
Mitglied
Ingenieur


Sehen Sie sich das Profil von noir333 an!   Senden Sie eine Private Message an noir333  Schreiben Sie einen Gästebucheintrag für noir333

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 20. Dez. 2007 21:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für soundfriend at work 10 Unities + Antwort hilfreich

Hallo Soundfriend,

vielleicht habe ich mich etwas zu knapp ausgedrückt. Etwas ausführlicher:

Mach mal folgenden Test: Erzeuge ein Volumen (z.B. mit einer Skizze und einem Block), das wie ein Würfel aussieht, eine Ecke im Ursprung 0,0,0 , diagonal gegenüberliegende Ecke bei 100,100,100. Dann benutze die Funktion Ableiten, wähle Punktstetigkeit und klicke auf eine Fläche des Volumens. Es entsteht ein Flächenverband, der die Hülle des Volumens abbildet. Jetzt erzeuge drei Punkte:
1. 20,20,20
2. 100,20,20
3. -20,-20,-20

Miss mal den Abstand von jedem Punkt zum Volumen und zu dem Flächenverband (Ableiten.1). Du wirst feststellen, dass meine obige Fallunterscheidung Dir genau anzeigt welcher Punkt innerhalb oder außerhalb oder genau auf dem Rand des Volumens liegt. OK?

------------------
-----------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz