Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  AccoreConsole prozess kontrollieren

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  AccoreConsole prozess kontrollieren (2593 mal gelesen)
cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 25. Apr. 2018 10:26    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 möchte gern via Lisp die Accoreconsole aufrufen und dabei steueren, das jede zu bearbeitende Datei in der Console geöffnet(bearbeitet) wird.
Dazu benötige ich eine Funktion, die aufpasst, dass die Console nur nach Beendigung des vorigen Prozesses neu gestartet wird. Ansonsten hab ich den Salad, dass mein Rechner überfordert ist, wenn hundertmal die Console.exe aufgerufen wird.

Mein Ansatz ist der:

Code:
(setq Shell (vlax-get-or-create-object "Wscript.Shell"))
(setq AppHandle
      (vlax-invoke-method Shell 'Exec
(strcat "\" \"C:\\Program Files\\Autodesk\\AutoCAD 2017\\accoreconsole.exe"
  "\" \"/i\" "
  "\ " " \"" (strcat DirPath file)
  "\" \"/s"
  "\" \"\\\\c:\\AcadConsole\\mdread.scr"
  "\" \"/b"
  )
)
      )
(while ( = (vlax-get-property AppHandle 'Status ) 0)
  (command "_delay" 1000)
  )
(vlax-release-object Shell)
(princ "\nProcess finished" )

Ich weiss nicht genau, wie ich den Consoleaufruf im Wscript.Shell-Objekt aufrufen kann.

------------------
Gruss Dirk
Blog

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Apr. 2018 13: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 cadplayer 10 Unities + Antwort hilfreich

Ich schaue mir EXEC jetzt nicht an, verweise aber mal alternativ auf RUN mit dem zweiten Parameter TRUE.

Anm: accoreconsole linear eine Dateiliste abarbeiten lassen wenn so wie so AutoCAD geöffnet ist (da du Lisp nutzt ist das ja so)
dann hast du aber nur in wenigen Ausnahmen einen Vorteil mit der accoreconsole. plotten ein.
Über Lisp gestartet mit deinem Wunsch "abwarten bis ein Job fertig ist" geht es in Acad direkt ebenso schnell IMHO.

Wenn man kann die Liste an Dateien ja auch kontrolliert in 10er Packs parallel bearbeiten, dann überschlägt sich der Rechner nicht und man ist dennoch viel schneller wie linear abgearbeitet.

Ganz sicher aber ein Thema was den .NETer besser liegen müßte wie dem LISPler.

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 25. Apr. 2018 16:25    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

Ich verstehe deine Sicht, nur arbeitet die Console viel schnelle als "grafisch" Autocad und ich kann parallel arbeiten, ohne das ich mehrere Autocad starts vornehmen muss. Mir geht es nicht um plotten sondern um Änderungen an Zeichnungen im Hintergrund.
Script + Console eignen sich dafür in jedem Fall und bedürfen keiner aufwendigen NET entwicklung! Dein Vorschlag brachte mich leider nicht weiter. Ich schau mal weiter und teste. Danke soweit!

------------------
Gruss Dirk
Blog

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 25. Apr. 2018 17: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 cadplayer 10 Unities + Antwort hilfreich

... nun ich denke, du bist auf der .Net-Seite dennoch besser aufgehoben.
Willst deine Aufgabe exakt so umsetzen, wie oben geschrieben, könntest du im .Net die Tasks überwachen und würdest mitbekommen wann einer verschwindet. Besser noch, so ein Process, mit dem du die AccoreConsole startest, kannst du dort auch mit einem Event versehen, dass dir anzeigt, wann dieser Process beendet wurde.
Was eigentlich für dich noch interessant sein sollte, ist das Management der Parallelverarbeitung, welches dir in .Net auch zur Verfügung steht. Du kannst dort so viele parallele Threads starten, wie du willst, der Rechner überwacht die Threads selbst, bzw. lastet die Kerne optimal aus.

Ich bin nicht der Meinung, dass es in .Net aufwändiger ist, als in Lisp. In Lisp fehlen dir die ganzen direkten Zugriffe auf das OS oder sind nur über Umwege überhaupt herstellbar.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 25. Apr. 2018 19: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

Japp ist richtig, ich hatte das auch schonmal umgesetzt, etwas schwierig ist die Umsetzung, sobald in der script-Datei etwas hakt,
da man nicht auf den Vorgang inder Console zugreifen kann..
Das sieht man zumindest, wenn die die cmd.exe gestartet ist, da kann ich genau verfolgen, wenn etwas falsch läuft.
Siehe hier (betrifft das Abarbeiten von Plots) Shortcut!

------------------
Gruss Dirk
Blog

[Diese Nachricht wurde von cadplayer am 25. Apr. 2018 editiert.]

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 25. Apr. 2018 19:18    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 cadplayer 10 Unities + Antwort hilfreich

... wenn zu befürchten ist, dass ein Script hakt, dann ist dieser Weg eben nicht sinnvoll. So zumindest meine Meinung. Das hilft dir jetzt nicht weiter, ich weiß. Wenn du aber so eine Massenbearbeitung zu tun hast, und dafür schon den Weg einer Automatisierung über eine Programmierung gehen willst, dann wird sich wohl auch wahrscheinlich lohnen, das Script in eine Lisp (mit errorhandler) oder gleich die Script-Funktionen in .Net umzusetzen, dann hast du das errorhandling ohnehin komplett selbst in der Hand.

Da würde ich an deiner Stelle noch einmal über die Konzeption des Lösungsweges nachdenken. Es hilft ja nicht's den Lösungsweg anhand der dir bekannten Teillösungen zu konzipieren, wenn die Teillösungen einen reibungsloses Ablauf nicht garantieren können. Insofern gilt: Wenn du einen ****** Prozess digitalisierst, hast du am Ende einen ****** digitalen Prozess. (Ist' n Zitat von irgendjemanden, ich glaube dem Chef von Telefonica.

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 25. Apr. 2018 20:39    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 cadplayer 10 Unities + Antwort hilfreich

"nur arbeitet die Console viel schnelle als "grafisch" Autocad"
So pauschal ist das absolut falsch (und acad.exe bedeutet nicht automatisch "grafisch").


"und ich kann parallel arbeiten,"
Das WÄRE ein Vorteil. ABER wenn du die Dateiliste linear abarbeitest und noch Pausen einlegt
dann mußt du zumindest diese Zeit auch über deinen angestrebten Weg warten.*


Die Verwendung der accoreconsole bringt in deinem Fall WAHRSCHEINLICH keinen Geschwindigkeitvorteil,*
im Gegensatz zur Console muß ja AutoCAD nicht für jede Datei neu gestartet werden.


Wobei ich zugeben muß: Ich habe nie versucht die acc zu starten und dann VON DORT heraus so einen Batchlauf
weiter führen zu lassen. Hmm, sollte eigentlich funktionieren, leider keine Zeit für so Spielchen.


"Mir geht es nicht um plotten sondern um Änderungen an Zeichnungen im Hintergrund."*

* Ob der Einsatz der ACC lohnt ist einfach extrem von dem Job abhängig.
Lassen wir die parallele Bearbeitung durch mehrere parallele accores außen vor (diesen Fall sprichst du hier mit dem Thread an):
Ich nehme einfach einen Ordner mit meinen typischen DWGs - 100Stück, der Job ist einfach die Erstellung eines Kreises und speichern.


ACC, [i][/i] bei diesen sehr kleinen Dateien:
70 Sekunden

AutoCAD, mit einem simplen Script abgearbeitet dauert es so gar nur
50 Sekunden

Ich brauche
20 Sekunden

Mit der ACC könnte ich dies zigfach unterbieten, aber dann nur durch parallele Tasks.
Einfach nacheinander abarbeiten wird dich nicht glücklich machen, nicht wenn es
in Acad als Lisp läuft, da muß etwas anders vorgehen wie zB. begrenzen auf 10 Tasks auf einmal oder dergleichen.


Wenn dir mein Hinweis auf RUN noch nicht genutzt hat:
Hast du es probiert und hilfts nicht oder Probleme bei der Umsetzung?
Beispiel bei dem m.M nach gewartet wird.

Code:
(foreach f '("d:/test1.dwg" "d:/test2.dwg" "d:/test3.dwg" "d:/test4.dwg")
(vl-catch-all-apply 'vlax-invoke-method
            (list
                Shell
                "RUN"
(strcat "accoreconsole.exe"
                  " /i \"" f "\""
                  " /s \"c:/Temp/ACC/mdread.scr\""
                  " /l de-DE"
)
        6
                :vlax-true
            )
)
  )

Wie gesagt: SO vermutlich nicht sinnvoll in deinem Fall.

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 26. Apr. 2018 16:00    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 nochmal!

Es ist lohnenwert sich mit der AcCoreConsole zu beschäftigen - Zeitersparnins garantiert!
Diese ist geradezu gedacht, um eine Vielzahl von Zeichnungen abzuarbeiten...

acad.exe startet für mich grafisch

Es ist nicht notwendig, die Console extra für jede dwg aufzurufen, dazu bietet die bat-Datei die Möglichkeit einmal alle Zeichnungen durchzugehen.

Hier ein kleine Vorführung!

------------------
Gruss Dirk
Blog

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 26. Apr. 2018 18:15    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 cadplayer 10 Unities + Antwort hilfreich

Was soll man da noch schreiben    (verzweifelt)


"Es ist lohnenwert sich mit der AcCoreConsole zu beschäftigen"
Es KANN, aber es muß sich nicht lohnen. Nicht für Jeden und nicht für jeden Job.
Natürlich wird es nur der Erfahren der es kennt und vergleichen kann.


" - Zeitersparnins garantiert!"
Absolut falsch, das ist extrem vom Job und den Anforderungen an den Vorgang abhängig, bis hin zu langsamer wie in AutoCAD(was oft der Fall ist)


"acad.exe startet für mich grafisch"
Unabhängig davon ob man Acad(.exe) nun am Bildschirm zeigt oder nicht würde ich der einfachen Gleichung zustimmen.
Aber zurück zum Thema hier, einen Job während Acad bereits offen ist:
Man muß die zu bearbeitenden Dateien in Acad nicht zwingend im GrafikEditor laden, also ist die Manipulation nicht-grafisch und damit gleich schnell wie in der ACC.*
Zudem habe ich oben auch ein einfaches Beispiel genannt in dem selbst nacheinander am Bildschirm grafisch geöffnete Dateien
schneller sein können wie die Umsetzung in der ACC, wenn auch nicht sooo viel.


"Es ist nicht notwendig, die Console extra für jede dwg aufzurufen, dazu bietet die bat-Datei die Möglichkeit einmal alle Zeichnungen durchzugehen."*
*kopfschüttel*

So, deine *bat Datei (die in dem Thema dieses Threads eigentlich außen vor ist) öffnet
dir also eine ACC Instanz, teilt dem Programm mit es soll Datei1 mit dem ScriptXY öffnen,
die Datei schließen und bitte offen halten und um dann Datei2 und ScriptXY in Empfang zu nehmen.
Wie von Zauberhand ist dann alles ganz schnell- LOGO, weil es ja keine grafische Oberfläche gibt!?


Dein BAT Datei feuert wie ein wilder Befehle in das Betriebssystem.
Öffne Datei1 mit dem Programm ACC und feuert weiter bis Datei100.

Das Betriebssystem darf nun (abhängig von den Einstellungen die man hat) bei der ACC glücklicherweise darüber entscheiden wie oft die ACC geöffnet wird.
Es öffnet mehrere Instanzen des Programmes, auch viele parallel.*

* Bedeutet aber auch:
X-Mal ein Programmstart und die Erstellung eines Prozesses kostet Zeit (wenngleich es recht schnell geht, aber es dauert).
Diese Zeit verliert die ACC Variante Gegenüber der Umsetzung innerhalb von Acad und frisst den Gewinn oft auf!

Gerne noch einmal zum Schluß: Es mag ganz oft in deinem Anwendungsfall stimmen (Performance),
jedoch gilt dies nicht pauschal und zudem ist anhand deiner Aussagen deutlich zu erkennen dass
du es derzeit wohl nicht beurteilen kannst.

Das einzige was grundsätzlich für die Konsole spricht ist:
- AutoCAD muß nicht geöffnet sein.
- Wenn Acad offen ist wird dieser Prozess bei zeitaufwändigeren Jobs nicht blockiert.

Die Liste die dagegen spricht ist schonmal deutlich länger - da muß man sehr genau wissen was die Konsole kann und was nicht
um Haken und Ösen aus dem Weg zu gehen. Mein Liebslingsbeispiel erwähne ich um korrigiert zu werden:
Ich würde die ACC nie zum plotten "fremder" Dateien nutzen, also ein Programm zur Verwendung bereitstellen bei
dem ich nicht in der Hand habe was in diesen Dateien enthalten ist. Denn ab da wirds kompliziert oder es kommt Mist dabei heraus.
Wenn zur korrekten Darstellung des Plans benötigte Programme/Funktionen in der ACC nicht geladen werden,
weil man vergessen hat diese zu laden oder diese überhaupt nicht geladen werden können in der ACC..
Sowas würde ich wohl niemandem Blind in die Hand legen, oder?
Ausgerechnet für das plotten ist die ACC aber toll, wenn das Wörtchen wenn nicht wär.

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 27. Apr. 2018 07:05    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

Sag doch einfach, du hast keine Verwendung der Accoreconsole und gut ist.
Wir haben da total verschiedene Ansichten.
Und zu behaupten, etwas ist total falsch, womit man gar nicht vertraut ist, finde ich falsch  
Es soll doch dem Leser selbst die Entscheidung geben, mach ich das so oder so!

Es schiesst keiner wild um sich auch nicht die Befehle in der Console, die frisst minimal Prozessorkraft, und wie gesagt die Console wird nur einmal gestartet, denn die BAT erlaubt alle gewählten Dateien in einem acc-start zu ermöglichen.

Hat man sich einmal Gedanken gemacht, welche Anweisungen im SCR erledigt werden sollen, ist das eine Investition in nächste Projekte. Dass man blind der acc vertrauen kann, sage ich nicht, denn auch die acc bietet Grenzen, bspw. keine Verwendung von vl-com-funktionen, also Qualitätskontrolle!
Auch läuft das Lesen von Civil3D Zeichnungen nicht korrekt.

Als letztes Argument und das ist äusserst positiv, stubides Abarbeiten, was man oft nur manuell erledigt ist hier wesentlich schneller möglich. Ein Beispiel in einem Projekt von mir, mussten in 500 Zeichnungen, der Rahmen mit Stempelfeld (Block mit Attributen) abgeändert und ausgeplottet werden. Mittels acc war das in 6 Stunden erledigt. Mit Autocad hätte man sicherlich eine Woche daran gesessen (bei manuellen Abarbeiten!), wenn nicht sogar mehr 

------------------
Gruss Dirk
Blog

[Diese Nachricht wurde von cadplayer am 27. Apr. 2018 editiert.]

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 27. Apr. 2018 10:19    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 cadplayer 10 Unities + Antwort hilfreich

Hallo,
also da ich täglich und das seit Jahren mit, ich nenne es immer "Stapelverarbeitung" zu tun habe, habe ich mich mal kurz hier durchgelesen. Und dein Argument:
Zitat:
Original erstellt von cadplayer:

Als letztes Argument und das ist äusserst positiv, stubides Abarbeiten, was man oft nur manuell erledigt ist hier wesentlich schneller möglich. Ein Beispiel in einem Projekt von mir, mussten in 500 Zeichnungen, der Rahmen mit Stempelfeld (Block mit Attributen) abgeändert und ausgeplottet werden. Mittels acc war das in 6 Stunden erledigt. Mit Autocad hätte man sicherlich eine Woche daran gesessen (bei manuellen Abarbeiten!), wenn nicht sogar mehr  

ist das was bei mir wirklich fast täglich passiet, auch in diesen Mengen. Daher bin ich immer auf der Suche soetwas zügig zu erledigen. Ohne es jetzt geteste zu haben und nur dein Video gesehen zu haben ist der Ablauf, Aufwand und Geschwindigkeit viel zu hoch. Natürlich weiß ich nicht wie umfangreich deine Dateien sind aber gefühlt würde ich behaupten bei 500 Zeichnungen max. 1 Std per Lisp zu benötigen. Um noch mehr Zeit einzusparen schubse ich wenn möglich XRefs die ich nicht benötige in einen leeren Ordner. Aber vielleicht stellst du ja mal einen Vergleich auf. Ein Lisp wie ich es verwende z.B.
defun
machwas
command qsave ; oder auch nicht
command close ;

im Gegensatz zu deinem Vorhaben. Das Ergebnis würde mich Interessieren.


         

------------------
Gruß Wolfgang

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 27. Apr. 2018 11: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

Hallo Wolfgang!

Nach deiner Berechnung würde das bedeuten eine Zeichnung von 500 wird in 7 Sekunden göffnet, editiert und gespeichert (entspricht
1 Stunde).
Das kann ich kaum glauben, wenn man in einem Firmennetzwerk sitzt, wo allein das Öffnen mindestens 14 Sekunden braucht.
Da müssen die Zeichnungen nicht einmal umfangreich sein (sprich 1 MB gross)

Kurze Beschreibung was die script-Anweisung erledigen soll.
Öffne Zeichnung - 10sec
1)- 5sec: Lese den Inhalt der Textobjekte vom Zeichnungsstempel aus (Zwischenlagerung in einer Variable)
2)- 5sec: Lösche alten Zeichnungsrahmen und Stempelfeld
3)- 10sec: Füge den neuen Rahmen (A1 format) mit Stempelfeld als Block ein und fülle gleichzeitig die Attrbute mit den zuvorausgelesenen Texten
4)- 13sec: Speichere die Zeichnung unter neuem Namen und plotte aus als PDF

Braucht also 43 sekunden pro Zeichnung also 6 stundnen


------------------
Gruss Dirk
Blog

[Diese Nachricht wurde von cadplayer am 27. Apr. 2018 editiert.]

[Diese Nachricht wurde von cadplayer am 27. Apr. 2018 editiert.]

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 28. Apr. 2018 09:48    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 cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,
wie schon von mir angedeutet
Zitat:
Natürlich weiß ich nicht wie umfangreich deine Dateien sind
meinte ich auch das ich nicht weiß wo diese gespeichert sind. Aber hier hast du dir doch selber die Antwort gegeben. Das öffnen und speichern ist das Manko. Und so von außen könnte man jetzt nur noch Hinweise geben um den rest zu beschleunigen aber man kennt halt nicht die Zeichnung. Da mir die Bearbeitung des Rest auch lang vorkommt wäre die frage ob der Rahmen den du tauschen möchtest ein Block ist den du gegen einen geänderten tauschen möchtest. Dann könntest du dir die arbeit von auslesen, löschen, einfügen, und Daten zurückschreiben sparen wenn du so etwas verwendest. 
(command "_insert" (strcat "AlterBlock" "=" "Neuerblock.dwg"))
aber das sind alles sachen die man nicht weiß. Aber es zeigt mir das ich das wie von dir aufgezeigte für mich wohl nicht verwenden werde.   

