Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Variablen in CATIA

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:  Variablen in CATIA (3396 mal gelesen)
Schäfchen
Mitglied
technische Zeichnerin


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

Beiträge: 13
Registriert: 21.01.2010

Catia V5 R19
win XP, x64 edition, SP2

erstellt am: 21. Jan. 2010 16: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

Hallo zusammen,

ich hab schon wieder ein Problem.
Angenommen ich habe in CATIA eine Tabelle erstellt und habe keine Werte eingegeben, sondern nur Textfelder, die mit Variablen versehen wurden. z.B. A3,B3,C3

Ich möchte also die Tabelle in Catia füllen, indem ich in Excel den Variablen Werte zuweise.
Wie kann ich auf diese Variablen von Excel aus zugreifen?

Grüße Schäfchen

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 21. Jan. 2010 16:23    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 Schäfchen 10 Unities + Antwort hilfreich

Mit einem VBA-Makro.
Das funktioniert genauso wie ein CATVBA, bzw. eher wie eine normale VB6.0 Anwendung.

Musst halt nur manuell die ganzen Verweise setzen, aber das sollte das kleinste Problem sein.
Du fischst Dir das aktive CATIA aus der Prozessliste und schon kannste das gleiche machen wie im CATVBA.
Also ganz normale Excel-Funktionen nutzen, wie im Makros bekannt.

Aber wahrscheinlich rede ich schon am Thema vorbei. Wenn dem so ist, konkretisier bitte noch einmal deine Frage.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

Schäfchen
Mitglied
technische Zeichnerin


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

Beiträge: 13
Registriert: 21.01.2010

Catia V5 R19
win XP, x64 edition, SP2

erstellt am: 22. Jan. 2010 07:22    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

Erstmal Danke für die Antwort.
Wie setze ich manuell die Verweise? Kannst du mir das an einem Beispiel Code zeigen? Angenommen meine Variable heißt A3 und in Excel soll der Wert 3.5 zugewiesen werden.
Für deine Hilfe wär ich sehr dankbar, da ich keinerlei Erfahrung in Makro Programmierung habe.

Grüße Schäfchen

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 22. Jan. 2010 07: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 Schäfchen 10 Unities + Antwort hilfreich


Referenzen_VBA-Editor.jpg

 
Hallo,

mir ist immer noch nicht ganz klar was du machen willst. Am besten beschreibst du mal wie du dir den Ablauf konkret vorstellst.

Einen Verweis setzt du im Visual Basic Editor über Tools -> References (siehe Screenshot). Wenn du nicht weißt welche Bibliothek du referenzieren musst (also auf welche Datei du den Verweis setzen musst), kannst du im Excel-VBA Editor den Objektbrowser (F2) öffnen und z.B. nach der Deklaration oder dem Objekt suchen. In der Beschreibung wird dir dann angezeigt in welcher Bibliothek sich die entsprechende Deklaration oder das entsprechende Objekt etc. befindet

[EDIT]

Eine Anmerkung noch dazu:
Wenn du jetzt auf eine Bibiothek Verweis dann nennt man das EarlyBinding. Das kann aber zu Problemen führen wenn du Bibliothek nicht auf allen Zielrechnern installiert ist. Eine andere Möglichkeit ist das LateBinding. Hierbei werden alle "internen" Excel-Objekte beim Deklarieren als Object deklariert.7

Hier mal ein Beispiel:

EarlyBinding (Verweis auf Microsoft Office 12.0 Object Library ist gesetzt)
Dim oWB as Workbook

LateBinding (kein Verweis notwendig)
Dim oWB as Object

Die Methoden und Klassen bleiben sind bei beiden oWB-Objekten die selben. Der Nachteil beim LateBinding ist das du keine IntelliSense (Autovervollständigung hast) und in VB.NET oder VB6 die Objekte nicht qualifiziert überwachen kannst

[/EDIT]
------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

   

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

Schäfchen
Mitglied
technische Zeichnerin


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

Beiträge: 13
Registriert: 21.01.2010

Catia V5 R19
win XP, x64 edition, SP2

erstellt am: 22. Jan. 2010 08:14    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 Daniel,

also ich hatte mir das so vorgestellt:
In Catia ist eine Drawing geöffnet, in der bereits eine Tabelle erzeugt wurde und zum Teil auch ausgefüllt ist.
Bsp.
Durchmesser    mm    "Wert A3"
Länge                mm    "Wert B3"

Ich möchte den Variablen "Wert A3","Wert B3" jetzt Werte zuweisen.
Allerdings nicht in Catia, sondern über ein Makro von Excel aus.
d.h. ich weise in Excel der Variablen "Wert A3" den Wert 15mm zu und dieser soll dann in meine Catia Tabelle übernommen werden.

ich hoffe dass es jetzt etwas verständlicher geworden ist.

Grüße Schäfchen

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: 22. Jan. 2010 08:17    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 Schäfchen 10 Unities + Antwort hilfreich

Servus
AFAIKAs far as i know (So viel ich weiss) muss du wie Daniel beschrieben hat zunächst auf CATIA zugreifen, dann dich durch die Sheets und Ansichten zur Tabelle durchhangeln (oder direkt den Namen der Tabelle ansprechen?). Mit einer Schleife nun die Zellen durchgehen und wenn "Wert A" in der Zelle steht diese durch deinen Wert ersetzten.
Beispiele von Tabellen findest du mit der Suchfunktion.

Gruß
Bernd

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

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 22. Jan. 2010 08:45    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 Schäfchen 10 Unities + Antwort hilfreich

