Hallo zusammen, ich möchte in meinen prog die in variablen gespeicherten Winkel immer nur auf den Bereich zwischen 0° und 90° eingrenzen. D.h. wenn die Variable "winkel" mir den wert 270° übergibt soll er als 90° weitergegeben werden. Gibt es in Autocad die möglichkeit Winkel immer in dem Bereich ausgebe zu lassen. Ich hänge mal mein Prog an um eventuell das Problem besser zu erläutern.
erstellt am: 18. Nov. 2005 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für dan_rather
Hallo dan
wie soll sich denn der Bereich der Winkel ergeben? 0° - 90° = 0° - 90° 90°-180° = 90°-0° (oder 0°-90°) 180°-270 = 0°-90° 270°-360° = 90°-0° (oder 0°-90°)
für's jeweils erste probiere mal folgendes:
-prinzipieller Vorschlag, rechne mit den mit (angle ...) erhaltenen Winkeln im Bogenmaß weiter, dann ersparst Du Dir jedemenge (angtof ..)(antos ..)(atof ..) (setq winkel (angle .. )) liefert Winkel zwischen 0 und 2*pi (360°) alles was größer ist als pi (180°) geht wieder bei 0 los, also
(if (> winkel pi) (setq winkel (- winkel pi)))
alles was jetz noch größer ist als pi/2 (90°) soll blos der "Rest" bis pi sein (also von 180° nach rechts gemessen)
(if (> winkel (/ pi 2)) (setq winkel (- pi winkel)))
erstellt am: 21. Nov. 2005 10:38 <-- editieren / zitieren --> Unities abgeben: Nur für dan_rather
Hallo! Ich hatte gar keine Benachrichtigungsmail bekommen (oder übersehen).
Ich habe jetzt mal ins Programm geguckt. Geht es um den Abschnitt mit der Zuordnung zur Variable BOAB in der Funktion R:BOGEN? Dann dreht es sich also um den Tangens. Der wiederholt sich nur alle 180 Grad. Also kannst du nur auf 180 Grad einschränken. Die Funktion FIX diente nur dazu den Rest der Division (/ winkel 90) zu ermitteln. Die Genauigkeit bleibt erhalten, weil ja von der Variablen Winkel der durch 90 teilbare Anteil abgezogen wird. Aber in meinem 2. Posting habe ich ja die Richtige LISP-Funktion angegeben.