Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  BRef über Namen an Selektion anhängen

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:  BRef über Namen an Selektion anhängen (2100 mal gelesen)
jwiedemann
Mitglied
Student

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

Beiträge: 6
Registriert: 02.12.2004

erstellt am: 27. Sep. 2006 16:15    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

Tag schön!


Aus einer Liste mit BRef Namen von Kanten soll selektiert werden und die betreffende Kante an die Selection angehängt werden.
Kurz: Ich möchte dieses (oder ein so ähnliches) Moped über den Namen in eine Selction packen:
Selection_REdge Edge Face Brp Pad.1;0 Brp Sketch.1;5)));None );Cf9 ));Face Brp Pad.1;0 Brp Sketch.1;7)));None );Cf9 ));None Limits1 );Limits2 ));Cf9 ));Pad.1_Resu ltOUT)")
Hab schon mit FindObjectByName und änlichem rumexperimentiert, war aber nicht sehr erfolgreich. Das ganze soll mit VB6.0 in R14 laufen.

Jemand einen Hinweis, bzw den Befehl der mir bis jetzt gefehlt hat?

Jörg Wiedemann

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

weissda
Mitglied
ingenieur


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

Beiträge: 48
Registriert: 04.08.2006

erstellt am: 28. Sep. 2006 08:44    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 jwiedemann 10 Unities + Antwort hilfreich

Hi

Bin nicht sicher, ob ich deine Frage richtig verstanden habe. Eine möglichkeit, sämtliche Faces eines Objektes aufzulisten, wäre z.B.:
   
    ' Finde das Objekt, dessen Kanten aufgelistet werden sollen
    Set obj = prodDocument1.Part.FindObjectByName(name)
    Set selection1 = prodDocument1.Selection
    selection1.Clear                           
    selection1.Add obj
    ' Suche die Faces
    selection1.Search ("Topology.Face;sel")
     
    ' Loop through all faces found
    For h = 1 To selection1.Count
        Set myRef = selection1.Item(h).Reference
        msgbox myRef.DisplayName
    Next h

Gruss, Daniel

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

jwiedemann
Mitglied
Student

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

Beiträge: 6
Registriert: 02.12.2004

erstellt am: 29. Sep. 2006 16:48    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

Erstmal Danke für die Mühe!

Nein, Du hast die Frage nicht richtig verstanden.... aber die war auch nicht tutti formuliert.
Ich hab die Namen einiger B_Refs,welche so ein riesen Dinger sind und Seiten, Kanten etc. repräsentieren. Diese hab ich mit einem ähnlichen Programm wie dem von Dir ausgelesen und als StringArray in eine Liste gepackt.  Jetzt möchte ich einzelne B_Ref - Strings aus dieser Liste wieder in eine Selction packen, so dass sie quasi in meinem Catia Modell markiert sind (um irgendwas mit Ihnen anzustellen).
Kann mir irgendjemand einen Tip geben, wie ich die Dinger über den Namen wiederfinde? Mit CreateObjectFromName, GetItem etc. hab ichs nicht hingekriegt.

Gruß Jörg

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

Augustiner
Mitglied
Konstrukteur


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

Beiträge: 188
Registriert: 02.12.2005

HP Workstation
Windows XP Professional
Visual Studio 2005 Professional
CATIA V5 R14SP5 & R17SP3

erstellt am: 29. Sep. 2006 17:57    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 jwiedemann 10 Unities + Antwort hilfreich

Servus

mit

selection.add(stringarray(i))

vielleicht??Sind die Namen bekannt die aus dem Stringarray selektiert werden müssen??

[Diese Nachricht wurde von Augustiner am 29. Sep. 2006 editiert.]

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. Okt. 2006 23:27    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 jwiedemann 10 Unities + Antwort hilfreich

Hallo Jörg,

also, die Sache ist die: Was Du in den Strings hast, sind sogenannte Breps: Breps sind Unterelemente von Objekten (Kanten, Scheitelpunkte, Teilflächen). Da sie keine Objekte sind, kann man Sie nicht mit Objekt-Befehlen behandeln. Was man dazu erzeugen kann, sind referenzen:
Hier mal nur zur Veranschalichung ein Code von mir, der alle Teilflächen aus einem Flächenverband oder Solid ausliest, anschließend werden dazu Kopien der Einzelflächen (das sind Objekte)
erzeugt. Mir ist klar, dass dies dir noch nicht weiterhilft.

