| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | WS LANDCAD-Anwendertreffen 2025, eine Veranstaltung am 17.09.2025
|
Autor
|
Thema: Flatten-Befehl automatisieren (205 / mal gelesen)
|
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 565 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 19. Feb. 2025 11:39 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich würde gerne den Flatten-Befehl aus den Expresstools automatisieren. Ich habe mir eine LISP-Datei zusammengebastelt die den Befehl startet aber leider wird die Objektauswahl und eine Bestätigung für das Löschen von verdeckten Kanten nicht automatisch gesetzt. Hat jemand von euch hierfür einen Ansatz oder eine Korrektur?
Code: (vl-load-com)(defun c:flattenall () ;; Prüfen, ob ExpressTools geladen sind (if (not (findfile "acetutil.fas")) (progn (princ "\nExpressTools sind nicht installiert oder nicht geladen. Bitte manuell aktivieren.") (princ) (exit) ) ) ;; Alle sichtbaren Objekte im Modellbereich auswählen (setq g (ssget "_X" '((410 . "Model")))) (if g (progn (setq oldcmdecho (getvar "CMDECHO")) ;; CMDECHO-Wert speichern (setvar "CMDECHO" 0) ;; Unterdrückt Befehlsausgabe ((c:FLATTEN) g "" "N") ;; FLATTEN-Befehl mit "N" für keine Linienverschmelzung (setvar "CMDECHO" oldcmdecho) ;; Ursprünglichen CMDECHO-Wert wiederherstellen (princ "\nAlle sichtbaren Objekte wurden erfolgreich abgeflacht.") ) (princ "\nKeine Objekte im Modellbereich gefunden.") ) (princ) )
PS: ich habe schon zahlreiche im Internet verfügbare FLATTEN-ALTERNATIVEN getestet - keiner funktioniert so wie ich es benötige (3D-Solids und Splines werden von der Expresstools-Variante perfekt bearbeitet, das schafft sonst kein anderer Befehl). Vielen Dank im voraus!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22452 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 19. Feb. 2025 12:27 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
Hi, schau dir doch mal die c:Flatten Routine an, Befehl: (startapp "notepad.exe" (findfile "flatten.lsp")) Dann könnte man jetzt die Punkte einzeln angeben, oder sich gleich eine eigene Lispfunktion flatten basteln, damit geht der Aufruf dann recht hübsch. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 565 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 19. Feb. 2025 12:47 <-- editieren / zitieren --> Unities abgeben:         
Perfekter Tipp!! Code: (defun c:flattenauto ( / ss ) (acet-error-init (list nil 1)) (princ "\nAlle sichtbaren Objekte im Modellbereich werden abgeflacht...") ;; Alle sichtbaren Objekte im Modellbereich automatisch auswählen (setq ss (ssget "_X" '((410 . "Model")))) (if ss (progn (princ "\nRemoving hidden lines: No") ;; Automatische Bestätigung (acet-flatn ss nil) ;; Immer "No" (keine versteckten Linien entfernen) (princ "\nAlle sichtbaren Objekte wurden erfolgreich abgeflacht.") ) (princ "\nKeine Objekte im Modellbereich gefunden.") ) (acet-error-restore) (princ) ) (acet-autoload2 '("FLATTENSUP.LSP" (acet-flatn ss hide))) (princ)
Die Expresstools werden natürlich immernoch benötigt, da auf einige Unterfunktionen verwiesen wird. Die Ausführung und Automatisierung funktioniert so aber!! Dankeschön!!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22452 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 19. Feb. 2025 13:15 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
Anm: >>(princ "\nAlle sichtbaren Objekte im Modellbereich werden abgeflacht..." >>;; Alle sichtbaren Objekte im Modellbereich automatisch auswählen >>(setq ss (ssget "_X" '((410 . "Model")))) (ssget "_X" wählt alle Objekte, ob sichtbar oder nicht, Objekte auf ausgeschalteten und gar auf gefrorenen Layern und gesperrte Layer sind auch uninteressant für die Wahl. acet-flatn bearbeitet auch alle Objekte im Auswahlsatz, also auch gesperrte,unsichtbare,aisgeschaltete und gefrorene..
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 565 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 19. Feb. 2025 13:16 <-- editieren / zitieren --> Unities abgeben:         
verdammt...der ansatz ist gut...aber jetzt hab ich ein neues problem. In einer Zeichnung in der die expresstools bzw. flatten schon mal geladen waren bzw. ausgeführt wurden, läuft der befehl. in neu geöffneten zeichnungen bekomme ich eine "autoload2" fehlermeldung...da er scheinbar die unterbefehle nicht selbständig laden kann... hat da noch jemand eine idee? ich bin mit meinen lisp-fähigkeiten hier leider am ende und hoffe auf unterstützung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 565 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 19. Feb. 2025 14:39 <-- editieren / zitieren --> Unities abgeben:         
weiß jemand wie ich es schaffen kann den flatten-befehl mit bspw. C:flatten zu starten und dann automatisch wieder zu beenden (sobald die objektauswahl ansteht) - oder den befehl irgendwie automatisiert zu laden!? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22452 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 19. Feb. 2025 15:21 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
LispdefinierteBefehle kann man nicht mit command steuern, dein (oder zumindest mein) Code sollte funktionieren. Also suche&löse zunächst dein autoload Problem, dann sollte alles passen. Wenn dir wieder einfällt was das denn für eine Fehlermeldung genau ist, dann kann man ggf. helfen. Bevor du mit der Suche anfängst, versuche den Test einmal mit meinem oben angehängten Vorschlag. Selbes Problem? Wie lautet die Meldung konkret? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 565 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 20. Feb. 2025 06:50 <-- editieren / zitieren --> Unities abgeben:         
Der Autoload-Fehler sieht so aus... Code: Fehler: no function definition: ACET-AUTOLOAD2
...wenn ich "Flatten" vorab schonmal manuell gestartet habe, kommt der Fehler nicht und meine LISP läuft ohne Probleme durch. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22452 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 20. Feb. 2025 10:17 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
Auch wenn ich das nicht im Detail vor Augen habe, es wird dennoch passen: Dann sind deine Expresstools nicht sauber installierrt, was entweder ein Problem bei der Installation war, oder du hast manuell alten Kram zusammenkopiert. Öffne dein AutoCAD neu, schau in APPLOAD geladene Anwendungen ob die AcetTest.fas geladen ist. Falls nicht, versuche sie zu laden (aus dem Programm Autodesk AutoCADxxxx Express - Ordner). Erfolgreich? dann lade meine Routine und versuche dein Glück erneut. Neben AcetTest gehören noch andere Dateien autoamtisch geladen, ich habe diese nur ale Beispiel genommen, weil darin die Acet-AutoLoad2 Funktioniert definiert sein sollte. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 565 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 20. Feb. 2025 13:42 <-- editieren / zitieren --> Unities abgeben:         
Die Express-Tools sind sauber installiert und werden auch geladen und gestartet, alles kein problem. Sorry wenn ich das jetzt nachfolgend sehr laienhaft beschreibe... Wenn ich "Flatten" normal ausführe, steht in der Befehlszeile für 1-2 sek "initialize" - hier werden IMHO  alle nötigen Module nachgeladen die benötigt werden und an diese Routine komme ich aus dem lisp heraus nicht ran. Ich habe meine Lisp jetzt über ein Buttonmakro gestartet und hier vorab den Flatten-Befehl inkl. Abbruch über "^c^c" an den Anfang gesetzt...das funktioniert! Bin am Ziel, passt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22452 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 20. Feb. 2025 14:19 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
Hi, ich weiß nicht was daran so schwierig ist den Hinweisen zu folgen (und Feedback zu geben), aber nun gut. Ich habe mir die Sache noch einmal angesehen - der Knackpunkt ist a) Das automatische Laden der genannten Datei b) ABER DAS IST STANDARD in neueren Versionen! Deine Express sind also korrekt installiert, AutoDESK hat in den Jahren die Installation geändert (wußte ich bis eben nicht). also hat sich mein Engagement schon wieder gelohnt Die eigentliche Lösung ist daher nicht die Express-Installation zu korrigieren, sondern das Laden der benötigten Funktion sicherzustellen. FLATTEN über ein Makro aufrufen und abbrechen führt zwar zum Erfolg, aber eine saubere Lösung sieht dann doch so aus: .. .. .. (load (findfile "ACETTEST.fas")) (acet-autoload2 '("FLATTENSUP.LSP" (acet-flatn ss hide))) (princ "\nHow to use - Command: (flatten (ssget \"_:l\" '((0 . \"~VIEWPORT\"))) \"Yes\")") (princ) oder man hätte einfach die FLATTENSUP über load geladen, dann ist die Funktion acet-flatn genauso geladen, aber ich wollte so wenig wie möglich von der normalen Struktur/Syntax in den Express lsp Tools abweichen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22452 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 20. Feb. 2025 14:22 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
wobei (load (findfile "ACETTEST.fas")) ja quatsch ist, das würde man nur nehmen in Verbindung mit IFWENN gefunden, dann laden Ansonsten sollte (load "ACETTEST.fas") identisch funktionieren wie (load (findfile "ACETTEST.fas")) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 565 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 20. Feb. 2025 14:29 <-- editieren / zitieren --> Unities abgeben:         
ich bin deinen Hinweisen ja gefolgt... es reicht aber nicht die Flattensup zu laden, da gehören noch mind. 3 andere lsp-Dateien mit dazu die dann wiederrum auf Unterfunktionen zugreifen und diese laden wollen/müssen - deshalb läuft ja vermutlich die "Initialize"-Funktion... Ich habs nicht hinbekommen...zumindest nicht sauber (also so wie du es mit deinem Programm(ier)wissen wahrscheinlich hinbekommen hättest) - ich wollte aber auch nicht nach support betteln - von wegen: kann mir das mal eben einer schnell fertigmachen - ich denke ich habe für mich die beste Lösung gefunden. Ich kann jetzt mit einem Klick einen Windows-Ordner mit ~200 Lieferanten-DWGS auswählen und die Zeichnungen werden bereinigt (flatten, pedit, layer auf 0, gebügelt, Linien verbunden, usw...) und direkt wieder unter gleichem Namen in den Ordner "überschrieben" - 1x klicken - 1x Kaffee holen - 200 Zeichnungen fertig - 1000 Minuten Arbeit gespart... ...ich geh mir jetzt definitiv mal einen Kaffee holen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22452 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 20. Feb. 2025 14:56 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
>>"ich bin deinen Hinweisen ja gefolgt..." Sorry, ich konnte nichts darüber lesen das die acettest.fas nach dem Programmstart nicht geladen ist (oder halt doch, was hier aber nicht zutrifft), somit konnte ich nicht wissen das du der Sache gefolgt bist und was das Ergebnis war. Ich hatte das dann selbst in einer neueren ACAD Version getestet (früher wurde diese Datei bereits autoamtisch geladen)ahh, die anderen Dateien rufen auch nach acet-autoload2, ja dann halt nicht. Das Gebastel hatte ich auch nicht mehr getestet, weil unnötig mit der sauberen Lösung die Datei zur Definition von acet-autoload2 und anderen zu laden. Zitat: Original erstellt von cadffm: (load (findfile "ACETTEST.fas")) (acet-autoload2 '("FLATTENSUP.LSP" (acet-flatn ss hide))) (princ "\nHow to use - Command: (flatten (ssget \"_:l\" '((0 . \"~VIEWPORT\"))) \"Yes\")") (princ)
Ich habe wieder etwas gelernt, das muß reichen für heute
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |