| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| AERZEN konsolidiert weltweite Autodesk Softwarelizenzen mit CIDEON (Autodesk, AutoCAD, Inventor), ein Anwenderbericht
|
Autor
|
Thema: ProScript mit ACAD2016 / Lisp auf viele DWGs anwenden (1096 / mal gelesen)
|
CAD-Rudi82 Mitglied CAD Admin
Beiträge: 2 Registriert: 18.01.2017 AutoCAD 2016 Design Ultimate Suite, Windwos 7 64-bit
|
erstellt am: 18. Jan. 2017 10:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen! Leider funktionierte mein alter Login nicht mehr daher darf ich mich mit neuem Nick melden. So nun zu meinem Problem wo mir die Foren und Google Suche nicht weiterhelfen konnte. Wir müssen ca. 2.000 (!) DWGs bereinigen. -> XRefs, lösen fehlende Bildreferenzen löschen, etc. Dazu habe ich eine Lisp Routine mit Foren Hilfe gebastelt, wie kann ich das nun auf diese DWGs anwenden? Ich möchte ungern 2.000 Dokumente öffnen, Programm ausführen, DWG speichern fertig. Gerade weil das ACAD2016 bei uns immer so lange Ladepausen hat.... Nun hatte ich vor langer Zeit gute Erfahrungen mit ProScript nur funktioniert es leider unter AutoCAD 2016 nicht es stoppt die Installation infolge missing AutoCAD 2004 or later Wie macht Ihr das? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 18. Jan. 2017 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Rudi82
Mit dem Account: Wende dich an den Admin? Wegen Acad: Da gibt es viele Möglichkeiten und sehr viele FertigLösungen. Im Grunde ist es egal wo man [Dateiwahl][Schleife für alle Dateien] umsetzt. - "Dos" Batchdatei - Lisp oder andere Sprachen - Schleife über alle [Dateiauswahl] - auch aus anderen Anwendungen heraus, wie Excel etc. Die Suchbegriffe AutoCAD BATCH würde vermutlich ausreichen für passende Treffer. ScriptPro wurde mal von netten Leuten nachgebaut, jedoch nicht mehr so klasse wie die UrForm(meine Meinung) https://knowledge.autodesk.com/support/ autocad/downloads/caas/downloads/content/autodesk-customization-conversion-tools.html#mtc-german Hier im Forum: https://www.google.de/?gws_rd=ssl#q=site:cad.de+Forum54+Batchlauf === Es geht auch mit Boardmitteln und wenn es nicht auf Performance ankommt, was bei einer einmaligen Sache wohl der Fall sein dürfte. Weil mir die Sache als Würgaround für den gemeinen User so gefällt, Boardmittel crazy: Publizieren ist ein Batchlauf für den Plotvorgang, es öffnet die Datei wie der User es auch machen würde, (publizieren im Vordergrund). Man muß nun nur dafür sorgen das die Routine/Script/Lisp automatisch ausgeführt wird wenn man eine DWG öffnet. - Die LSP so gestalten das am Ende das Programm selbst aufgerufen wird (c:MeinProgramm) - Die LSP in die Startgruppe(APPLOAD) einfügen - Publizieren.. (hier greift man einfach auf eine Seiteneinrichtung zurück die nur praktisch "nichts" druckt, PDF natürlich) - LSP wieder aus der Startgruppe nehmen ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 18. Jan. 2017 11:32 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Rudi82
zuerst nur als PM, aber nun doch als Ergänzung hier: Es gibt viele Programme(Google) mit verschiedenen Ansätzen, einige davon haben aber Einschränkungen, dafür haben diese einen Geschwindigkeitsvorteil. Ohne deine Routine zu kennen ist nicht zu sagen in welchem Programm es problemlos laufen kann, nur anders herum geht das: Lösungen in denen die Datei "sichtbar in AutoCAD geöffnet wird" können mit ziemlicher Sicherheit alles problemlos abarbeiten. Die wenigsten (kostenlosen) Lösungen bieten ein ordentliches Errorhandling, dies war/ist einer der größten Pluspunkte bei ScriptPro. Bei den weniger professionellen Lösungen gibt es auch immer wieder "versteckte Bugs", welche nicht direkt offensichtlich sind. Try&Error ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Rudi82 Mitglied CAD Admin
Beiträge: 2 Registriert: 18.01.2017 AutoCAD 2016 Design Ultimate Suite, Windwos 7 64-bit
|
erstellt am: 18. Jan. 2017 14:51 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm, danke für Deine raschen Rückmeldungen! Ich sehe zwar, dass ich eine PM habe kann diese aber nicht öffen, irgendwie crazy habe es aber mit 3 Browsern getestet, egal danke dass dD diese auch gepostet hast. Ich habe nun das ScriptPro 2.0 geladen. [ScriptPro2.0] Bei meinem ersten Anlauf habe ich das irgendwie übersehen und mich für die alte *.EXE entschieden welche ja nicht mehr funktioniert. Für meine Zwecke nun ganz brauchbar, für jene die es interessiert anbei mein Aufräumer.lsp welches beim Starten automatisch geladen wird. Mittels Skirpt starte ich den Befehl mache ein QSave und fertig ist die saubere DWG. Nun wurden meine 2.000 Zeichnungen leider schon mit e.Transmit erstellt, hast Du eine Idee wie ich das Ganze im Zip hinbekomme. Workaround ist natürlich alle händisch entpacken und später wieder packen was Besseres fällt mir nicht ein. Den Hinweis BTACH und ein paar gelesene Beiträge u.a. [ganze Datenbäume stapelplotten] haben mir nicht weitergeholfen. Ich habe es nicht verstanden Kann man beim Aufruf einer *.dwg Datei Skript bzw. Befehlsaufrufe mitsenden?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 18. Jan. 2017 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Rudi82
Zitat: Original erstellt von CAD-Rudi82: Nun wurden meine 2.000 Zeichnungen leider schon mit e.Transmit erstellt, hast Du eine Idee wie ich das Ganze im Zip hinbekomme. Workaround ist natürlich alle händisch entpacken und später wieder packen was Besseres fällt mir nicht ein. Ich verstehe zwar nicht was oder warum gemacht wurde, aber dein Workaround ist sicher zugleich die LösungDen Hinweis BTACH und ein paar gelesene Beiträge u.a. [ganze Datenbäume stapelplotten] haben mir nicht weitergeholfen. Ich habe es nicht verstanden Musst du ja nicht unbedingt, hast ja eine andere Lösung(ScriptPro), ansonsten gilt: Mehr Zeit investieren und "lernen", ausgerechnet der von dir genannte Thread ist aber nicht als Informationsquelle geeignet für deine Aufgabe. Beispiel: http://ww3.cad.de/foren/ubb/Forum54/HTML/015582.shtml Kann man beim Aufruf einer *.dwg Datei Skript bzw. Befehlsaufrufe mitsenden? Auch hier: Mehr Zeit investieren, zum Beispiel beim Lesen der Antworten von bereitwilligen Helfern ;) Oben habe ich bereits eine Möglichkeit genannt (Lisp-Datei in der Appload-Startgruppe), eine der weitere Möglichkeiten wäre der temporäre Eintrag in die acaddoc.lsp oder in einer der MNL Dateien von Anpassungsdateien des aktuellen Profiles. Wenn man eine Batch-Lösung hat bei der jede Datei in einer extra AutoCAD-Sitzung geöffnet wird, so kann man ggf. den Script-Parameter für den Startvorgang von AutoCAD nutzen [Klick]
PS: CAD.de hat aktuell Probleme, der Zugriff auf die PM könnte davon betroffen sein, liegt also vermutlich nicht an deinem Rechner - versuche es später erneut.
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FeR Mitglied
Beiträge: 150 Registriert: 27.10.2003 Win7 Llatest SP AutoCAD 2016 Design Ultimate Suite
|
erstellt am: 19. Jan. 2017 07:45 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Rudi82
Hallo cadffm, danke für den AutoCAD Hilfe Link, der hat meinen Knoten gelöst. Hier noch mal für Mitleser meine Lösung wenn man auf BATCH gehen möchte anstatt von ScriptPro 2.0 (welches viel komfortabler ist wegen Error Handling) Mein Lisp zum Aufräumen wird im Hintergrund automatisch (büroweit) geladen, jedoch nicht ausgeführt, dazu benötigt man den Kommandozeilenaufruf im AutoCAD. Code: "C:\Program Files\Autodesk\AutoCAD 2016\acad.exe" /nologo "d:\temp\TestDWG1.dwg" /b "d:\temp\cleanDWG_BATCH.scr"
Im Skript "cleanDWG_BATCH.scr" wird nur der Aufräumbefehl, QSave und Beenden ausgeführt.
Code: cleandwg _qsave _quit
Meine Fragen sind somit alle beantwortet, Danke! Klar gibt es zum Glück viele Wege zum Ziel, mir war wichtig nicht zu sehr die Standartinstallation der User zu verändern. PS.: Das mit den PMs geht wieder und mein alter Account auch
------------------ mfg FeR "gefundene Rechtschreibfehler dürfen behalten werden." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 19. Jan. 2017 07:51 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Rudi82
Wenn das automatischen laden mit dem Dokument(DWG/DXF) bereits eingerichtet ist, dann hätte auch einfach in die letzte Zeile der Lispdatei der Aufruf enthalten sein können. ... .. );_defun_end
(c:cleandwg) (2003er Account, sowas sollte man nicht zu einfach aufgeben ) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cockpit Mitglied Bauing.
Beiträge: 280 Registriert: 27.06.2008 Dell Precision T1700 Intel Core i7-4790 Core 3.60 GHz / 8 GB RAM Grafikkarte: AMD FirePro W4100 (FireGl V) Win 10 64 bit Acad 2018 / Soficad 2018 20.1
|
erstellt am: 19. Jan. 2017 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Rudi82
Zitat: Original erstellt von CAD-Rudi82:
Für meine Zwecke nun ganz brauchbar, für jene die es interessiert anbei mein Aufräumer.lsp welches beim Starten automatisch geladen wird.
Hallo CAD-Rudi82, ich wollte dein lisp mal ausprobieren und habe es gespeichert, aber es ist leer. (0 byte) Oder mache ich was falsch? LG pit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 19. Jan. 2017 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Rudi82
|