Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  große zahlen -> andere ergebnisse

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:  große zahlen -> andere ergebnisse (1490 mal gelesen)
GottesGeschenk
Mitglied
Bauingenieur


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

Beiträge: 229
Registriert: 23.02.2007

winxp pro sp3 / intel p4 3GHz / 2,5GB RAM / CAD 2011

erstellt am: 15. Nov. 2011 15:36    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 zusammen

ich lasse mein lisp laufen und bekomme unterschiedliche ergebnisse je nach dem wo sich meine objekte befinden.
wenn sich z.B. xy koordinaten der objekte im bereich von über 2.000.000 befinden rechnet acad falsch?
es passiert sogar, dass lisp einen fehler meldet (irgendwas ist nil statt einem zu errechnenden schnittpunkt).

ist euch dieses problem bekannt? wie würde eine lösung aussehen.

vielen dank schon mal an eure wie immer prima antworten und hilfen.

gruß
theo

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: 15. Nov. 2011 15:41    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 GottesGeschenk 10 Unities + Antwort hilfreich

Ja, liegt in der Natur der Sache und ist auf den Punkt gebracht mit dem Stichwort: 'Rundungsfehler' abgetan.
(Google/suche im Forum danach)

EDIT: Die Lösung ist: Mit anderen Koordinaten, näher dem Nullpunkt zu rechnen.

------------------
CAD.de System-AngabenUser:FAQ(Acad)

[Diese Nachricht wurde von cadffm am 15. Nov. 2011 editiert.]

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

GottesGeschenk
Mitglied
Bauingenieur


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

Beiträge: 229
Registriert: 23.02.2007

winxp pro sp3 / intel p4 3GHz / 2,5GB RAM / CAD 2011

erstellt am: 15. Nov. 2011 15:52    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

danke für deine antwort.

ich dachte mit rundungsfehler meint man immer die stellen nach dem komma.
anscheinend nicht.

wenn ich mir ein bks erstelle denke ich mal nicht, dass das problem behoben sein sollte oder? intern arbeitet doch acad immer im wks.

wie meinst du das genau mit dem arbeiten näher am ursprung. soll ich meine zu berechnenden koordinaten verschieben, programm laufen lassen, und wieder zurückschieben.
theoretisch natürlich machbar aber gefährlich.

zusammengefaßt folgende ergebnisse bisher:
1. arbeiten näher am ursprung
2. bks erstellen (benutzer KS) - ob das geht müsste ich noch ausprobieren. vermute eher nicht

vielen dank

gruß
theo

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 15. Nov. 2011 17:00    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 GottesGeschenk 10 Unities + Antwort hilfreich

Hallo Theo,
Zitat:

ich dachte mit rundungsfehler meint man immer die stellen nach dem komma.
anscheinend nicht.

Meiner Meinung nach hast Du aber immer weniger Nachkommastellen zur Verfügung, je mehr Vorkommastellen benutzt werden.

Auch ich habe da schon meine Erfahrung gemacht, Methoden wie Intersect-With funktionieren im hohen Koordinatenbereich sehr unzuverlässig und auch die meisten Command-Aufrufe wie Stutzen, Versetzen usw.
Für solche Sachen habe ich es mir in der Tat angewöhnt AutoCAD-Objekte über einen Vektor zum Nullpunkt zu schieben, und nach der Operation wieder zurück. Wenn Du das machtst musst Du aber zusehen, daß alle möglichen Fehler abgefangen werden, so daß immer der ursprüngliche Zustand wiederhergestellt werden kann.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Stammtisch in Wolfsburg

http://ww3.cad.de/foren/ubb/Forum491/HTML/000179.shtml

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

GottesGeschenk
Mitglied
Bauingenieur


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

Beiträge: 229
Registriert: 23.02.2007

winxp pro sp3 / intel p4 3GHz / 2,5GB RAM / CAD 2011

erstellt am: 15. Nov. 2011 21: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 joern

vielen dank für die erklärung. deine erfahrungen sind sehr viel wert. hätt ich das mal vorher gewusst.
werde es dann wohl auch so machen mit dem verschieben.

