| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Zahl mit Komma umwandeln (2300 mal gelesen)
|
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner, keine Adminrecht
|
erstellt am: 19. Okt. 2012 13:29 <-- editieren / zitieren --> Unities abgeben:
Habe einen Plan indem alle Höhen mit Komma geschrieben sind. (ca 150) Leider verstehen meine anderen Anwendungen wie zum Beispiel"dummen Text auf z-koo setzten " die Zahlen nicht als Hohenwert. Wer kann mir sagen wie ich solche Zahlen problemlos in eine Zahl mit Punkt umwandeln kann. Bsp..: 443,123 muss sein 443.123 Kann ich in eine LSP eine Zeile einfügen damit diese dann auch diese Werte als Höhentext versteht? Wäre für Hilfe dankbar. ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dig15 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. für Markscheidewesen und Geodäsie
Beiträge: 5833 Registriert: 27.02.2003 DWG TrueView 2014
|
erstellt am: 19. Okt. 2012 13:33 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hilft " Suchen & Ersetzen" da nicht weiter? Wie und wo liegen die Zahlen vor? Als Attribute in einem Block? Da könnte ATTOUT und ATTIN weiterhelfen. ------------------ Viele Grüße Lutz Glück Auf! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner, keine Adminrecht
|
erstellt am: 19. Okt. 2012 13:53 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 19. Okt. 2012 14:23 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
|
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 19. Okt. 2012 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
... und da ich dieses auch andersherum hin und wieder brauche habe ich mir gleich zwei kleine Funktionen dafür gemacht. Code:
; Zeichenkette Zahl mit Dezimaltrenner Punkt (defun dtp(wert) (setq wert (vl-string-translate "," "." wert))); Zeichenkette Zahl mit Dezimaltrenner Komma (defun dtk(wert) (setq wert (vl-string-translate "." "," wert)))
HTH Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
j-sc Ehrenmitglied
Beiträge: 1838 Registriert: 14.07.2003 W7 64Bit intel core I7 2,8GHz / 4GB ATI FIRE PRO V5800 acad2011 acad2015 acad2018 Athena Expresstools
|
erstellt am: 19. Okt. 2012 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Zitat: Original erstellt von Bauvermesser: Es ist eben nur ein einfacher dummer Text, kein Block. Dumme Frage: wo finde ich im ACAD 2005 "Suche ersetzen" ?
Also der Befehl heißt FIND oder _find. Aber in Welchem WK oder Menü? ------------------ Ciao J-SC ... geht's vielleicht doch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner, keine Adminrecht
|
erstellt am: 21. Okt. 2012 20:55 <-- editieren / zitieren --> Unities abgeben:
Danke für euer Hinweise , habe zwei Versuche unternommen ohne Erfolg. Einmal mit einer eigenständigen lsp wie hier: (defun c:kommazupunkt () (setvar "OSMODE" 64) ; basispunkt (if(setq as(ssget '((0 . "TEXT")))) (progn (if(distof(setq DUMMY(vl-string-translate "," "." TEXTSTR))) (setq TEXTSTR DUMMY) ) oder mit dem Einbau in die zutreffende LSP wie hier: (defun c:z-txt ( ) ;; (setvar "OSMODE" 0) (setvar "OSMODE" 64) ; basispunkt ;;------------------------- (if(distof(setq DUMMY(vl-string-translate "," "." TEXTSTR))) (setq TEXTSTR DUMMY) ) ;;------------------------- (if(setq as(ssget '((0 . "TEXT")))) (progn (repeat (sslength as) (setq OBJ (ssname as 0)) (setq DATA (entget OBJ)) (if(and(setq Z(distof (cdr (assoc 1 DATA))2)) (setq X(car (cdr(assoc 10 DATA)))) (setq Y(cadr (cdr(assoc 10 DATA)))) ) (command "_point" (list X Y Z)) ;; (command "_CIRCLE" (list X Y Z) "0.20") ) ;; (setq as (ssdel OBJ as)) ) ) ) ) in beiden Fällen keinen Erfolg, könnt Ihr euch das bitte nochmal ansehen. Oder stehen sie nur an falscher Stelle.
------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 21. Okt. 2012 21:22 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
nur beim überfliegen schaut es aus, als ob du den Auswahlsatz und nicht den entsprechenden String verwurschten willst... Du musst direkt den String vom Attribut, Text, Mtext etc. angehen (bei dir schauts nach Text aus - 0 . text), ein wenig tiefer ans Objekte musste da sicher noch gehen entmod oder vla... und den String im Objekt umschreiben ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." -Lots of irritating superfluous parentheses!- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 22. Okt. 2012 07:16 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
So langsam könnte man bei dir ja auch mal eine "Weiterentwicklung" in Sachen Lisp erwarten .. ... egal .. ich hab dir mal die Zeile richtiger positioniert und hoffe, alle Klammern stimmen... (defun c:z-txt ( ) (setvar "OSMODE" 64) ; basispunkt (if(setq as(ssget '((0 . "TEXT")))) (progn (repeat (sslength as) (setq OBJ (ssname as 0)) (setq DATA (entget OBJ)) (if(and(or(setq Z(distof (cdr (assoc 1 DATA))2)) (setq Z(distof(setq DUMMY(vl-string-translate "," "." (cdr (assoc 1 DATA)))))) ) (setq X(car (cdr(assoc 10 DATA)))) (setq Y(cadr (cdr(assoc 10 DATA)))) ) (command "_point" (list X Y Z)) ;; (command "_CIRCLE" (list X Y Z) "0.20") ) ;; (setq as (ssdel OBJ as)) ) ) ) )
------------------ Also ich finde Unities gut ... --------------------------------------- - 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 |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner, keine Adminrecht
|
erstellt am: 22. Okt. 2012 17:53 <-- editieren / zitieren --> Unities abgeben:
Danke allen , läuft . Nur mein ' OSMODE 64' war falsch, scheint im Nachhinein logisch. (defun c:z-txt ( ) (if(setq as(ssget '((0 . "TEXT")))) (progn (repeat (sslength as) (setq OBJ (ssname as 0)) (setq DATA (entget OBJ)) (if(and(or(setq Z(distof (cdr (assoc 1 DATA))2)) (setq Z(distof(setq DUMMY(vl-string-translate "," "." (cdr (assoc 1 DATA)))))) ) (setq X(car (cdr(assoc 10 DATA)))) (setq Y(cadr (cdr(assoc 10 DATA)))) ) (command "_point" (list X Y Z)) ;; (command "_CIRCLE" (list X Y Z) "0.20") ) (setq as (ssdel OBJ as)) ) ) ) ) ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |