Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  AddNewProduct erzeugt Component

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:  AddNewProduct erzeugt Component (3179 mal gelesen)
Bernod
Mitglied



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

Beiträge: 40
Registriert: 03.03.2010

erstellt am: 26. Apr. 2010 16:10    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 ich der einzige bei dem die Funktion "AddNewProduct" anstelle eines neuen Productes eine neue Componente anlegt?

   

Code:
Dim Doc As Document
    Set Doc = CATIA.ActiveDocument
    Dim RootProd As Product
    Set RootProd = Doc.Product
    Dim RootProds As Products
    Set RootProds = RootProd.Products
'Add a new product to the collection. This adds both a product reference and a product component.
    Dim NewProd As Product
    Set NewProd = RootProds.AddNewComponent("TEST")
'Declare the part number and name for this product.
    NewProd.PartNumber = "TEST"
    NewProd.Name = "TEST"

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

Bernod
Mitglied



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

Beiträge: 40
Registriert: 03.03.2010

erstellt am: 26. Apr. 2010 17:21    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

Ich habe festgestellt, dass dies anscheinend normal ist.... Um ein Product hinzuzufügen muss die Funktion "AddNewComponent" verwendet werden ....  
Code:
[...]
    Dim NewProd As Product
    Set NewProd = RootProds.AddNewComponent("CATProduct", "123")
[...]

[Diese Nachricht wurde von Bernod am 26. Apr. 2010 editiert.]

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 26. Apr. 2010 17: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 Bernod 10 Unities + Antwort hilfreich

Moin Bernod,

es gibt 2 Möglichkeiten:
entweder du verwendest AddNewProduct
-> Set NewProd = RootProds.AddNewProduct ("TEST")
dann gibst du nur den Namen an

oder du verwendest AddNewComponent
-> Set NewProd = RootProds.AddNewComponent("Product", "TEST")
dann mußt du den Type für dein Dokument angeben.

Gruß
Proofin

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

Bernod
Mitglied



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

Beiträge: 40
Registriert: 03.03.2010

erstellt am: 26. Apr. 2010 17:53    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 Proofin,

ich sehe gerade ich hatte in meinem ersten Post den falschen Code angegeben. Ich habe soo viel rumprobiert, dass ich versehentlich das falsche gepostet habe. das sollte oben eigentlich
----
Set NewProd = RootProds.AddNewProduct ("TEST")
----
bedeuten. Sonst würde mein Beitrag ja auch keinen sinn ergeben.  Aber auch das habe ich proibiert, dabei wird bei mir nur eine Componente erzeugt.

Wo wir gerade dabei sind .. Ich wollte mein Makro noch ein wenig erweitern und mit folgenden Zeilen eine existierende Datei laden:

Code:
    [...]
    Dim NewProd As Product
    Set NewProd = RootProds.AddNewComponent("CATProduct", "123")

    Dim NewProds As Products
    Set NewProds = NewProd.Products
   
    Dim Liste(0) As Variant
    Liste(0) = "C:\TEMP_MAKRO\HAS_TEST005.CATPart"
     
    NewProd.AddComponentFromFile Liste, "CATPart"  ' <-- Hier der Fehler ?



Wenn ich dies so anwende, dann erhalte ich in der letzten Zeile eine Fehlermeldung:
----
Runtime error '438':
Object doesn't support this porperty or method
----

Kann ich die Funktion "AddComponentFromFile" unter vba nicht nutzen?

Gruß,
Bernod

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: 26. Apr. 2010 18:19    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 Bernod 10 Unities + Antwort hilfreich

Servus
Der Befehl heißt auch "AddComponentsFromFiles" gemäß Doku (siehe auch Thema von letzter Woche)

Gruß
Bernd

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

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

Bernod
Mitglied



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

Beiträge: 40
Registriert: 03.03.2010

erstellt am: 27. Apr. 2010 12: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

Hallo,

und wieder ein mal habe ich mich bei euch zu bedanken. Vielen Dank! 

Hier ist mein vollständiger funktionierender code zum Einfügen eines neuen Products und zum anschließenden Einfügen eines existierenden Parts in dieses Product:

Code:
    Dim Doc As Document
    Set Doc = CATIA.ActiveDocument
    Dim RootProd As Product
    Set RootProd = Doc.Product
    Dim RootProds As Products
    Set RootProds = RootProd.Products
'Add a new product to the collection. This adds both a product reference and a product component.
    Dim Newprod As Product
    Set Newprod = RootProds.AddNewComponent("CATProduct", "123")
'Declare the part number and name for this product.
    Newprod.PartNumber = "001_Prod_1"
    Newprod.Name = "001_Prod_1"
'Einfügen einer existierenden Datei in das neu angelegte Product
'***DEKLARATIONEN
    Dim intRootProdDocObj As Object 'ProductDocument
    Dim intIGESList(0)
 
'***DATEINAMEN ÜBERGEBEN
    intIGESList(0) = "C:\TEMP_MAKRO\TEST001.CATPart"
   
'***INSTANZIERUNHG
    Set intRootProdDocObj = Newprod
    intRootProdDocObj.Products.AddComponentsFromFiles intIGESList, "CATPart"

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

BLD1983
Mitglied
Konstrukteur


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

Beiträge: 87
Registriert: 27.09.2019

Catia V5 / R28 / R29
intel core i7-6700 cpu @ 3.40ghz
RAM: 32GB
64Bit

erstellt am: 28. Mai. 2020 09:06    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 Bernod 10 Unities + Antwort hilfreich

Hallo.

Ist es möglich gleich mehrere im Explorer ausgewählte CatParts in in Product zu laden

zb.
1.Macro Starten
2.CATIA.FileSelectionBox öffnen und zb. 4 Stp Datein auswählen
3.ins Product einfügen

mfg

------------------
Ich will es gar nicht wissen, aber ich muss.....Das Leben verlangt es.

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: 28. Mai. 2020 09:25    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 Bernod 10 Unities + Antwort hilfreich

Servus BLD

Sollte so gehen: Dateien auswählen (ggf per FileSystemObject?) und per AddComponentsFromFiles in die Baugruppe einfügen.

Gruß
Bernd

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

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

BLD1983
Mitglied
Konstrukteur


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

Beiträge: 87
Registriert: 27.09.2019

Catia V5 / R28 / R29
intel core i7-6700 cpu @ 3.40ghz
RAM: 32GB
64Bit

erstellt am: 28. Mai. 2020 09: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 Bernod 10 Unities + Antwort hilfreich

Hallo.

Hast du ein Bsp wie ich dieses FileSystemObject anwenden kann.

Mit CATIA.FileSelectionBox lässt mich Catia nur eine Datei auswählen.?

mfg

------------------
Ich will es gar nicht wissen, aber ich muss.....Das Leben verlangt es.

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

HP-Variant
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 15.06.2020

erstellt am: 15. Jun. 2020 09:19    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 Bernod 10 Unities + Antwort hilfreich


Compileerror.JPG

 
Hallo Zusammen,

der Beitrag war bisher sehr hilfreich für mich.

Jedoch habe ich das Problem, dass untenstehender Code immer zum Fehler führt:

Compile error:
Function or interface marked as restricted, or the function uses an Automation type not supported in Visual Basic


Das lustige daran ist, wenn ich den Befehl aus meinem Buch "CATIA V5 Makroprogrammierung mit Visual Basic Script" (.pdf) kopiere funktioniert er...
danach füge ich einen Absatz ein und er funktioniert nicht mehr...

Kann sich darauf jemand einen Reim machen?

Besten Dank schon mal :-)

Code:

Option Explicit

Sub CATMain()

    Dim P As Product
    Set P = CATIA.ActiveDocument.Product
   
    Dim PP As Products
    Set PP = P.Products
   
        Dim Liste(0) As Variant
        Liste(0) = "C:\Test"
       
        PP.AddComponentsFromFiles Liste(0), "CATPart"
       

End Sub

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

BLD1983
Mitglied
Konstrukteur


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

Beiträge: 87
Registriert: 27.09.2019

Catia V5 / R28 / R29
intel core i7-6700 cpu @ 3.40ghz
RAM: 32GB
64Bit

erstellt am: 15. Jun. 2020 09:30    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 Bernod 10 Unities + Antwort hilfreich

Hallo.

versuchs mal mit:

Liste(0) = "C:\Test.CATPart"

------------------
Ich will es gar nicht wissen, aber ich muss.....Das Leben verlangt es.

[Diese Nachricht wurde von BLD1983 am 15. Jun. 2020 editiert.]

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

HP-Variant
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 15.06.2020

erstellt am: 15. Jun. 2020 10:10    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 Bernod 10 Unities + Antwort hilfreich

Besten Dank für deine schnelle Antwort "BLD1983"! :-)

Bin dem Problem auf die Schliche gekommen. Der Befehl "AddComponentsFromFiles" hat scheinbar
ein Problem mit deklaration.

Unten stehender Code funktioniert.
Kann das sein das Befehle Probleme mit Deklaration haben oder liegt der Fehler eher bei mir? 

-----------------------Code--------------------------------

Option Explicit

Sub Test()


    Dim Liste(0)
    Liste(0) = "N:\01_Startmodell\2000_STARTMODELL\0X0_800_077____G01_TMG_000_000_BAUTEILBEZEICHNUNG_AUXXX_X_XX_EV-00-000.CATPart"
   
    CATIA.ActiveDocument.Product.Products.AddComponentsFromFiles Liste, "CATPart"

End Sub

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