Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Ganze Millimeter

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:  Ganze Millimeter (485 mal gelesen)
Metallbau
Mitglied
Metallbauplaner


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

Beiträge: 41
Registriert: 13.01.2005

erstellt am: 24. Jan. 2005 16:39    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 Lisp freaks

wie kann ich den mit (getpoint) ausgewählten Wert in Ganze millimeter Runden ?

------------------
Danke...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 24. Jan. 2005 16:48    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 Metallbau 10 Unities + Antwort hilfreich

guckst du hier

aufruf dann mit
(mapcar '(lambda(x) (round x 0))(getpoint))

und wenn du's als Int-wert brauchst
(mapcar '(lambda(x) (fix(round x 0)))(getpoint))

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

[Diese Nachricht wurde von CADmium am 24. Jan. 2005 editiert.]

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

Metallbau
Mitglied
Metallbauplaner


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

Beiträge: 41
Registriert: 13.01.2005

erstellt am: 24. Jan. 2005 16:55    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

Ja das klappt nicht so ganz siehe unten

Befehl: (mapcar '(lambda(x) (fix(round x 0)))(getpoint))
no function definition: ROUND

Zitat:
Original erstellt von CADmium:
guckst du hier

aufruf dann mit
(mapcar '(lambda(x) (round x 0))(getpoint))

und wenn du's als Int-wert brauchst
(mapcar '(lambda(x) (fix(round x 0)))(getpoint))


------------------
Danke...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 24. Jan. 2005 16:58    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 Metallbau 10 Unities + Antwort hilfreich

erst lesen! .. dann den Link aufrufen! die Funktion Round laden! und dann erst meckern! <dream> .. aber für dich kopier ich die Funktion auch noch mal hier rein!
(defun ROUND (ZAHL STELLEN / TEMP )
  (if (and(numberp ZAHL) (=(type STELLEN) 'INT))
    (progn
      (setq TEMP (abs ZAHL))
      (repeat STELLEN (setq TEMP (* TEMP 10.0)))     
      (cond 
        ( (> (- TEMP (fix TEMP)) 0.5) (setq TEMP (+ (fix TEMP) 1)))
        ( (< (- TEMP (fix TEMP)) 0.5) (setq TEMP    (fix TEMP)  ))
        ( (= (- TEMP (fix TEMP)) 0.5)         
          (if (equal (/ (fix TEMP) 2.0) (fix(/ (fix TEMP) 2.0)) 0.001)
            (setq TEMP    (fix TEMP)  )
            (setq TEMP (+ (fix TEMP) 1))
          ) 
        )
      )
      (repeat STELLEN (setq TEMP (/ TEMP 10.0)))
      (setq TEMP (* TEMP (if (< Zahl 0 ) -1.0 1.0)))
    )
  )
  TEMP   
)

------------------
- 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

Metallbau
Mitglied
Metallbauplaner


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

Beiträge: 41
Registriert: 13.01.2005

erstellt am: 24. Jan. 2005 17: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

Das hab ich ja bereits gemacht,
auch dann hat es nicht funktioniert

------------------
Danke...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 24. Jan. 2005 17:09    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 Metallbau 10 Unities + Antwort hilfreich

klappt wunderbar
(getpoint)  -> (-18.6848 -11.3062 0.0)

(mapcar '(lambda(x) (round x 0))(getpoint))  -> (-19.0 -6.0 0.0)

(mapcar '(lambda(x) (fix(round x 0)))(getpoint))  -> (-17 -14 0)


(getpoint) liefert dir Punktkoordinaten in Form einer Liste , x-Wert, Y-Wert, Z-Wert, in Zeichnungseinheiten !

Wenn du mit "wie kann ich den mit (getpoint) ausgewählten Wert in Ganze millimeter Runden ?" was anderes meinst, dann sag es auch!

------------------
- 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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 24. Jan. 2005 17: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 Metallbau 10 Unities + Antwort hilfreich

@cadmium Ruhig Brauner...

@Metallbau Verstehe den Thomas bitte nicht falsch, es ist sicherlich nicht so harsch gemeint wie es sich liest :-)
Eigentlich ist er 'n ganz ruhiger Vertreter.
Also, bleib' am Ball und stelle auch ruhig weiter Deine Fragen. Laß' Dich nicht abschrecken :-)

------------------
Ciao,
Marc

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

Metallbau
Mitglied
Metallbauplaner


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

Beiträge: 41
Registriert: 13.01.2005

erstellt am: 24. Jan. 2005 19: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

Guten Abend...

Es hat jetzt funktioniert CADmium Danke...

Aber eigentlich wollte ich den wert in m auf millimeter genau haben

das muss dan so aussehen
z.B.      1.000 oder 0.990 oder 0.040 etc.
und nicht 1    oder 0.99  oder 0.04  etc.

------------------
Danke...

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

Metallbau
Mitglied
Metallbauplaner


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

Beiträge: 41
Registriert: 13.01.2005

erstellt am: 24. Jan. 2005 19: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

(setq xyz(getpoint))
(setq y(/ (cadr xyz) 1000))

wie weiter

eine Möglichkeit ist die Grundeinstellung von "-einheit" anzupassen ...

aber das ist nicht der Sinn.

------------------
Danke...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 24. Jan. 2005 20:51    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 Metallbau 10 Unities + Antwort hilfreich

so ?? ( in Zeichnungseinheiten)

(setq xyz(getpoint))
(setq y (*(round(/ (cadr xyz) 1000.0)0)1000.0))

oder so ( in 1/1000 Zeichnungseinheiten)
(setq xyz(getpoint))
(setq y (round(/ (cadr xyz) 1000.0)0))
??


------------------
- 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

flaschenpost
Mitglied
Architekt


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

Beiträge: 497
Registriert: 29.09.2004

ADT 2004 / Windows XP

erstellt am: 24. Jan. 2005 21: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 Metallbau 10 Unities + Antwort hilfreich

Hallo Metallbauer,

so richtig werde ich aus Deinen Wünschen auch nicht schlau.
Wenn Du eine Formatierung brauchst, dann schau evtl. mal

hier      : http://ww3.cad.de/foren/ubb/Forum145/HTML/000133.shtml
oder hier : http://ww3.cad.de/foren/ubb/Forum145/HTML/000935.shtml

Sonst müßtest Du schon mal sagen, was Du eigentlich vorhast.

Gruß Carsten

... ich überleg gerade, ob ich ein automatisches "Bitte" in mein Profil aufnehme ?  ;-)    Schöner Dialog ... oder ? 

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

Metallbau
Mitglied
Metallbauplaner


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

Beiträge: 41
Registriert: 13.01.2005

erstellt am: 24. Jan. 2005 22:18    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 Flaschenpost

Also nochmal mit dem getpoint hole ich mir die Koordinate y und den will ich in Meter [m] mit dreistellen nach dem Komma darstellen

(getpoint) --> (1049.17 763.626 0.0)
die 763.626 muss will ich so haben : 0.764 (aufgerundet)
oder die 1000.425 : sollte so aussehen: 1.000
oder die  989.554 : sollte so aussehen: 0.990

------------------
Danke...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 24. Jan. 2005 22:30    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 Metallbau 10 Unities + Antwort hilfreich

@Metallbau : Warum nicht gleich so'ne Beschreibung ?!
-->

(setq y (/(round(cadr xyz)0)1000.0))

------------------
- 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

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