| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Zeitermittlung (1832 mal gelesen)
|
facebraker Mitglied IT
Beiträge: 158 Registriert: 03.05.2009
|
erstellt am: 04. Mai. 2009 13:57 <-- editieren / zitieren --> Unities abgeben:
Guten Tag, ich habe mich bemüht erst einmal selbst zu forschen, aber ich komme nicht weiter. In AutoCAD gibt es ja den Befehl ZEIT/_time um sich die Bearbeitungszeit anzusehen. Meine Frage, wie komme ich über die COM - Schnittstelle ran, ich möchte eine DLL erzeugen, und diese dann mit netload in AutoCAD laden. Gibt es da noch andere "Funktionen"?Ich frage so hinlistig, weil mir graut es so, als ob ich schonmal einen Befehl gesehen habe, wo ich mir die Effektive Arbeitszeit(also das Mausschubsen) anzeigen lassen kann? Zur Not könnte ich es per Hand realisieren, aber dafür müßte ich an die Events rankommen, z.B. wenn man eine neue Datei öffnet, das dann der Zeitzähler auf Null gesetzt wird und dann beim Schließen die Arbeitszeit für diese Datei gespeichert wird. Aber wie komme ich an die Events im .NET/DLL ran? Ich würde mich auch über Tipps, die VBA betreffen sehr freuen. Danke. Gruss Alex
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 04. Mai. 2009 17:44 <-- editieren / zitieren -->
Hi Alex, für DocEvents hatte ich hier mal was gemacht, kannst mal schauen... Für die Zeiterfassung kannst Du normal Variable in AutoCAD abfragen, siehe hier. ABER: was macht das Rechnen der Zeit, die AutoCAD offen ist, für einen Sinn, z.B. der Plotter wird mit 20 dichten Plänen beschickt, 1 Stunde ist gerechnet, der User war Kaffee-Trinken. Anders herum: Eure Anwender haben das rausbekommen, also machen sie ab jetzt 20 Plots auf File, AutoCAD ist aktiv, gearbeitet haben sie nix. Also Frage nach Sinnhaftigkeit/Nutzen und realer Auswertung aus der wirklich Rückschlüsse möglich sind. - alfred - ------------------ www.hollaus.at |
facebraker Mitglied IT
Beiträge: 158 Registriert: 03.05.2009
|
erstellt am: 05. Mai. 2009 09:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred, danke für die Antwort, es soll keine Stechuhr werden, das kann man nicht machen. Ich sitze auch manchmal ne Weile vor einen Code, mache nichts und gehe im Kopf Lösungen durch. Wenn es garnicht hilft, surfe ich erst einmal um den Kopf frei zu bekommen. Genauso ist es bei den Konstrukteuren und Zeichnern, wir machen nie Standard, jedes Projekt ist anders da kann man keine Stechuhr daneben legen. Es soll viel mehr eine Projektplanung sein, nichts desto trotz muss die Geschäftsleitung wissen, wielange an dem Projekt gearbeitet wurde, um bei nächsten Angeboten das mit zu kalkulieren. Ich möchte auch erstmal sehen, wie das ganze aussieht, wie es sich machen läßt. In dem Zuge habe ich eine Frage, ich kenne mich garnciht mit AutoLISP aus, um auf diese Zeiten zu kommen, nutzt der Autor eine AutoLISP Funktion: Code: (setq s (getvar "DATE")) (setq seconds (* 86400.0 (- s (fix s))))
Damit kann ich garnichts anfgangen, so wie ich es verstanden habe, liefert diese Funktion mir einen Julianisches Datum zurück, wofür ich ja schon eine Funktion habe. Die erste Zeile ist noch logisch: "ich hole die Variable DATE und speichere sie in der Variable s" In der 2. Zeile hapert es, ich denke mal ich fülle die Variable Second? Was wird mit 86400.0 multipliziert? Was bedeutet das fix? Ist das ein Runden? Ich bitte um ein bisschen Erleuchtung. *grins* Gruss ALex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2012 ADT 2005 bis 2012 Arcibem System: Windows XP, Vista, 7<P>Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Mai. 2009 09:48 <-- editieren / zitieren --> Unities abgeben: Nur für facebraker
Hallo Alex, (getvar "date") liefert hinter dem Komma den bisher vergangenen Bruchteil des Tages. (fix ...) schneitet den ganzzahligen Teil einer Zahl ab. (- s (fix s)) liefert also nur den Bruchteil des Tages 1 Tag hat 60 x 60 x 24 (= 86400.0) Sekunden also den Wert mit 86400 multiplizieren um auf die bisher vom Tag verstrichenen Sekunden zu kommen. Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
facebraker Mitglied IT
Beiträge: 158 Registriert: 03.05.2009
|
erstellt am: 05. Mai. 2009 11:02 <-- editieren / zitieren --> Unities abgeben:
Hallo Henning, so ist das logischer ;-) Das Nachrechnen war auch erfolgreich! Wie komme ich nun an das Datum des Tages, das ist ja der ganzzahlige Anteil? Mit meiner Excel-Funktion, komme ich nicht auf ein Logisches Datum? z.B. 2451544.91568287
0.91568287 ergibt 21:58:35Uhr RICHTIG. Wie komme ich auf das Datum? Alle fertigen funktionen, Julianisch --> Gregorianisch schlagen fehl :-( Gruss Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2012 ADT 2005 bis 2012 Arcibem System: Windows XP, Vista, 7<P>Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Mai. 2009 11:14 <-- editieren / zitieren --> Unities abgeben: Nur für facebraker
Hallo Alex, F1 sagt: Zitat: Speichert das aktuelle Datum und die aktuelle Uhrzeit im modifizierten julianischen Datumsformat. Dieser Wert wird als MJD-Datum (Modified Julian Date) angezeigt, der sich aus der Julianischen Tageszahl und dem Dezimalbruch eines Tages zusammensetzt. Das Format lautet wie folgt:<Julianische Tageszahl>.<Dezimalbruch eines Tages> Das MJD wird im allgemeinen als UT1 bezeichnet und ist ein weltweiter wissenschaftlicher Standard, der, beginnend mit dem willkürlichen Datum 1. Januar 4713 vor unserer Zeitrechnung und der willkürlichen Zeit 00:00 Uhr jedem Tag eine Zahl zuweist. In diesem System wird der 4. Juli 1997, 14:29:58 in der Form 2450634.60387736 und der 1. Januar 1998, 12:00 mittags als 2450815.50000000 dargestellt.
, sollte also julianisch sein. Ich selbst habe es noch nie gebraucht, von daher hab' ich jetzt auch keinen Tipp, warum "Julianisch --> Gregorianisch" fehlschlägt. Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2012 ADT 2005 bis 2012 Arcibem System: Windows XP, Vista, 7<P>Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Mai. 2009 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für facebraker
[Nachtrag] Vielleicht ist für Dich "CDATE" besser zu handhaben: Zitat: Speichert das aktuelle Datum und die aktuelle Uhrzeit im Dezimalformat.Das Datum und die Uhrzeit werden im Dezimalformat angezeigt, beginnend mit dem Jahr. Nach dem Dezimaltrennzeichen zeigt CDATE die Uhrzeit im 24-Stunden-Format an. Beispiel: Der 9. Februar 2006, 15.05 Uhr, wird als 20060209.150500 angezeigt.
Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Ehrenmitglied V.I.P. h.c. Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 ACAD 2004DX Mechanical PP
|
erstellt am: 05. Mai. 2009 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für facebraker
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|