Autor
|
Thema: Performance-Test-Macro (4501 mal gelesen)
|
Ralduh Mitglied Student Fahrzeugtechik
Beiträge: 1 Registriert: 28.10.2004
|
erstellt am: 16. Dez. 2004 23:55 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 59 Registriert: 20.02.2004
|
erstellt am: 20. Dez. 2004 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für Ralduh
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
Beiträge: 106 Registriert: 02.12.2004
|
erstellt am: 20. Dez. 2004 14:36 <-- editieren / zitieren --> Unities abgeben: Nur für Ralduh
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
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 / zitieren --> Unities abgeben: Nur für Ralduh
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
Beiträge: 47 Registriert: 03.04.2007
|
erstellt am: 26. Jun. 2007 16:03 <-- editieren / zitieren --> Unities abgeben: Nur für Ralduh
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
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 / zitieren --> Unities abgeben: Nur für Ralduh
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
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 / zitieren --> Unities abgeben: Nur für Ralduh
Hi imation, klar. zB:
Code:
Option ExplicitPrivate 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
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 / zitieren --> Unities abgeben: Nur für Ralduh
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
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 / zitieren --> Unities abgeben: Nur für Ralduh
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
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 / zitieren --> Unities abgeben: Nur für Ralduh
|
joehz Moderator Freiberuflicher Konstrukteur
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 / zitieren --> Unities abgeben: Nur für Ralduh
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 |