Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Catia Stückliste aus VB bearbeiten

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:  Catia Stückliste aus VB bearbeiten (5296 mal gelesen)
crinuy
Mitglied
Student


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

Beiträge: 19
Registriert: 17.02.2005

erstellt am: 30. Okt. 2006 16:01    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 Allerseits,
ich versuche gerade, aus VB heraus die Stückliste eines Catia Produktes einzusehen und eventuell dann auch zu bearbeiten.
Leider komme ich irgendwie nicht so wirklich an die Daten dran.

Nachdem ich mal ein makro mitgeschnitten habe, habe ich folgendes versucht:

Code:

Dim objCurProd As Object
    Dim objMaterial As Object
    Dim prodDoc As Object
    Dim arrayOfVariantOfBstr1(4) As Variant
    Dim arrayOfVariantOfBstr2(1) As Variant
   
    Set prodDoc = CATIAV5.Catia.ActiveDocument
    Set objCurProd = prodDoc.Product
    Set objMaterial = objCurProd.GetItem("BillOfMaterial")
 
    arrayOfVariantOfBstr1(0) = "Menge"
    arrayOfVariantOfBstr1(1) = "Teilenummer"
    arrayOfVariantOfBstr1(2) = "Typ"
    arrayOfVariantOfBstr1(3) = "Nomenklatur"
    arrayOfVariantOfBstr1(4) = "Überarbeitung"
    objMaterial.SetCurrentFormat arrayOfVariantOfBstr1
   
    arrayOfVariantOfBstr2(0) = "Menge"
    arrayOfVariantOfBstr2(1) = "Teilenummer"
    objMaterial.SetSecondaryFormat arrayOfVariantOfBstr2

Jedoch finde ich nirgendwo in meinen Objekten informationen über den Inhalt der Stückliste.

Meine "Idee", erst von catia automatisiert eine Excel-Liste erzeugen zu lassen und diese dann zu bearbeiten funktioniert auch nicht.
Bei:

Code:

objMaterial.Print "XLS", "d:\test.xls", objCurProd


bekomme ich den fehler, dass das Objekt die Methode oder Eigenschaft nicht unterstützt. Ich vermute das liegt daran, dass "Print" eine VB-Eigene Funktion ist.
wenn ich aber
Code:

Dim objMaterial as assemblyConvertor


benutze, dann kriege ich die Meldung, dass bei
Code:

objMaterial.SetCurrentFormat arrayOfVariantOfBstr1


ein Fehler existiert oder VB darauf nicht zugreifen kann.

Ich programmiere mit dem Visual Studio 6, SP6 und benutze Catia v5 R14 SP 4

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

Heini_K
Mitglied



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

Beiträge: 34
Registriert: 26.09.2006

Catia V5R14SP4/R16
HP- Unix- Workstation

erstellt am: 02. Nov. 2006 15:32    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 crinuy 10 Unities + Antwort hilfreich

Hallo Crinuy,

Also die BOM (Bill of Materials) kann man mit der Methode "ExtractBOM" des Objekts Product exportieren. Anbei ein Beispiel zum Export der BOM des Rootproducts als .txt-File:
---------------------------------------
Sub CATMain()

Dim MyProduct As Product
Set MyProduct = CATIA.ActiveDocument.Product

Dim  catFileTypeText As CatFileType
MyProduct.ExtractBOM  catFileTypeText , "C:\Test\BOM.txt"

'---bzw. bei Unix als Pfadz.B. "/home/CATIA/macros/Schreibtest/BOM.txt"

End Sub
-----------------------------------------------------------------
Außerdem stehen noch die Formate:
Motif =>    catFileTypeMotif
HTML =>      catFileTypeHTML
zur Verfügung.

Was Du mit der Aufzeichnung erfasst hast, sind lediglich die Einstellungen, welche Properties unter:
a) Der BOM:
    arrayOfVariantOfBstr1(0) = "Menge"
    arrayOfVariantOfBstr1(1) = "Teilenummer"
    arrayOfVariantOfBstr1(2) = "Typ"
    arrayOfVariantOfBstr1(3) = "Nomenklatur"
    arrayOfVariantOfBstr1(4) = "Überarbeitung"
    objMaterial.SetCurrentFormat arrayOfVariantOfBstr1
b) bzw. der Recapitulation:
    arrayOfVariantOfBstr2(0) = "Menge"
    arrayOfVariantOfBstr2(1) = "Teilenummer"
    objMaterial.SetSecondaryFormat arrayOfVariantOfBstr2

gelistet werden sollen.


------------------
Gruß,
Matthias

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

crinuy
Mitglied
Student


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

Beiträge: 19
Registriert: 17.02.2005

erstellt am: 23. Nov. 2006 08:13    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

komisch, irgendwie klappt diese Benachrichtigungsfunktion vom Forum nicht wirklich.
Vielen Dank erstmal für die Hilfe.
Wir haben es zwar jetzt erst mal anders gelöst (Parameter aus VB heraus ändern, wenn der geändert wird, dann erzeugt ein CatScript die stückliste und an die komme ich dann ja ran), aber für die Zukunft ist das sicherlich ne sehr gute Hilfe!

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