Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Probleme mit (polar ... )

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:  Probleme mit (polar ... ) (1089 mal gelesen)
Oberpeilsteiner Florian
Mitglied
Student - Maschinenbau


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

Beiträge: 10
Registriert: 22.06.2011

Intel Core 2 @ 2.1 GHz
2 GB RAM
NVIDIA GeForce 8400M G
AutoCAD 2010 Deutsch Version 3

erstellt am: 22. Jun. 2011 13:46    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,
das ist mein erster Beitrag auf CAD.DE - ich hoffe ich mache keine (all zu großen) Fehler bei der Fragestellung:

In meinem LISP-Programm wird eine Liste von Anweisungen in die Gruppencodes 10 und 42 einer Polylinie umgewandelt. Für die Ermittlung des Mittelpunktes eines Kreisbogens verwende ich den Anfangs- und Endpunkt der letzten Linie und den Endpunkt des Kreisbogens. In den meisten Fällen funktioniert der folgende Code.

Code:

(setq line   (list "LINIE"  800    0 0 0  0)) ;aktueller Punkt
(setq lastline   (list "BOGEN"  800 -800 0 0  0)) ;letzter Punkt
(setq lastlastline (list "PLBLOCK"  0 -800 0 0  27)) ;vorletzter Punkt

(setq ze (inters
  (list
    (nth 1 lastline)
    (nth 2 lastline)
    )
  (polar
    (list (nth 1 lastline) (nth 2 lastline))
    (+ (/ pi 2) (angle (list (nth 1 lastlastline) (nth 2 lastlastline)) (list (nth 1 lastline) (nth 2 lastline))))
    (distance (list (nth 1 line) (nth 2 line)) (list  (nth 1 lastline) (nth 2 lastline)))
    )
  (polar
    (list (nth 1 lastline) (nth 2 lastline))
    (angle (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line)))
    (/ (distance (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line))) 2)
    )
  (polar
    (polar
      (list (nth 1 lastline) (nth 2 lastline))
      (angle (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line)))
      (/ (distance (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line))) 2)
      )
    (+
      (/ pi 2)
      (angle (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line)))
      )
    (distance (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line)))
    )
  nil
  ))



Obwohl ich beim Prüfen des letzten Punktes der "inters" Funtkion nur eine "Leere Eingabe" erhalte, wird das Ergebnis richtig errechnet.
Verwende ich jedoch diese Punkte:
Code:

(setq line   (list "LINIE"  -400    0 0 0  0))
(setq lastline   (list "BOGEN"  400    0 0 0 180))
(setq lastlastline (list "PLBLOCK" 400    0 0 0  27))

Ist auch das Ergebnis "nil"

Hatte irgend wer bereits dieses Problem oder weiß einen Rat?
Danke im voraus

Florian

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: 22. Jun. 2011 15:08    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 Oberpeilsteiner Florian 10 Unities + Antwort hilfreich

Servus,

ich habe mir jetzt nicht alles angesehen sondern nur das INTERS samt Ergebnis,
jetzt muß ich erst mal sagen das ich INTERS keinen Fehler nachsagen kann, zumindest
wenn ich berücksichtige mit wieviel Nachkommastellen gerechnet werden kann. Zudem
konnte ich mit deinem folgenden Satz nichts anfangen kann:

"Obwohl ich beim Prüfen des letzten Punktes der "inters" Funtkion nur eine "Leere Eingabe" erhalte, wird das Ergebnis richtig errechnet."

Was bekommt du wo 

------------------
CAD.de System-Angaben  -  CAD on demand  -  User:FAQ(Acad)

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

Oberpeilsteiner Florian
Mitglied
Student - Maschinenbau


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

Beiträge: 10
Registriert: 22.06.2011

Intel Core 2 @ 2.1 GHz
2 GB RAM
NVIDIA GeForce 8400M G
AutoCAD 2010 Deutsch Version 3

erstellt am: 22. Jun. 2011 15:22    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 habe vor:
Code:

(polar
    (polar
      (list (nth 1 lastline) (nth 2 lastline))
      (angle (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line)))
      (/ (distance (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line))) 2)
      )
    (+
      (/ pi 2)
      (angle (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line)))
      )
    (distance (list (nth 1 lastline) (nth 2 lastline)) (list (nth 1 line) (nth 2 line)))
    )

