Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Name eines Parameters nach Excel

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 eines Parameters nach Excel (904 mal gelesen)
Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 11. Mai. 2016 20:11    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,

wie kann ich die Namen aller Parameter eines ParameterSets, die mit "Fall" anfangen, kopieren und in Excel in die Zellen schreiben?

vb.NET

Es sind zum Beispiel 5 Parameter, deren Name mit "Fall" anfangen ( unter insgesamt 12 ).
Der erste Name kommt in Excel nach B2, der zweite nach C2, der dritte nach D2 ...

Ich habe dies als Ansatz:

Dim myParamSet As parameterset
Dim ModelEl As INFITF.ModelElement

myParamSet = myCatiaDoc.Selection.Item("Fall*").Name
ModelEl = myParamSet.GetItem("ModelElement")
ModelEl.Selection.Copy()

xlWsheet2.Range("C2")
ModelEl.Selection.Paste

Ginge das so in etwa?

Da müsste eine Schleife draus werden, denke ich.

THX

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 11. Mai. 2016 22:41    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 Tweety79 10 Unities + Antwort hilfreich

Servus
Im groben geht das so:
- ParameterSet selektieren
- in der Selektion nach allen Parameter die mit "Fall" anfangen suchen
- Schleife über die Selektion und den Namen der Parameter (ModelElement wird vermutlich nicht benötigt) in einen Array schreiben
- Array in Zellen schreiben ("Range")

Oder statt der Suche über eine Schleife die "DirectParameter" des Parametersets abarbeiten und denn die Bedingung erfüllt ist den Parameternamen in ein Array schreiben.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 12. Mai. 2016 10:36    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

Servus,

ich habe jetzt folgendes als Code:


        Dim myCatiaApp As INFITF.Application
        Dim myCatiaDoc As MECMOD.PartDocument
        Dim myPart As MECMOD.Part


        Dim xlsApp As Excel.Application
        Dim xlsWB As Excel.Workbook
        Dim xlsSheet As Excel.Worksheet
        Dim xlsCell As Excel.Range
        Dim xlsDatei As String

        xlsApp = New Excel.Application
        xlsApp.Visible = True
        xlsWB = xlsApp.Workbooks.Open("F:\PFD\Macros_Tools\CATIA_to_Excel\Parameter_To_Excel\Parameter_CATIA.xlsx")
        xlsSheet = xlsWB.Worksheets(1)
        xlsCell = xlsSheet.Range("A1")


        Dim myParam As KnowledgewareTypeLib.Parameter
        Dim myParamName As String

        myCatiaApp = GetObject("", "CATIA.Application")
        myCatiaDoc = myCatiaApp.ActiveDocument
        myPart = myCatiaDoc.Part

        For i = 1 To myCatiaDoc.Part.Parameters.Count - 1
            myCatiaDoc.Selection.Search("(Name=Fall* & CATKnowledgeSearch.InternalParameter),all")

            myParamName = myCatiaDoc.Selection.Item(i + 1).Name
            myCatiaDoc.Selection.Copy()

            xlsSheet.Range("A1").Select()

            myCatiaDoc.Selection.Paste()

        Next

Was ich damit aber kopiere ist nicht der Name vom Parameter, sondern den ganzen Parameter. Und ich füge es auch nicht nach Excel ein sondern in CATIA.

Was muss ich da ändern?

THX

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 12. Mai. 2016 10: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 Tweety79 10 Unities + Antwort hilfreich

Servus
Speicher doch einfach die Parameternamen in einem Array zwischen (Copy und Paste würde wohl nur über die Windows-Zwischenablagen gehen).
Hier ein grober Code (ungetestet und in VBA):
Code:

dim MyArray() as string

mySelection.Search("(Name=Fall* & CATKnowledgeSearch.InternalParameter),all")

ReDim MyArray(mySelection.count)

For i = 1 To mySelection.Count
   MyArray(i - 1) = mySelection.item2(i).Name 'ggf auch .Value.Name
next

'nun den Array in die Excelzelle einfügen


Gruß
Bernd

PS: ggf solltest du mal manuell das ganze durchspielen und auch erst mal in VBA (Makroaufzeichnung, Objektauflösung, Watch-Fenster) den groben Ablauf in CAtia durchspielen (um die Objekte/Strukturen besser zu verstehen)

PS2: wie man einen Array schnell in Excel-Zellen schreib siehe zB hier

------------------
Warum einfach, wenn es auch kompliziert geht.

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