| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
|
Autor
|
Thema: koordinaten umformen führende nullen (2752 mal gelesen)
|
Steff179 Mitglied Geomatiker
 
 Beiträge: 266 Registriert: 09.08.2007 AutoCAD 2014
|
erstellt am: 05. Mai. 2009 13:06 <-- editieren / zitieren --> Unities abgeben:         
hallo zusammen also mein problem (naja eigentlich ist es kein problem aber es ist nicht wirklich gut) ich habe verschidene koordinaten. schauen wir mal den x wert an. bsp.: 610000.000 od. 1000.000 od. 0.010 das endergebniss sollte so aussehen: 10000.000 od. 01000.000 od. 00000.010 wenn ich das jetzt mit meinen kentnissen machen würde dann würde ich das recht umständlich machen. 1. den wert um 1000 ehöhen damitt die "," stellen weg sind. 2. in einen string wandeln, die stringlänge prüfen wenn sie kleiner 8 ist mit strcat 0 hinzufügen bis er die gewünschte länge hat. 3. wider in eine zahl umwandeln und mit 1000 teilen damitt ich wider die komastellen habe. 4. wider in einen string wandeln damitt ich ihn mit anderen zusammen in eine zeile schreiben kann. naja ist recht umständlich. kann mir einer einen tipp geben wie ich das einfacher und sauberer machen kann? gruss steff Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13533 Registriert: 30.11.2003 .
|
erstellt am: 05. Mai. 2009 13:36 <-- editieren / zitieren --> Unities abgeben:          Nur für Steff179
nunja ... (defun PrettyNR( ZAHL VORKOMMA NACHKOMMA / OLDDIMZIN) (if(and(numberp ZAHL) (or(=(type VORKOMMA) 'INT)(setq VORKOMMA 6)) (or(=(type NACHKOMMA)'INT)(setq NACHKOMMA 3)) ) (progn (setq OLDDIMZIN (getvar "DIMZIN")) (setq STR (rtos ZAHL 2 NACHKOMMA)) (cond ((<(setq ANZ(vl-string-search "." STR))VORKOMMA) (repeat (- VORKOMMA ANZ) (setq STR(strcat "0" STR)) ) ) ((>(setq ANZ(vl-string-search "." STR))VORKOMMA) (setq STR(substr STR (- ANZ VORKOMMA -1))) ) ) (setvar "DIMZIN" OLDDIMZIN) STR ) ) ) ------------------ - 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 |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung und AutoLISPler
    
 Beiträge: 1781 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 05. Mai. 2009 13:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Steff179
Hallo Steff, ich habe da noch folgende Funktion rumliegen: Code:
(defun JBf_string:fill rae (str n zeichen / ) (if (<(strlen str)n) (repeat (- n(strlen str)) (setq str (strcat zeichen str))) ) str)
n ist dabei die Gesamtlänge z.B. (JBf_string:fill rae "0.0001" 10 "0") => "00000.0001" [edit] Nimm mal lieber das von CADmium, ich habe zwischen 2 Telefongesprächen Deinen Beitrag nur ziemlich flüchtig durchgelesen, naja, vielleicht braucht es aber trotzdem noch irgendwer. [edit] ------------------ viele Grüße Jörn http://www.bosse-engineering.com [Diese Nachricht wurde von joern bosse am 05. Mai. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steff179 Mitglied Geomatiker
 
 Beiträge: 266 Registriert: 09.08.2007 AutoCAD 2014
|
erstellt am: 05. Mai. 2009 15:01 <-- editieren / zitieren --> Unities abgeben:         
das ging ja wider mal schnell. @CADmium besten dank auf vl-strin-search bin ich nicht gekommen. kannst du mir sagen für was du (or(=(type VORKOMMA) 'INT)(setq VORKOMMA 6)) (or(=(type NACHKOMMA)'INT)(setq NACHKOMMA 3)) eingebaut hast? sehe den zweck nicht. wird aber sicher einen haben. (if(numberp ZAHL) ist ist mir klar. @jörn danke auch dir.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13533 Registriert: 30.11.2003 .
|
erstellt am: 05. Mai. 2009 15:08 <-- editieren / zitieren --> Unities abgeben:          Nur für Steff179
.. einfach , um sicherzustellen, das eine Ganzzahl eingegeben wurde .. eigentlich mßte auch noch größer 0 mit rein .... wenn nicht wird ne Vorgabe gesetzt. ------------------ - 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 |
Steff179 Mitglied Geomatiker
 
 Beiträge: 266 Registriert: 09.08.2007 AutoCAD 2014
|
erstellt am: 05. Mai. 2009 15:14 <-- editieren / zitieren --> Unities abgeben:         
ok dann habe ich das schon richtig interpretiert aber bin halt davon ausgegangen das mann ja sowiso ganzzahlen eingiebt... darum war ich ein wenig verwirrt... aber du hast recht mann weiss ja nie was vorne rein kommt... besten dank nochmals Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Theodor Schoenwald Ehrenmitglied
    
 Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 30. Jun. 2014 22:20 <-- editieren / zitieren --> Unities abgeben:          Nur für Steff179
|