Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Product o. Part Fixen

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:  Product o. Part Fixen (1884 mal gelesen)
ChrisHH
Mitglied
F&E


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

Beiträge: 11
Registriert: 31.05.2012

HP Z400 64bit
Catia V5 R16 + R18
VB6

erstellt am: 14. Nov. 2012 09:58    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


error_msg.JPG

 
Moin,

zu allererst will ich anmerken das ich seit zwei Tagen das Forum und das Netz zu diesem Thema durchsuche, jedoch ohne Erfolg. Ich habe viele viele verschiedene Wege ausprobiert doch bisher ohne Erfolg.
Nun zu meinem Problem:

V5R16
VBA 6.0
Ich benutze die MS-VB6.0 IDE um das Makro zu bauen. Später soll es aus Catia als CATScript gestartet werden


Ich möchte in einem Makro zur Erstellung von einer Product struktur erstellte Parts und Produkte mit der FIX constraint bedingen. Das Makro soll ein allgemeines Makro werden was in jeder Baumstruktur, egal wieviele Ebenen, funktionieren muss.

Das Erstellen, benennen der Parts sowie Produkte stellt kein Problem da, leider jedoch der Teil in dem die erstellten oder eingefügten Teile "geFixt" werden sollen.

hier kurz der betroffene codeteil:

Code:

...

Dim MotherProd
Dim FixNewProd
Dim MotherRef
Dim RefName

' getPanelName = 123456-00-001 'bsp. Partnummer des Kontext Produktes in welches die Teile gefixt werden soll
' PanelNameNew = 123456-00-101 'bsp. Partnummer des Parts o. Produktes welches gefixt werden soll

               
Set MotherRef = SaveNewProd.product.CreateReferenceFromName(getPanelName + "/" + PanelNameNew + ".1/!" + getPanelName + "/" + PanelNameNew + ".1/")
               
Set MotherProd = SaveNewProd.Product.Connections("CATIAConstraints")
       
Set FixNewProd = MotherProd.addmonoeltcst(catcsttypereference, MotherRef)


Leider bekomme ich immer die Fehlermeldung "Laufzeitfehler blalba, the method addmonoeltcst failed. Siehe screenshot


Egal ob ich als Bezeichner für die CreateReferenceFromName Funktion variablen oder feste Partnummern, bzw Instance names definiere, gibt es die Fehlermeldung. Selbst wenn ich die Zeilen aus dem Makro recorder verwende ändert das nichts. Hier kurz der Code vom recorder:

Code:

Language="VBSCRIPT"

Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim productDocument1 As Document
Set productDocument1 = documents1.Item("123456-00-100.CATProduct")

Dim product1 As Product
Set product1 = productDocument1.Product

Dim constraints1 As Collection
Set constraints1 = product1.Connections("CATIAConstraints")

Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName("123456-00-100/123456-00-600.1/!123456-00-100/123456-00-600.1/")

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeReference, reference1)

End Sub


Das aufgezeichnete Makro selber Funktioniert natürlich als CATScript aus V5 gestartet. Wenn ich das allerdings 1 zu 1 in meine VBA umgebung kopiere, kommt er mit den Variablen Typen "Constraint" nicht klar.

Ich komme hier leider nicht weiter und habe die Hoffnung das hier jemand ähnliche Probleme kennt bzw. Lösungsmöglichkeiten aufzeigen kann. Falls ich wichtige Infos vergessen hab bitte sagen, mir ist bewusst das nichts nerviger ist als Fragen zu stellen ohne die notwendigen Hintergrundinformationen zu liefern.

Grüße,

ChrisHH

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 15. Nov. 2012 10:39    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 ChrisHH 10 Unities + Antwort hilfreich

Moin ChrisHH,

schau mal da
http://ww3.cad.de/foren/ubb/Forum137/HTML/001475.shtml#000008
da habe ich den Code für deinen Anwendungsfall als Beispiel in einem anderen Zusammenhang gepostet.

Falls es Fragen gibt, frag.

Gruß TomTom

------------------
tomtom1972

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

ChrisHH
Mitglied
F&E


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

Beiträge: 11
Registriert: 31.05.2012

HP Z400 64bit
Catia V5 R16 + R18
VB6

erstellt am: 19. Nov. 2012 14: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

Moin,

danke für den hinweis. Leider hatte ich den Thread schon gefunden und auch mit einer quasi 1 zu 1 Kopie führt es bei mir nicht zum Erfolg.