------------------
Gruß Wolfgang

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 29. Apr. 2018 17:19    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

tja mit net gehts schneller, jedoch nicht einfacher und das problem mit langsamen öffnen und speichern ist da nicht wegzubekommen. einen block mit attributen zu erzeugen und entsprechend zu ”bestücken” auch komplizierter. daher ist das immernoch besser als manuell zu öffnen und ein lisp drüber zu bügeln.

------------------
Gruss Dirk
Blog

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 29. Apr. 2018 18:50    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 cadplayer 10 Unities + Antwort hilfreich

"Sag doch einfach, du hast keine Verwendung der Accoreconsole und gut ist." "Wir haben da total verschiedene Ansichten."
Es geht hier doch nicht um Ansichten sondern um technische Gegebenheiten der Performance, da gibt es keine "Ansichten".

"Und zu behaupten, etwas ist total falsch, womit man gar nicht vertraut ist, finde ich falsch"
ööhm, ja.

"Es schiesst keiner wild um sich auch nicht die Befehle in der Console, die frisst minimal Prozessorkraft,
und wie gesagt die Console wird nur einmal gestartet, denn die BAT erlaubt alle gewählten Dateien in einem acc-start zu ermöglichen."

Wenn du von einer FOR - DO Anweisung sprichst wie im Video? dann wird nicht wild geschossen sondern brav gewartet, Ja.
Irgendwo da oben bin ich in der Tat falsch abgebogen, da kam ich irgendwo zwischen Prozessen und Kernen ins schleudern.
Dies ändert jedoch nicht viel in Bezug auf dein Beispiel.
So wird X mal nacheinander: Die ACC gestartet,script verarbeitet, ACC geschlossen. weiter mit der nächsten Datei.
Vielleicht schaust du einfach mal die laufenden Prozesse im Resourcenmonitor an, schaust dir dann
nochmal den Inhalt deiner BAT Datei an und siehst die Dinge vielleicht dann anders.

