Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Performance-Test-Macro

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:  Performance-Test-Macro (4501 mal gelesen)
Ralduh
Mitglied
Student Fahrzeugtechik

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

Beiträge: 1
Registriert: 28.10.2004

erstellt am: 16. Dez. 2004 23: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,
ich studiere Fahrzeugtechnik an der HAW in Hamburg und habe nun die "Ehre" im dortigen CADlabor die performance der verschiedenen Rechnergenerationen die sich da so finden (SGI Impact, IBM RS6000, SUN Blade, Dell-PC usw.) zu dokumentieren.
Das möchte ich mit einigen macros machen, habe aber wenig Erfahrung mit dem CATsript von Catia V5R12. Insbesondere wäre ich daran interessiert, ob und wie man vielleicht die macros dazu bringen kann, ihre eigene Laufzeit zu ermitteln und als Teil des Ergebnisses anzuzeigen.

Ich kenne die "CATbench"-benchmarks, die man bei "catiacommunity.com" downloaden kann. In meinem Falle sprengt sowas aber völlig den Rahmen - die ältesten Unix-Maschinen sind schließlich von 1996! Da laufen meine relativ zierlichen Konstruktionsmacros schon mehrere Minuten!
Das Buch zum Thema von Dieter Ziethen ist mir auch bekannt.

Ich würde mich sehr über Tips zur CATscript-Erstellung freuen. Vielleicht gibt es ja Informationsquellen die sich google und Co verschlossen haben...

Grüße

Ralduhhhhhhhhhhh

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

3.1415926535
Mitglied



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

Beiträge: 59
Registriert: 20.02.2004

erstellt am: 20. Dez. 2004 12: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 Ralduh 10 Unities + Antwort hilfreich

Hast du mal in der Hilfe von CATIA nachgeschaut ?

Wenn nicht kannst du sie dir anschauen unter:

c:\programme\dassault systemes\b12\intel_a\code\bin\v5automation.chm

Dort steht im Prinzip fast alles drin, man muss es nur finden und verstehen 

Good Luck

Pi

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

93Aero
Mitglied
Ing


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

Beiträge: 106
Registriert: 02.12.2004

erstellt am: 20. Dez. 2004 14:36    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 Ralduh 10 Unities + Antwort hilfreich

Was Du suchst ist überhaupt kein Problem. In VB gibt es DateTime-Datentyp und eine Funktion, die die aktuelle Zeit abfrägt. Wenn ich mich nicht irre, dann heißt sie "Now", aber schau Dir am liebsten in der VB-Referenz, dem CATIA-Makro Buch (irgendwo im Anhang) oder dem Object browser in CATIA.

Das ganze kann so aussehen:

Sub CatMain(  )
Dim dtBegin As DateTime, dtEnd As DateTime
dtBegin = Now()

....    ' Here begins the macro with ts work...

dtEnd = Now(  )

MsgBox "Die Laufzeit: " & CStr( dtEnd - dtBegin )

Natürlich funktioniert das ganze nicht für die Macros, die weniger als 1 msbrauchen, da kommt einfach die Null heraus.

Und VB-Referenz ist bei solchen Problemen die gößte Hilfe...

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

apollo11
Mitglied



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

Beiträge: 47
Registriert: 31.03.2007

MacBook Leopard 10.5.6 4GB Ram
VMWARE 3
WinXP Pro SP2
V5R16 SP5

erstellt am: 22. Jun. 2007 11:32    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 Ralduh 10 Unities + Antwort hilfreich

Folgendes gibt die Zeit genauer aus:

Sub CATMain(  )

dtBegin = Timer

....    ' Here begins the macro with ts work...

dtEnd = Timer

dT = dtEnd - dtBegin
MsgBox "Die Laufzeit: " & dT

[Diese Nachricht wurde von apollo11 am 22. Jun. 2007 editiert.]

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

elharry
Mitglied



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

Beiträge: 47
Registriert: 03.04.2007

erstellt am: 26. Jun. 2007 16:03    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 Ralduh 10 Unities + Antwort hilfreich

Hi,

wenn du die CATIA Performance Testen willst kannst Du auch mal mit diesen beiden Befehlen versuchen
c: performance gauges (die Leerstelle muss zwischen : und p raus!)
C:TestVisuPerfoDraw
Einfach unten rechts in die Eingabe Zeile eintragen, gibt einen Wert zur Grafikkarten Performance aus. Diese findest Du auch in der Online Dokumentation beschrieben.

Viele Grüße

Harald

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 03. Feb. 2016 08:51    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 Ralduh 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von apollo11:
Folgendes gibt die Zeit genauer aus:

Sub CATMain(  )

dtBegin = Timer

....    ' Here begins the macro with ts work...

dtEnd = Timer

