Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Name des Geometrischen Sets, das ein bestimmtes Element beinhaltet

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:  Name des Geometrischen Sets, das ein bestimmtes Element beinhaltet (603 mal gelesen)
Dadidldi
Mitglied



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

Beiträge: 22
Registriert: 18.03.2009

CATIA R19
CatScript

erstellt am: 18. Mrz. 2009 14:29    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,

folgeder Sachverhalt:
Ich habe in einem Part einige Geometrische Sets. In fast jedem ist eine Parallel Curve. Mein Makro sucht sich im gesamten Part alle diese Parallel Curves und steckt sie in eine Selection. Danach werden auf allen diesen Curves mehrere Punkte erzeugt. Soweit funktioniert alles.
Ich möchte nun, das der Name dieser erzeugten Punkte immer den Namen des Sets hat, der die jeweilige Parallel Curve beinhaltet (plus eine laufende Nummer).
Ich weiß aber nicht wie ich den Namen dieses Sets bekomme. Kann mir da jemand helfen? Vielleicht gibt es ja einen bestimmten Befehl der das einfach ausliest.

Benutze CATScript

Danke schon mal
  Dadi

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 18. Mrz. 2009 17:46    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 Dadidldi 10 Unities + Antwort hilfreich

Hallo Dadi,

zum Ablauf:
Du suchst nach den parallelen Kurven und steckst sie alle in eine Selektion. In der nachfolgenden Schleife durchläufst du die Selektion um aus den einen parallelen Kurven einzelne Referenzen zu erstellen (das brauchst du ja weil du das zum Erstellen der Punkte benötigst). Jetzt ist die Frage was für Punkte erzeugst du?
Ich habe hier mal ein kurzes Beispiel gemacht das immer 3 Punkte auf einer parallelen Kurve erzeugt. Die Stellen an der ich mir den Namen des aktuellen geometrischen Sets hole und wieder übergebe sind kursiv markiert!

Sub CATMain()

'written by Daniel Frauenrath
'Date: 2009-03-18

    Dim oPart As Part
    Dim mySel As Selection
    Dim myParallel As HybridShapeCurvePar
    Dim mySet As HybridBody
    Dim mySetShapes As HybridShapes
    Dim mySetName As String
    Dim myRef As Reference
    Dim myShapeFac As HybridShapeFactory

    Set oDoc = CATIA.ActiveDocument
    Set oPart = oDoc.Part
    Set myShapeFac = oPart.HybridShapeFactory
    Set mySel = oDoc.Selection
    mySel.Clear
    mySel.Search "CATGmoSearch.GSMCurvePar,all"
    For i = 1 To mySel.Count
        'hier hole ich erst die Kurve und dann frag ich ab in welchem 'Set sie steckt. Dann kann ich den Namen holen
        Set myParallel = mySel.Item(i).Value
        Set mySet = myParallel.Parent.Parent
        mySetName = mySet.Name
        Set mySetShapes = mySet.HybridShapes
        Set myRef = oPart.CreateReferenceFromObject(myParallel)
        myPointRatio = 0
'Diese Schleife setze ich ein um die fortlaufenden Nummer der Punkte 'zu bekommen
        For j = 1 To 3
            myPointRatio = myPointRatio + 0.25
            Set myPoint = myShapeFac.AddNewPointOnCurveFromPercent(myRef, myPointRatio, False)
            mySet.AppendHybridShape myPoint
            myPoint.Name = mySetName & "_" & j
        Next
    Next
    oPart.Update
    mySel.Clear

End Sub

ANMERKUNG:
Das Script ist nur ein Beispiel um muss ggf. angepasst werden

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

Dadidldi
Mitglied



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

Beiträge: 22
Registriert: 18.03.2009

CATIA R19
CatScript

erstellt am: 19. Mrz. 2009 08:46    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

He Daniel,

super Antwort, danke. Das hast du dir aber richtig Mühe gemacht! (Oder schüttelst du so nen Code schnell mal ausm Ärmel???)
Die für mich wichtigste Zeile war "Set mySet = myParallel.Parent.Parent".
Ich hab zwar ´parent´ ausprobiert, wär ich nie drauf gekommen .parent.parent (also zweimal) zu benutzen. Habs grad ausprobiert und funktioniert super.

MfG
  Dadi

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