aber was genau meinst du mit mögliche fehler abfangen. an was z.B. denkst du. wenn ich 100 3D-flächen verschiebe ändern sich ihre koordinaten über die weite reise hinweg?

vielen dank
theo

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 16. Nov. 2011 06:26    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 GottesGeschenk 10 Unities + Antwort hilfreich

Hallo Theo,
was ich meinte: Du verschiebst Deine 3D Flächen und führst dann irgendeine Funktion / Berechnung damit aus. Wenn diese dann bei der Funktion / Berechnung in einen Fehler läuft und das gesamte Programm an der Stelle abbricht, dann hast Du als Ergebnis die die verschobenen Flächen mit einem nicht ferigen Ergebnis.
Daher verwende ich in solchen Situationen immer vl-catch-all-apply, damit die Routine auf jeden Fall fertig wird und die Objekte auch wieder zurückschieben kann.

Anbei ein kleines Beispiel mit einer Linie, die wird erst nach 0.0 verschoben, dann wird in einer Funktion durch 0 geteilt, und obwohl das einen Fehler auslöst kann die Funktion noch sauber beendet werden (Meldung für den Benutzer und die Linie wird wieder zurückgeschoben)

Code:

(defun c:test ( / ARGUMENT1 OBJ VEKTOR)
  (if (and(setq obj (car(entsel "\nLinien auswählen:")))
  (=(cdr(assoc 0 (entget obj)))"LINE"))
    (progn
      (setq vektor (cdr(assoc 10 (entget obj))))
      (test:Schieben obj vektor 'T)
      (if(vl-catch-all-error-p
  (vl-catch-all-apply 'MachWas (list Argument1)))
(alert "Funtion \"MachWas\" ist in einen Fehler gelaufen."))
      (test:Schieben obj vektor nil)
      )
    )
  )

;;;Funktion, die zwangsläufig einen Fehler auslöst
(defun MachWas (Argument1 / )
  (/ 1.0 0.0)
  )
;;;Linie um Vektor schieben
(defun test:Schieben (obj vektor flag / LISTE)
  (setq liste (entget obj)
liste (subst (cons 10 (mapcar (if flag '- '+)
      (cdr(assoc 10 liste))vektor))
    (assoc 10 liste)liste)
liste (subst (cons 11 (mapcar (if flag '- '+)
      (cdr(assoc 11 liste))vektor))
    (assoc 11 liste)liste))
  (entmod liste))


------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Stammtisch in Wolfsburg

http://ww3.cad.de/foren/ubb/Forum491/HTML/000179.shtml

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 16. Nov. 2011 14:02    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 GottesGeschenk 10 Unities + Antwort hilfreich

Servus!

Du kannst das ganze auch umgehen in dem Du die Zeichnung am Anfang der Bearbeitung im WKS in Richtung 0-Punkt verschiebst und die Verschiebewerte als externe Datei abspeicherst. So war das früher in Caddy geregelt, da gab es zu jeder Zeichnungsdatei eine sogenannte Fensterdatei mit den entsprechenden Verschiebe/Drehwerten, im Endeffekt eine 2-Parametertransformation. Bei der Datenweitergabe an Externe kannst dann mit der Fensterdatei wieder zurücktransformieren Ich glaube auch die Cremer-Software verwendet teilweise dieses Konzept.
Vorteil: du sparst Dir x-Verschieboperationen, hast auch keine Probleme wenn die Zeichnung mal abraucht - einfach wieder öffnen denn Du befindest Dich immer im ACAD WKS.

@CADFFM: ich denke es ist weniger ein Rundungsproblem als dass Rechenoperationen mit großen Zahlen schnell den Gültigkeisbereich von REAL oder DOUBLE übersteigen.

Ciao Georg

------------------
http://www.xxx-tausend.info

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: 16. Nov. 2011 14:04    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 GottesGeschenk 10 Unities + Antwort hilfreich

Nenne es wie du willst, aber genau davon reden wir, ja.

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

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