SelFilter(0) = "BiDim"
        Stat = "Normal"
        MyPartDoc.Selection.Clear()

        Stat = MyPartDoc.Selection.SelectElement2(SelFilter, "Flächenkörper auswählen", True)
        oSel = MyPartDoc.Selection.Item(1).Value
        MyPartDoc.Selection.Search("Topology.CGMFace,sel")
        ci = MyPartDoc.Selection.Count
        For i = 1 To ci
            TeilFaces(i) = MyPartDoc.Selection.Item(i).Value
            TeilFacesNamen(i) = TeilFaces(i).Name.Replace("Selection_", "")
            i2 = TeilFacesNamen(i).LastIndexOf(";")
            ci2 = TeilFacesNamen(i).Length - i2
            TeilFacesNamen(i) = TeilFacesNamen(i).Remove(i2, ci2)
            reference1 = MyPart.CreateReferenceFromBRepName(TeilFacesNamen(i) & ";WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", oSel)
            hse(i) = hybridShapeFactory1.AddNewExtract(reference1)
            hse(i).PropagationType = 3
            hse(i).ComplementaryExtract = False
            hse(i).IsFederated = False
            hybridBody1.AppendHybridShape(hse(i))
            MyPart.InWorkObject = hse(i)
        Next
        MyPart.Update()
        MsgBox("In " & SetName & " " & CStr(i) & " Flächen extrahiert.")

Dein Problem ist, ich weiß nicht, wie man referenzen zur Selection hinzufügen kann. Wenn ich was finde, melde ich mich....

------------------
Bernd

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

jwiedemann
Mitglied
Student

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

Beiträge: 6
Registriert: 02.12.2004

erstellt am: 03. Okt. 2006 12:40    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

Hi Bernd,


das ist genau das, was ich wissen wollte... Es ist nicht ganz trivial.

Ich werd jetzt da auch noch mal weiterforschen und meine Erkenntnisse hier kundtun.

Vielen Dank erstmal, Jörg

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: 06. Okt. 2006 18:35    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 jwiedemann 10 Unities + Antwort hilfreich

Hallo Jörg,
ich hab's: Die Antwort ist Trivial, auch Referenzen lassen sich mit mysel.add hinzufügen!!!
hier ein code-Beispiel:

        Dim brepname As String
        Dim i2, ci2 As Integer
        Dim reference1 As Reference
        Selfilter(0) = "Face"
        Selfilter(1) = "Edge"
        Stat = "Normal"
        oSel = Nothing
        Mysel.Clear()
        Stat = Mysel.SelectElement2(Selfilter, "Fläche1 auswählen", True)
        oSel = Mysel.Item(1).Value
        brepname = oSel.Name.Replace("Selection_", "")
        i2 = brepname.LastIndexOf(";")
        ci2 = brepname.Length - i2
        brepname = brepname.Remove(i2, ci2)
        oselp = oSel.Parent
        reference1 = MyPart.CreateReferenceFromBRepName(brepname & ";WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", oSel)
        Mysel.Clear()
        Mysel.Add(reference1)

Keine Fehlermeldung und das Brep ist selektiert !!!!

Mit Edge habe ich es aber noch nicht probiert, aber Faces gehen ohne Probleme. Wer hätte das gedacht....

------------------
Bernd

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

jwiedemann
Mitglied
Student

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

Beiträge: 6
Registriert: 02.12.2004

erstellt am: 11. Okt. 2006 14:15    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

Mensch, der gehhhht!


Super Sache. Ich hätte gleich drauf kommen können, dass man an dem BRep rumschrauben muß.


Vielen Dank,

Jörg Wiedemann

[Diese Nachricht wurde von jwiedemann am 11. Okt. 2006 editiert.]

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

AndiKrue
Mitglied
Berater


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

Beiträge: 72
Registriert: 04.12.2008

Windows XP Prof x64 Edition
Intel Xeon W3520 @ 2.67 GHz
8 GB RAM,
Nvidia Quadro FX 1800
CATIA V5R19

erstellt am: 08. Apr. 2009 12:56    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 jwiedemann 10 Unities + Antwort hilfreich

Zitat:
brepname = oSel.Name.Replace("Selection_", "")

der teil funktioniert bei mir irgendwie nicht nur mit
brepname = Replace(brepname,"Selection_", "")

gehts, woran liegt das?

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