Mir ist eben allerdings was aufgefallen. Und zwar nutze ich um das CATScript zu schreiben die VB6.0 IDE. Da werden ja befehle wie zB. "CreateReferenceFromName" automatisch auf groß und kleinschreibung korrigiert. Das passiert allerdings nicht bei "addmonoeltcst". Fehlt mir noch die passende CATIA Library in meiner Zuweisungsliste der IDE? bzw. weiss jemand in welcher Library der addmonoeltcst befehlt steckt?


Code:

Dim FixProduct
Dim MotherProd
Dim FixNewProd
Dim MotherRef
Dim RefName
       
           
Set FixProduct = catia.Documents.Item(PanelProductNameNew + ".CATProduct").Product
     
Set MotherProd = FixProduct.Connections("CATIAConstraints")
       
Set MotherRef = FixProduct.CreateReferenceFromName(FixProduct.PartNumber & "/" & FixProduct.Products.Item(1).Name & "/!" & FixProduct.PartNumber & "/" & FixProduct.Products.Item(1).Name & "/")
       
Set FixNewProd = FixProduct.addmonoeltcst(catCstTypeReference, MotherRef)


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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 20. Nov. 2012 05: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 Nur für ChrisHH 10 Unities + Antwort hilfreich

Moin,

CATIA V5 MecModInterfaces Object Library

Groß- bzw. Kleinschreibung ist meines Erachtens unrelevant.


Gruß

------------------
tomtom1972

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

ChrisHH
Mitglied
F&E


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

Beiträge: 11
Registriert: 31.05.2012

HP Z400 64bit
Catia V5 R16 + R18
VB6

erstellt am: 20. Nov. 2012 08:12    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

Ja das stimmt. Nur ist es ein guter Indikator dafür ob der befehl/funktion vorhanden ist. Allerdings trifft das in diesem fall nicht zu, wieso auch immer   

Wie dem auch sei, das war die fehlende Library, vielen Dank tomtom!

Noch eine kleine hilfe zur selbsthilfe wenn möglich. Woher wusstest du das? Erfahrung oder steht das irgendwo? V5 Doku? Nur damit ich das nächste mal selber suchen kann   

viele Grüße,

Christian

ps.: Ich hab vergessen zu sagen das es bei mir NUR unter R18 läuft. R16 meckert weiterhin. Gibts das auch ne bekannte lösung oder gehts einfach nicht unter R16?


hier der code für R18

Code:

Dim FixDoc As Document
Dim FixProduct As Product
Dim FixNewProd As Constraint
Dim MotherRef As Reference
       
Set FixDoc = catia.Documents.Item(PanelProductNameNew & ".CATProduct")
               
Set FixProduct = FixDoc.Product
       
Set MotherRef = FixProduct.CreateReferenceFromName(FixProduct.PartNumber & "/" & FixProduct.Products.Item(1).Name & "/!" & FixProduct.PartNumber & "/" & FixProduct.Products.Item(1).Name & "/")
       
Set FixNewProd = FixProduct.Connections("CATIAConstraints").addmonoeltcst(catCsttypereference, MotherRef)


[Diese Nachricht wurde von ChrisHH am 20. Nov. 2012 editiert.]

[Diese Nachricht wurde von ChrisHH am 20. Nov. 2012 editiert.]

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 21. Nov. 2012 06:59    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 ChrisHH 10 Unities + Antwort hilfreich

Moin Christian,

bei mir läuft das Script seit ewigen Zeiten, der Post auf den ich oben verlinkt habe ist aus 2006. Ich habe zwar kein R16 mehr, bin mir aber ganz sicher, das es auf der R16 gelaufen ist, weil ich mir den entsprechenden Kommentar in den Quellcode geschrieben habe, das in 16 prog + getestet.

Wenn ich dich weiter oben richtig verstanden habe arbeitest du mit dem Visual Studio 6.0. Ich auch. Zu deiner zweiten Frage. Öffne ein neues / leeres Projekt. Gehe übers Pulldown-Menü Projekte auf > Verweise und setze im Fenster alle Häckchen (Verweise) auf alle Object Libraries die mit CATIA anfangen.
Dann öffne übers Pulldown-Menü Ansicht den Objektkatalog.
Dann gehe im Objektkatalog oben links ins Suchenfeld und gib ein * ein. Klicke suchen. In den Suchergebnissen werden alle Libraries aufgelistet mit zugehörigen Klassen, Methoden ....

Dann stöbern und loslegen.

Wenn du letzeten Endes ein Script kompilierst würde ich alle nicht benötigten Verweise wieder entfernen.

Gruß TomTom

------------------
tomtom1972

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