|
CATIA V5 Programmierung : dialogfenster öffnen und bearbeiten
RSchulz am 03.06.2013 um 08:48 Uhr (0)
Zitat:Original erstellt von adrian83:hallo!besteht die möglichkeit in catia per VB-makro ein bestimmtes dialogfenster zu öffnen,wenn ich weiß wie es heißt und dort dann so zu tun,als würden per maus buttons gedrückt,häkchen gesetzt usw?Hallo Adrian,ja das geht bzw. leider nur über Umwege. Hierfür brauchst du die Windows-API.Hier mal ein bissel Beispielcode.Code:Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Dec ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Catia v5 automatisieren
RSchulz am 26.03.2013 um 11:09 Uhr (1)
Hallo nochmal,also in erster Linie musst du dir dann die VBA Programmierung aneignen. Hier ein Buch-Tipp, welches explizit auf die API von CATIA eingeht. Desweiteren ist es sinnvoll sich mit Visual Studio auseinander zu setzen und sich für eben eine der Programmiersprachen zu entscheiden; ich hab mich hier für VB.Net entschieden.Wenn die Grundlagen geschaffen sind, kann man sich dann auch an die Windows API machen. Hierbei können dann auch Mausklicks, -Bewegungen und Tastatureingaben simuliert werden; und ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Catia v5 automatisieren
RSchulz am 25.03.2013 um 10:48 Uhr (1)
Hallo Adrian,nett formuliert Was würdest du mir antworten, wenn ich fragen würde "Ich will nach Italien, kann ich da ein Auto nehmen?". Wahrscheinlich würdest du mir die Frage mit Ja beantworten. Wenn ich dir allerdings die Randparameter nenne "Wir sind 8 Leute, das Auto ist ein Ford Fiesta und wir müssen darin schlafen", dann würdest du mir eine andere Antwort geben. Was ich damit sagen möchte ist, dass die von dir gestellte Frage mehr Fragen aufwirft, als das man sie dir beantworten könnte.Ja man kann ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Elementen ausblenden über Hide Components
RSchulz am 11.07.2013 um 12:33 Uhr (0)
Der Zeitgewinn ist riesig, das ist mir bewusst. Daher hatte ich auch diese Eigenschaft eigentlich in jeder mit Selektion defininierten Funktion verwendet. Allerdings ist der Zugriff der API nicht sicher. Ich weis nicht warum und wann das passiert, aber es gibt Momente, bei denen diese Eigenschaft schreibgeschützt ist bzw. nicht verändert werden kann. Dann fliegt das Makro oder Modul entsprechend auf die Nase und zieht dei Schnittstelle teilweise mit nach unten, sodass auch nach beenden des Makros und neuau ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : dialogfenster öffnen und bearbeiten
RSchulz am 13.07.2013 um 09:28 Uhr (0)
Hallo,nein sleep geht nicht, da es den gesamten Kontext bzw. in diesem Fall auch CATIA schlafen legt. Wait muss auch nur deklariert werden.Ich würde außerdem lieber die Schleife hundert mal laufen lassen, als solange Wartezeiten zu erschaffen. Ein Schleifendurchlauf braucht eigentlich kaum Leistung.Außerdem kannst du doch mal die geöffneten WindowTitle auslesen und schauen, ob der Titel überhaupt so richtig ist.------------------MFGRick SchulzNettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Elementen ausblenden über Hide Components
RSchulz am 17.07.2013 um 13:11 Uhr (0)
Hat sich eigentlich irgendwer mal meinen Code angeschaut...Startcommand ist immer schlecht, wenn du es vermeiden kannst, da es von der Sprache abhängig ist und frei definierbar.Wenn du so oder so eine Selection hast, kannst du auch "VisProperties" davon verwenden.Code: Sub CATMain() Dim oProdukt Dim oSel As Selection Dim oVisPropSet As VisPropertySet Set oProdukt = CATIA.ActiveDocument Set oSel = oProdukt.Selection oSel.Clear Set oVisPropSet = oSel.VisProperties oSel.Search "(((CATStFreeStyleSearc ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Elementen ausblenden über Hide Components
RSchulz am 17.07.2013 um 15:17 Uhr (0)
Im Übrigens wäre das ein gute Ansatz, denn warum ist die Selektion so Zeitaufwendig? Weil die Selektion dargestellt wird. Diese Bildberechnung kostet zeit und kann mit HSOSynchronized = false deaktiviert werden birgt aber die von mir erwähnten Bugs.Ein weiterer Ansatz könnte es sein, CATIA unsichtbar zu schalten mit "CATIA.Visible = False" und nach der Bearbeitung wieder auf True zu setzen. Ob das etwas bringt weis ich allerdings nicht. Nur verstehe ich dann anscheinend immer noch nicht, wie du es machst. ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Elementen ausblenden über Hide Components
RSchulz am 17.07.2013 um 16:10 Uhr (0)
Ja ist schnell......und mein Beispiel...Code:Sub CATMain() Uhrzeit1 = Time Dim oProdukt Dim oVisPropSet As VisPropertySet Dim oSel As Selection Set oProdukt = CATIA.ActiveDocument Set oSel = oProdukt.Selection Set oVisPropSet = oSel.VisProperties oSel.Search "(((CATStFreeStyleSearch.OpenBodyFeature + CATPrtSearch.OpenBodyFeature) + CATGmoSearch.OpenBodyFeature) + CATSpdSearch.OpenBodyFeature),all" oVisPropSet.SetShow 1 oSel.Clear Uhrzeit2 = Time A = DateDiff("s", Uhrzeit1, Uhrzeit2) MsgBox A ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Elementen ausblenden über Hide Components
RSchulz am 10.07.2013 um 16:00 Uhr (0)
Hallo,nur als kleiner Tipp... Nicht die Suche, sondern die Selektion dauert so lange.Ich habe ebenfalls ein Makro geschrieben, welches aber schnell durchläuft.Code:Sub CATMain() Dim actDoc As ProductDocument Dim oSel As Selection Dim oVisPropSet As VisPropertySet Dim oriCaption As String CATIA.Interactive = False Set actDoc = CATIA.ActiveDocument Set oSel = actDoc.Selection Set oVisPropSet = oSel.VisProperties oriCaption = CATIA.Caption CATIA.Caption = "Bedingungen werden ausgeblendet" DoEvents ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Elementen ausblenden über Hide Components
RSchulz am 11.07.2013 um 10:17 Uhr (0)
Zitat:Original erstellt von gladly:Code:Catia.HSOSynchronized = Falsenach dem Makro bzw. der SelectionCatia.HSOSynchronized = TrueIch kann da aktuell nur von abraten. Ich habe es selbst in einigen Makros drin gehabt und bin davon weg, da es sehr oft massive Probleme verursacht. Hierbei kann es zu CATVBA-Abstürzen bis hin zu CATIA-Fehlerverhalten kommen. Oftmals lässt es sich dann nicht mehr aktivieren oder die CATIA-Schnittstelle verweigert den Dienst. Ich habe wirklich versucht, anders zu programmieren un ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : vb.net: CATIA Events abonnieren?
RSchulz am 26.07.2013 um 13:45 Uhr (1)
Hallo Christian,nein das geht leider nicht. Einzig du schreibst dir einen Watcher, der in regelmäßigen Abständen mal schaut, ob eine Datei geschlossen wurde. Aber auf die Events von CATIA selbst ist mit normalen .Net-Mitteln kein drankommen. AFAIK geht das aber mit der CATIA CAA Umgebung...------------------MFGRick SchulzNettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Problem mit Makro zur Umbenennung
RSchulz am 24.04.2013 um 12:38 Uhr (1)
Hallo und Herzlich willkommen im Forum,ich gehe nicht davon aus, dass das Part selbst das Problem ist, sondern die geladenen Dokumente.Das Makro ist eigentlich "nicht" sauber bzw. zu Ende programmiert. Wenn du auf CATIA.Documents gehst, musst du noch eine Abfrage der Dokumententypen reinbringen. Es gibt nämlich durchaus Dateien die geladen sind, die garkein CATIA-Dokument darstellen, sondern eine Umgebung, Konfiguration oder ähnliches. Genau das passiert AFAIK nämlich auch bei Type3. Diese haben aber garni ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Liste erstellen
RSchulz am 02.09.2013 um 16:28 Uhr (1)
Hallo Flix,also möglich ist das. Mal eben erklärt ist das aber nicht. Eine Liste kann man mit entsprechendem Editor erstellen und muss diese mit den notwendigen Informationen füllen. Notwendig sind hier in jedem Fall die Eigenschaften, die das Element eindeutig indentifizieren. Da kommt natürlich aber auch aufs Element an. z.B. Name, Typ, wo liegt es? etc.. Danach die Liste aufpoppen und bei einem Doppelklick das Element suchen und markieren. Danach per catia.Startcommand"Bildschirmfüllend anzeigen" zentri ...
|
In das Form CATIA V5 Programmierung wechseln |