Die ACC ist bei der Öffnen/Speichern Performance nicht viel anders wie in Acad mit einem schlanken Profil/Arbeitsbereich.
Es wird keine Benutzeroberfläche geladen, einige Komponenten ebenfalls nicht und die Geometrie wird nicht am Bildschirm dargestellt.
Selten macht dies viel aus und im Gesamtablauf kann es auch langsamer sein. Wie ich vermutet ganz einfach eben weil das Programm jedes Mal
neu geöffnet wird und da das eigentliche DWG-Öffnen ja schneller gehen sollte wie in Acad müssen die Einbußen
wohl dadurch kommen und logisch klingt es auch noch.

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 29. Apr. 2018 23:11    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 cadplayer 10 Unities + Antwort hilfreich

Wenn das öffnen nur vom Netz so lange dauert:
Wenn es mit allen anderen Dateien/Programmen auch besteht kann man wohl nicht viel machen,
wenn es nur in C3D so ist: Dieses Performance Hotfix installiert?

Der Bearbeiten-Vorgang so wie beschrieben dürfte doch nur eine Sekunde dauern,
zumindest der einfachen Beschreibung nach.
Welcher Block, wo sind die Referenzen, dies ist doch bekannt. Würde mich interessieren wofür die Zeit drauf geht und mögliche Verbesserungsvorschläge würden dir zukünftig helfen.
Eine Beispiel DWG + NeuenBlock und Code parat?