dT = dtEnd - dtBegin
MsgBox "Die Laufzeit: " & dT

[Diese Nachricht wurde von apollo11 am 22. Jun. 2007 editiert.]


Hallo Zusammen,

kann man irgendwie das Ergebnis (dT) im CATScript in folgendem Format ausgeben lassen?
"mm:ss"

danke im Voraus!

[Diese Nachricht wurde von imation1999 am 03. Feb. 2016 editiert.]

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 03. Feb. 2016 12:42    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 Ralduh 10 Unities + Antwort hilfreich

Hi imation,

klar. zB:

Code:

Option Explicit

Private Sub DisplayTime()
  Dim dtBegin As Date
  Dim dtEnd As Date
  Dim dT As Date

  dtBegin = Timer
  Do While dtEnd < dtBegin + 123

      dtEnd = Timer
      DoEvents
  Loop

  dT = dtEnd - dtBegin
  MsgBox "Die Laufzeit: " & dT

  Debug.Print Format(dT \ 3600, "00") & ":" _
            & Format((dT Mod 3600) \ 60, "00") & ":" _
            & Format(dT Mod 60, "00")

'oder kürzer(ohne Stunden)

  Debug.Print Format(dT \ 60, "00") & ":" _
            & Format(dT Mod 60, "00")

  End Sub


Typische Ausgabewerte in diesem Beispiel:

00:02:03
02:03

Tschau,
Joe

Nota: Bei '\' handelt es sich um Integerdivision.

------------------
Inoffizielle Catia Hilfeseite

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 03. Feb. 2016 12: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 Nur für Ralduh 10 Unities + Antwort hilfreich

Hallo Joe,

danke für die Antwort!

Ich habe es schon auch so versucht, aber unter CATScript bekomme ich folgendes Fehlermeldung:

Laufzeitfehler, Typenkonflikt: "Format"

Ich dachte, es geht ganz schnell...ich muß mich aber einbisschen schlau machen!


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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 03. Feb. 2016 13:46    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 Ralduh 10 Unities + Antwort hilfreich

Dann halt als catscript:

Code:

sub catmain()
  Dim dtBegin As Date
  Dim dtEnd As Date
  Dim dT As Date
  dim strh as string
  dim strm as string
  dim strs as string

  dtBegin = Timer
  Do While dtEnd < dtBegin + 123

      dtEnd = Timer
'      DoEvents
  Loop

  dT = dtEnd - dtBegin
  MsgBox "Die Laufzeit: " & dT


  strh = (dT \ 3600)
  if len(strh) = 1 then strh = "0" & strh
  strm = ((dT Mod 3600) \ 60)
  if len(strm) = 1 then strm = "0" & strm
  strs = (dT Mod 60)
  if len(strs) = 1 then strs = "0" & strs

  msgbox strh & ":" & strm & ":" & strs
End Sub


Tschau,
Joe

PS: Die ganzen Formatxxx-Routinen unter Catscript tun's leider nicht.

------------------
Inoffizielle Catia Hilfeseite

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 03. Feb. 2016 13:49    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 Ralduh 10 Unities + Antwort hilfreich

10 U's + 1000 Dank !

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 03. Feb. 2016 19: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 Ralduh 10 Unities + Antwort hilfreich

Danke. Damit hab ich in diesem Monat schon soviel wie im letzten Dezember/Januar! :-)

Noch eine kleine Routine, die Du vielleicht brauchen kannst(aus meiner Unix-Zeit):

Code:

'---------------------------------------------------------------------------------------
' Procedure : SplitUp
' DateTime  : 15.10.2006 03:46
' Author    : Joseph Herzog
' Purpose  : Replacement for the VB-Split Command
' Parms    : strToSplit - String that will be divided into parts (input)
'          : strDelim - the character which delimits the single parts (input)
'          : strArray() - the resulting array of strings (output)
'---------------------------------------------------------------------------------------
'
Sub SplitUp(strToSplit As String, strDelim As String, strArray())
  Dim iStart As Integer          'start searching from this position
  Dim iPos  As Integer            'found at this position
  Dim i As Integer                '

  If strToSplit = "" Then Exit Sub
  Do
      iStart = iPos + 1
      iPos = InStr(iStart, strToSplit, strDelim)
      If iPos > 0 Then
        strArray(i) = Mid(strToSplit, iStart, iPos - iStart)
        i = i + 1
      Else  'no more delim found; assign the rest;
            'NOTE: if the last character is a delim, this may not work correctly
        strArray(i) = Mid(strToSplit, iStart, Len(strToSplit) - iStart + 1)
        Exit Do
      End If
      DoEvents
  Loop
End Sub


Enjoy,
Joe

------------------
Inoffizielle Catia Hilfeseite

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