Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fehler beim Transformieren(SetComponents)

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:  Fehler beim Transformieren(SetComponents) (1142 mal gelesen)
Onikage
Mitglied
MTA


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

Beiträge: 13
Registriert: 30.01.2007

erstellt am: 30. Jan. 2007 11: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

Hallo,
bin neu hier und hab da ein kleines Problem. Ich hab die Suchfkt schon genutzt, aber leider nichts passendes gefunden & hoffe Ihr könnt mir weiterhelfen...

Ich schreibe ein Makro mittels VBA für Catia v5, das ein Produkt aus einzelnen Produkten erstellt, welche aus einer Excel-Tabelle ausgelesen werden. Er schnappt sich auch die richtigen Produkte, welche immer die selben sind(ein Magnet z.Bsp).
Ich hole mir also 4 mal den Magneten.
Danach möchte ich die Produkte verschieben mittels Transformationsmatrix. Anschließend benutze ich SetComponents , wobei es zu folgendem Fehler kommt: "Das Verfahren SetComponents ist fehlgeschlagen". In Catia sehe ich dann die Magnete ineinander, ohne jede offset-verschiebung...ich schick mal den code:


Sub CATMain()

        filename = "C:\Catia\HESR.csv"
        trennzeichen = ";"
        Set filesys = CATIA.FileSystem
        Set file = filesys.GetFile(filename)
        Set textstream = file.OpenAsTextStream("ForReading")

' Produkt neu anlegen **********

        Set documents1 = CATIA.Documents
        Set productDocument1 = documents1.Add("Product")
        Set product1 = productDocument1.Product
        product1.PartNumber = "HESR-Zusammenbau"
        Set productDocument1 = CATIA.ActiveDocument

        Dim Transformation(12)
        Dim Teile(20)

' Jetzt werden die Daten gelesen. Dazu wird eine Do-While Schleife verwendet.
For i = 0 To 3

        line = textstream.ReadLine
        values = Split(line, trennzeichen)
       
     
'Hier hole ich mir die Teile aus der Excel-Tabelle
        Teile(i) = values(0)

Next
        Set products1 = product1.Products
        products1.AddComponentsFromFiles Teile, "All"

Transformation(0) = 0
Transformation(1) = 1
Transformation(2) = 0
Transformation(3) = 1
Transformation(4) = 0
Transformation(5) = 0
Transformation(6) = 0
Transformation(7) = 0
Transformation(8) = 1
Transformation(9) = 5
Transformation(10) = 7
Transformation(11) = 9

    product1.Products.Item(1).Position.SetComponents Transformation
     
        textstream.Close

End Sub

 

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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 30. Jan. 2007 13: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 Nur für Onikage 10 Unities + Antwort hilfreich

Hallo Onikage,
ändere folgende Zeile:

Dim Transformation(12) --> Dim Transformation(11)

Das Array ist um eins zu groß, das mag CATIA gar nicht...

Könnte sein, dass du danach noch einen "Function/Interrface...restricted...supported"-Fehler bekommst, dann probier folgendes:

Dim ThePos 'As Position (as Variant)
Set ThePos = TheProduct.Position
ThePos.SetComponents (Transformation)

Gruß
CAMiCADse

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