Von Hand öffnen, diese Messlatte hängt weit unter jeder anderen Lösung   
Aber aus dem Grund habe ich wohl noch immer eine gähnend langsame "Suche alle Dateien aus OrdnerX, inkl. aller Unterordner.

Gähnend langsam in großen Strukturen, aber 1000x schneller wie von Hand, also: Bleibt.
Großer Projektordner 12min während ein DIR die Liste in 50sec. bringt.
Für gewöhnlich brauche ich aber keine Dateiliste für so einen großen Ordner.

Aber schon lustig: Dateiliste erstellen 12min, die 500dwg bearbeiten dauert nur halb so lange[edit: mit zwei parallelen Prozessen 3min].

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 09. Mai. 2018 16: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

Ok, den letzten Beitrag habe ich nicht gelesen -sorry!

Wir sind gänzlich unterschiedlicher Meinung. Wenn behauptet wird, das die Acad GUI genauso schnell arbeitet wie die Console, dann ist das aus meiner Erfahrung falsch. Denn ich habe festgestellt, lasse ich beispielsweise ein scr über Scriptpro laufen, wo jede Zeichnung grafisch geladen wird, geht das sehr viel langsamer als mit der Console. Das ist doch auch der HG, weshalb es die Console gibt oder meinst du es wäre ein überbleibsel aus vergangenen Acad-zeiten ? (Grafik kostet Prozessorkraft!)

Nenne mir doch einfach mal einen Grund, warum man die Console verwenden sollte... ich denke, ich kenne schon die Aw. oder liege ich vielleicht falsch, dann sorry nochmals!

------------------
Gruss Dirk
Blog

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