| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Volumenkörper automatisch schneiden (552 mal gelesen)
|
vortex Mitglied

 Beiträge: 12 Registriert: 26.01.2006
|
erstellt am: 26. Jan. 2006 18:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Ich möchte gerne den Befehel _section automatisch ablaufen lassen. Dabei möchte ich im lisp-file die Koordinaten der Schnittebene (p1,p2.p3) und den Volumenkörper einmal fix vorgeben. _section sollte z.B.: 10 mal durchgeführt werden und in jedem Schritt sollten die Koordinaten (p1,p2,p3) um z.B. 5 erhöht werden. Bin als LISP-Laie da leider mehr als ratlos. Bitte um Hilfe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
   
 Beiträge: 1057 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 26. Jan. 2006 23:31 <-- editieren / zitieren --> Unities abgeben:          Nur für vortex
Zitat: Original erstellt von vortex: Hallo!Ich möchte gerne den Befehel _section automatisch ablaufen lassen. Dabei möchte ich im lisp-file die Koordinaten der Schnittebene (p1,p2.p3) und den Volumenkörper einmal fix vorgeben. _section sollte z.B.: 10 mal durchgeführt werden und in jedem Schritt sollten die Koordinaten (p1,p2,p3) um z.B. 5 erhöht werden. Bin als LISP-Laie da leider mehr als ratlos. Bitte um Hilfe!
Was bedeutet, dass die Koordinaten "um 5 erhöht" werden sollen? Da es hier um die Angabe einer Schnittebene geht, meinst Du sicher, dass die Schnittebene nur in einer Richtung (z.B. X-Richtung) immer um 5 Einheiten weiter versetzt werden soll. Die Koordinaten '(x1 y1 z1) des Punkts p1 der Schnittebene ändern sich also zu (list (+ x1 5) y1 z1) und analog die Koordinaten der anderen Punkte auch. Da sich nach jedem Schnitt auch das zu schneidende Objekt ändert, musst Du Dir überlegen, wie Du in jedem Arbeitsschritt das richtige erkennst (Tipp: ENTLAST und ENTNEXT können Dir weiter helfen). Mit diesen Tipps solltest Du auch als LISP-Laie klar kommen. Falls nicht: solche Programmlösungen erstelle ich prinzipiell nicht kostenlos, aber wenn sich sonst niemand findet, der Dir das macht, dann schreibe ich Dir das von Dir gewünschte Programm gegen eine Spendenquittung von 50 Euro an Amnesty International. Tom Berger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4201 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 27. Jan. 2006 06:48 <-- editieren / zitieren --> Unities abgeben:          Nur für vortex
|
vortex Mitglied

 Beiträge: 12 Registriert: 26.01.2006
|
erstellt am: 27. Jan. 2006 08:55 <-- editieren / zitieren --> Unities abgeben:         
Ich habe nun folgendes lisp file erstellt, was sogar funktioniert: (defun C:quer() (setq P1 (list 100 100 100)) (setq P2 (list 100 100 -431.22)) (setq P3 (list 100 -635.26 100)) (setq P4 (list 150 100 100)) (setq P5 (list 150 100 -431.22)) (setq P6 (list 150 -635.26 100)) (setq P7 (list 200 100 100)) (setq P8 (list 200 100 -431.22)) (setq P9 (list 200 -635.26 100)) (setq Auswahl(entsel)) (command "_section" Auswahl "" P1 P2 P3 ) (command "_section" Auswahl "" P4 P5 P6 ) (command "_section" Auswahl "" P7 P8 P9 ) (princ) ) Wie kann ich das jetzt in einer Schleife programmieren? Vielen Dank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13533 Registriert: 30.11.2003 .
|
erstellt am: 27. Jan. 2006 08:59 <-- editieren / zitieren --> Unities abgeben:          Nur für vortex
Zitat: Original erstellt von vortex:
Wie kann ich das jetzt in einer Schleife programmieren?
guckst du hier ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vortex Mitglied

 Beiträge: 12 Registriert: 26.01.2006
|
erstellt am: 27. Jan. 2006 09:46 <-- editieren / zitieren --> Unities abgeben:         
Danke! Aber warum gibt er mir jetzt 5mal die gleiche Schnittebene aus und erhöht delta nicht um 50 bei jedem Durchlauf? (defun C:quer() (setq n 5) (setq delta 50) (setq Auswahl(entsel)) (repeat n (command "_section" Auswahl "" (list (+ 100 delta) 100 100) (list (+ 100 delta) 100 -431.22) (list (+ 100 delta) -635.26 100)) setq delta (+ delta 50) ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
vortex Mitglied

 Beiträge: 12 Registriert: 26.01.2006
|
erstellt am: 27. Jan. 2006 10:32 <-- editieren / zitieren --> Unities abgeben:         
|