Hallo,

wie genau willst du in Excel der Variablen "Wert A3" den einen Wert zuweisen?

Ich beschreibe jetzt mal knapp wie ich das machen würde (auch wenn ich immer noch nicht sicher bin mit der Variablen in Excel. Ich gehe einfach davon aus, das in deinem Excel Worksheet in der Zelle "A3" der wert 15 steht).

Wie Bernd schon sagte musst du dich durch die Sheets Collection hangeln, das Richtige Sheet ansprechen, dort doch die Tables-Collection hangeln und die Richtige Tabell ansprechen (hier hast du mehrere Möglichkeiten (z.B. über den Namen der Tabelle, über eine Interaktive Selektion, über die Items, etc.)).
Jetzt durchläufst du das Tabellenobjekt in einer Schleife (natürlich nur die Relevanten Spalten und Zeilen) und ließt den String der jeweiligen Zelle aus. Diesen String übergibst du an dein Excel-Worksheet in der Methode Range. Jetzt bekommst du ein Range-Object zurück mit hilfe dessen du den Wert der Zelle erhälst (Range.Value). Das ganze sollte aber auf jeden Fall durch eine Fehlerroutine abgesichert werden (wenn z.B. nur Zahlen eingelesen werden sollen kannst du eine Konvertierung durchführen lassen und die Err.Number abfragen)

Ich habe dir hier mal ein kleines Beispiel gemacht wie das aussehen könnte (nur das Auslesen des Wertes aus Excel). Diesen Wert musst du dann halt wieder in die CATIA Tabelle einfügen (immer noch innerhalb der Schleife)

Code:
    Dim myWB As Workbook 'Bei LateBinding Deklaration als Object
    Dim myWS As Worksheet 'Bei LateBinding Deklaration als Object
    Dim myRange As Range 'Bei LateBinding Deklaration als Object
    Dim myValue As Long
   
    Set myWB = Excel.ActiveWorkbook
    Set myWS = myWB.ActiveSheet
    Set myRange = Range("A1") 'hier steht dein String in den Anführungszeichen
    On Error Resume Next
        myValue = CLng(myRange.Value)
    If Err.Number = 13 Then
        Err.Clear
        MsgBox "Der Wert der Zelle " & myRange.AddressLocal & " kann nicht in eine Long-Variable konvertiert werden!", vbCritical, "Fehler"
        Exit Sub
    Else
        MsgBox "Der Wert der Zelle " & myRange.AddressLocal & " beträgt " & myValue & " mm", vbInformation, "Fertig"
    End If

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

Schäfchen
Mitglied
technische Zeichnerin


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

Beiträge: 13
Registriert: 21.01.2010

Catia V5 R19
win XP, x64 edition, SP2

erstellt am: 22. Jan. 2010 09:28    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 genau so was hab ich gesucht vielen Dank.

Aber eine Frage hab ich jetzt doch noch:
Dein Beispielcode gibt ja den Wert aus A1 an eine Messagebox zurück. Wie kann ich denn diesen Wert an ein Textfeld in Catia übergeben? Ein kleines Beispiel wäre hilfreich.

Vielen Dank für deine Bemühungen mir das klar zu machen.
Grüße Schäfchen

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

Schäfchen
Mitglied
technische Zeichnerin


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

Beiträge: 13
Registriert: 21.01.2010

Catia V5 R19
win XP, x64 edition, SP2

erstellt am: 22. Jan. 2010 10:55    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 Programmierspezialisten,

wie kann ich einen Wert von Excel an ein Catia Textfeld übergeben. Ich hab da keine Vorstellung/ Ahnung wie das gehen könnte? 

Grüße Schäfchen

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

Bertel
Mitglied



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

Beiträge: 300
Registriert: 03.04.2002

CATIA V5 R26SP3HF21
Win10
Lenovo P52
Intel Xenon 16GB Ram
NVIDIA Quadro P2000
EUKLID V14
ViCADo 2015

erstellt am: 22. Jan. 2010 11: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 Nur für Schäfchen 10 Unities + Antwort hilfreich

Hallo Schäfchen,

in der Doku findet sich folgendes:

Code:
'Tabelle erzeugen
Dim MyView As DrawingView
Set MyView = MySheet.Views.ActiveView
Dim MyTable As DrawingTable
Set MyTable = MyView.Tables.Add(100., 100., 2, 2, 20., 50.)

'Wert als Text eintragen
iRow = 3  'Spalte
iCol = 2  'Zeile
iString = CStr(myValue)
'iString = "Title"
MyTable.SetCellString iRow, iCol, iString


Gruß
Bertel

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

Schäfchen
Mitglied
technische Zeichnerin


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

Beiträge: 13
Registriert: 21.01.2010

Catia V5 R19
win XP, x64 edition, SP2

erstellt am: 22. Jan. 2010 11:31    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

Wo finde ich diese Doku, die du erwähnt hast?
Ich bin neu hier und kenne mich noch nicht so richtig aus.

Grüße Schäfchen

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

Bertel
Mitglied



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

Beiträge: 300
Registriert: 03.04.2002

CATIA V5 R26SP3HF21
Win10
Lenovo P52
Intel Xenon 16GB Ram
NVIDIA Quadro P2000
EUKLID V14
ViCADo 2015

erstellt am: 22. Jan. 2010 11:37    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 Schäfchen 10 Unities + Antwort hilfreich

Hallo Schäfchen,

evtl. hier:

"C:\Programme\Dassault Systemes\B19\intel_a\code\bin\V5Automation.chm"

Gruß
Bertel

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