|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition, eine Pressemitteilung 
 | 
| Autor | Thema:  Autolisp Programmieren  (2735 /  mal gelesen) | 
 | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 23. Mai. 2017 08:19  <-- editieren / zitieren -->    Unities abgeben:            
  Hallo!  Ich brauche dringend Hilfe für eine Autolisp Programmierung. Ich habe kaum Kenntnisse und erst eine Vorlesung dazu gehabt. Jetzt soll ich eine Aufgabe bis morgen lösen und zwar soll ich eine Funktion angeben, bei der zwei vorhanden Punkte (getpoint) ausgewählt werden und den Abstand dieser mir in einem Anzeigefenster anzeigt (alert). Wie lauten dafür die Befehle? Brauche dringend Hilfe!
 Liebe Grüße  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | CADmium Moderator
 Maschinenbaukonstrukteur
 
         
 
  
 
      Beiträge: 13533Registriert: 30.11.2003
 . |    erstellt am: 23. Mai. 2017 08:51  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   | 
                        | Vino Mitglied
 
 
   
 
      Beiträge: 245Registriert: 24.05.2005
 Windows 10BricsCAD Pro V23
 |    erstellt am: 23. Mai. 2017 08:55  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   | 
                        | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 23. Mai. 2017 09:00  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 23. Mai. 2017 09:02  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | Vino Mitglied
 
 
   
 
      Beiträge: 245Registriert: 24.05.2005
 Windows 10BricsCAD Pro V23
 |    erstellt am: 23. Mai. 2017 09:05  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   
  Zum kennenlernen der einzelnen Funktionen einfach "autolisp [FUNKTIONSNAME]" in google eingeben und lesen... Wie weit bist du denn?Poste doch mal, was du schon gemacht hast, vielleicht bekommst du dann Tipps, wo was falsch ist.
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 23. Mai. 2017 09:11  <-- editieren / zitieren -->    Unities abgeben:            
  Naja wirklich viel hab ich noch nicht... (defun c: l_punkt()               (setq p1 (getpoint "Erster Punkt auswählen")(setq p2 (getpoint "Zweiter Punkt auswählen")
 )
 Wie gesagt ich hab kein Plan davon und kann mit den Befwhlwn noch nicht viel anfangen auch wenn ich weis welche ich anwenden müsste...   
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Vino Mitglied
 
 
   
 
      Beiträge: 245Registriert: 24.05.2005
 Windows 10BricsCAD Pro V23
 |    erstellt am: 23. Mai. 2017 09:32  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   
  ok... als erstes solltest du deine Klammern überprüfen.Es müssen immer gleich viele öffnende wie schließende Klammern vorhanden sein, sonst läuft gar nichts...
 Und dann hat dir CADmium ja sogar schon einen Tipp mit der Reihenfolge der benötigten Funktionen gegeben.Nur ging CADmium davon aus, dass das ganze ein Einzeiler wird. Zum Einstieg würde ich dir empfehlen, das ganze Schritt für Schritt anzugehen, und dann wäre die Reihenfolge genau umgekehrt zu CADmiums ersten Posting und in der Reihenfolge wie ich sie geschrieben habe.
 Nach SETQ und GETPOINT, die du schon hast, kommt also DISTANCE. Wenn du wie ich geschrieben habe "autolisp distance" googelst, kommst du recht schnell zu z.B. Dieser SeiteHier findest du raus, was du der Funktion mitgeben musst, und was dann zurück kommt.
 Und so hangelst du dich von einer Funktion zur nächsten. Noch ein Tipp:Mit (princ [VARIABLENNAME]) kannst du dir zwischendurch den Wert von Variablen an der Befehlszeile ausgeben lassen, um zu überprüfen, was das Programm bisher so macht.
 Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 23. Mai. 2017 09:35  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   | 
                        | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 23. Mai. 2017 10:49  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | Vino Mitglied
 
 
   
 
      Beiträge: 245Registriert: 24.05.2005
 Windows 10BricsCAD Pro V23
 |    erstellt am: 23. Mai. 2017 11:07  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   
  Kann es sein, dass du ein paar Vorlesungen ausgelassen hast? Zumindest hättest du wohl die Aufgabe besser abstimmen und dich etwas früher damit beschäftigen sollen. Prinzipiell hast du durch GETPOINT bereits Koordinaten und berechnest aus diesen mit DISTANCE den Abstand... Ich glaube nach deinem letzten Post aber fast, dass dein Dozent gerne die Berechnung ohne DISTANCE sehen will?Wenn das so ist, dann kannst du aus deiner Funktionsliste DISTANCE streichen und dafür kommen
 
 dazu und das Ganze wird etwas komplizierter. Stichwort: Pythargoras GrußStefan
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 23. Mai. 2017 11:29  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   
  ... nun, dann geht's in die Vektorrechnung. - Berechnen eines Vektors zwischen 2 Punkten - Berechnen der Länge eines Vektors Ich denke, das ist sogar noch Abi-Mathestoff. Hier in Lisp ist dann nur das Neue, dass man gezielt auf Listenelemente (ein Punkt ist eine Liste aus 3 Koordinaten) zugreift. car cadr caddr  Grüße!Holger
 PS: es wäre sicher ein Leichtes, die fertige Lösung zu posten. Da ein Forum allerdings zum Austausch zur Selbsthilfe gedacht ist, tue ich genau das nicht.
 
 ------------------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 | 
                        | spider_dd Mitglied
 
 
     
 
      Beiträge: 1163Registriert: 27.11.2003
 Win 10ProIntel(R) Core(TM) i7-7700
 NVIDIA Quadro P1000
 ACAD, Civil-3D 2018
 |    erstellt am: 23. Mai. 2017 13:21  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   | 
                        | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 23. Mai. 2017 17:57  <-- editieren / zitieren -->    Unities abgeben:            
  Naja ich glaube das bringt mir hier alles nichts... ich hatte bisher 2 Vorlesungen dazu!!   Ich soll weder Distance verwenden noch car oder cadr... keine Ahnung was der will. Die Aufgabe habe ich gestern bekommen also konnte ich mich natürlich nicht drauf vorbereiten, unser Prof ist auch nicht wirklich der beste. Wenn man das gut kann hat man auch leicht reden    Trotzdem vielen Dank für die Mühe   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | jupa Ehrenmitglied V.I.P. h.c.
 Ruheständler
 
       
 
      Beiträge: 6052Registriert: 16.09.2004
 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013. |    erstellt am: 23. Mai. 2017 19:36  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   
 Zitat:Original erstellt von Lolali:
 
 Ich soll weder Distance verwenden noch car oder cadr...
 
 Das hat er also ausdrücklich ausgeschlossen? Dann laß uns doch mal die komplette Aufgabenstellung wissen, die Du / wie Du sie bekommen hast.
 Jürgen ------------------Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 23. Mai. 2017 20:22  <-- editieren / zitieren -->    Unities abgeben:            
  Ja... ich wollte es damit mal probieren und mir wurde gesagt ich soll es ohne machen. Also nur mit getpoint, den Koordinaten, und einer Berechnung. Habe ich versucht aber es funktioniert nicht. Die Aufgabe habe ich bereits oben geschrieben, das ist die komplette^^  Ich hänge mal ein Bild davon an was ich habe...  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 23. Mai. 2017 22:41  <-- editieren / zitieren -->    Unities abgeben:           Nur für Lolali   
  Erstmal: das sieht gut aus! Das (alert ... ) verlangt nach einem String. (alert (rtos l 2 2))  Ansonsten ist aus meiner Sicht nur noch ein Klammerfehler drinn. Das sllltest du noch mal genau prüfen. (Wenn ich nicht am Handy tippen würde, hätte ich das schnell korrigiert). Nur wegen der Vollständigkeit und Fehlervermeidung von Begin an: In der Funktion selbst sollten die Variablen in ihrer Gültigkeit noch eingeschränkt werden, also als lokale, nur für diese Funktion gültig deklariert sein.(defun NAME (PARAMETER / LOKALEVARIABLEN)
 ...)
 (defun c:Aufgabe30 ( / p1 p2 x1 y1 ...)
 ...
 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 | 
                       
| 
  
 |  | 
 | Lolali Mitglied
 Verfahrenstechnik Studium
 
 
      Beiträge: 9Registriert: 22.05.2017
 |    erstellt am: 24. Mai. 2017 21:21  <-- editieren / zitieren -->    Unities abgeben:            |