einen Haltepunkt gesetzt,
diesen Teil dann markiert und wollte dann mit rechter Maustaste Prüfen das Ergebnis ansehen (bzw. ob eine Fehlermeldung erscheint). Aber eigenartigerweise bekomme ich weder ein Ergebnis noch eine Fehlermeldung, sondern einfach nur den Dialog mit einem leeren Feld.

Da müsste doch meiner Meinung nach das Ergebnis stehen. Obwohl hier für keine meiner Werte ein Ergebnis angezeigt wird, funktioniert es für die ersten Werte (von oben), verwende ich die zweiten, bekomme erzeugt dieser Teil nil

mfg Florian

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: 22. Jun. 2011 16: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 Oberpeilsteiner Florian 10 Unities + Antwort hilfreich

Also wenn ich mich wirklich nur auf den Codeschnipsel beziehe, vor den man sich dann noch

(setq line   (list "LINIE"  800    0 0 0  0)) ;aktueller Punkt
(setq lastline   (list "BOGEN"  800 -800 0 0  0)) ;letzter Punkt
(setq lastlastline (list "PLBLOCK"  0 -800 0 0  27))

oder

(setq line   (list "LINIE"  -400    0 0 0  0))
(setq lastline   (list "BOGEN"  400    0 0 0 180))
(setq lastlastline (list "PLBLOCK" 400    0 0 0  27))

denken muß, dann kann ich deine Aussage nicht bestätigen.

Wenn ich den Schnipsel Prüfen lasse dann kommt entweder (0.0 -400.0) oder (-1.46953e-013 -800.0) heraus !

EDIT: mit deinem 2.Versuch: Die errechneten 4 Punkte ergeben bei deiner Berechnung 2 parallele Linien,
zumindest mit der Genauigkeit mit der man rechnen kann, daher ist "nil" vom INTERS auch korrekt, ob
deine Berechnung der 4 Punkte stimmt habe ich nicht geprüft.

------------------
CAD.de System-Angaben  -  CAD on demand  -  User:FAQ(Acad)

[Diese Nachricht wurde von cadffm am 22. Jun. 2011 editiert.]

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

Oberpeilsteiner Florian
Mitglied
Student - Maschinenbau


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

Beiträge: 10
Registriert: 22.06.2011

Intel Core 2 @ 2.1 GHz
2 GB RAM
NVIDIA GeForce 8400M G
AutoCAD 2010 Deutsch Version 3

erstellt am: 22. Jun. 2011 16: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

Hab jetzt das ganze noch mal überprüft und du hast recht.
Da hab ich wohl den Wald vor lauter Bäumen nicht mehr gesehen. Das gemeine daran ist auch dass das anscheinend der einzige Punkt ist an dem die Berechnung des Zentrumspunktes auf diese Weise nicht funktioniert. (der Anfangspunkt der letzten Linie und der Endpunkt des Bogens sind identisch, dadurch entstehen die Parallelen)

Danke für die rasche Antwort und ich Hoffe das nächste mal entdecke ich so einen Fehler bevor ich hier danach Frage

mfg Florian

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

neurosis
Mitglied
dipl.ing.


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

Beiträge: 222
Registriert: 22.08.2006

erstellt am: 22. Jun. 2011 17:13    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 Oberpeilsteiner Florian 10 Unities + Antwort hilfreich

hallo florian,
fuer vlisp sind das fuer "pruefen" zu viele zeilen.
kopier das ganze mal in die vlisp-konsole, dann wird dir auch das ergebnis dessen angezeigt.

gruss
marco

------------------
Marco Heuer
www.arc-aachen.de
Airport Office

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

Oberpeilsteiner Florian
Mitglied
Student - Maschinenbau


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

Beiträge: 10
Registriert: 22.06.2011

Intel Core 2 @ 2.1 GHz
2 GB RAM
NVIDIA GeForce 8400M G
AutoCAD 2010 Deutsch Version 3

erstellt am: 28. Jun. 2011 09:16    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 Marco,

danke noch für denk Tipp mit Prüfen. Ist auf jeden Fall hilfreich das zu wissen.

mfg Florian

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