Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  dezimalstellen runden

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:  dezimalstellen runden (4040 mal gelesen)
wolfcad
Mitglied
techniker


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

Beiträge: 15
Registriert: 07.04.2004

erstellt am: 14. Jul. 2004 13:59    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

ich habe in einer zeichnung höhen, welche als normaler text dargestellt sind. die genauigkeit der höhen ist tausendstel z.b. 420.111 .

gibt es eine möglichkeit alle zahlen (am besten auf einmal) per rundung auf 2 dezimalstellen zu bringen?

mfg

wolf

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 14. Jul. 2004 14:19    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 wolfcad 10 Unities + Antwort hilfreich

Hiermit vielleicht :

(defun ROUNDTEXT ( Stellen / AUSWAHL INDEX OBJEKTDATEN ZAHL)
  (if (setq Auswahl (ssget "_x" '((0 . "*TEXT"))))
    (progn
      (setq INDEX -1 )
      (repeat (sslength AUSWAHL)
        (setq OBJEKTDATEN (entget(ssname AUSWAHL (setq INDEX(1+ INDEX)))))
        (setq Zahl (atof (cdr(assoc 1 OBJEKTDATEN))))
        (prin1 ZAHL)
        (if (/= ZAHL (fix Zahl))
          (progn
            (setq OBJEKTDATEN (subst(cons  1 (rtos ZAHL 2 Stellen))
                                    (assoc 1 OBJEKTDATEN)
                                    OBJEKTDATEN
                              )                 
            )         
            (entmod OBJEKTDATEN)
          )
        ) 
      )
    )
  )
)
(defun c:ROUNDTEXT2 ()
  (ROUNDTEXT 2)
)

------------------
- Thomas -

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

wolfcad
Mitglied
techniker


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

Beiträge: 15
Registriert: 07.04.2004

erstellt am: 14. Jul. 2004 14:37    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 funktioniert beim ersten test gut.

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

cadteufel
Mitglied
Softwareentwicklung


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

Beiträge: 126
Registriert: 15.10.2002

123CAD Version 3.3 AutoCAD 8 - 2013

erstellt am: 02. Aug. 2004 17:54    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 wolfcad 10 Unities + Antwort hilfreich

Hi,

könnte man die Routine auch anpassen auf Block mit Attribut "HOEHE"?
Mit Burst zu arbeiten ist nicht der elegante Weg.

Claus

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Aug. 2004 10: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 Nur für wolfcad 10 Unities + Antwort hilfreich

Könnte und kann man:
.. der allgemeine Teil ...
(defun ROUND-ATTRIBUTWERT ( INSERT ATTRIBUTNAME STELLEN / OBJEKTDATEN WERT) 
  (if (and(=(type INSERT) 'ENAME)         
          (=(cdr(assoc 0 (setq OBJEKTDATEN (entget INSERT)))) "INSERT")
          (assoc 66 OBJEKTDATEN)
      )
    (progn         
      (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") 
        (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN)))))
        (if (and(= (cdr (assoc 0 OBJEKTDATEN)) "ATTRIB")
                (or (not ATTRIBUTNAME)
                    (and (=(type ATTRIBUTNAME)'STR)
                        (=(strcase(cdr(assoc 2 OBJEKTDATEN)))(strcase ATTRIBUTNAME))
                    )   
                )
                (setq WERT(distof(cdr(assoc 1 OBJEKTDATEN))2))
                (/= WERT (fix WERT))
            )
         
          (entmod(subst(cons 1 (rtos WERT 2 Stellen))
                      (assoc 1 OBJEKTDATEN)
                      OBJEKTDATEN
                )                 
          )
        )
      )
    )
  )
)

.. und der für dich angepasste :

(defun C:ROUNDHOEHE( / AUSWAHL ATTRIBUTNAME STELLEN OBJEKT BLOCKDEF)
  (setq ATTRIBUTNAME "HOEHE")
  (setq STELLEN 2) 
       
  (setq AUSWAHL (ssget "_X"  '((0 . "INSERT")))) 
  (setq INDEX -1)
  ; Attribute in Blockreferenzen auf Zeichnungsebene
  (if AUSWAHL
    (repeat (sslength AUSWAHL)
      (ROUND-ATTRIBUTWERT (ssname AUSWAHL (setq INDEX(1+ INDEX))) ATTRIBUTNAME STELLEN)
    )
  )
  ; Attribute in verschachtelten Blöcken
  (while (setq BLOCKDEF (tblnext "BLOCK" (null BLOCKDEF)))
    (if (and(/=(logand(cdr(assoc 70 BLOCKDEF))4)4)
            (or(/= (logand(cdr(assoc 70 BLOCKDEF))1)1)
                (= (substr (cdr(assoc 2 BLOCKDEF)) 1 2) "*U")
            )
        )   
      (progn
        (setq OBJEKT (cdr (assoc -2 BLOCKDEF)))
        (while OBJEKT
          (if (=(cdr(assoc 0 (entget OBJEKT))) "INSERT") 
            (ROUND-ATTRIBUTWERT OBJEKT ATTRIBUTNAME STELLEN)
          )
          (setq OBJEKT (entnext OBJEKT))
        )
        (entupd (cdr (assoc -2 BLOCKDEF)))
      )
    )
  ) 
  (command "._regen")
  (princ)
)

------------------
- Thomas -

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

cadteufel
Mitglied
Softwareentwicklung


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

Beiträge: 126
Registriert: 15.10.2002

123CAD Version 3.3 AutoCAD 8 - 2013

erstellt am: 03. Aug. 2004 14:37    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 wolfcad 10 Unities + Antwort hilfreich

Hi Thomas,
na, vom feinsten.
funktioniert prima. Das Auf- und Abrunden passt.
Die "0" am Ende sollte aber dargestellt werden, das ist glaub ich nur ne variable die gesetzt werden kann?

also statt "345" richtig "345.0" bei Stellenanzahl "1" und statt
"345.4" richtig "345.40" bei Stellenanzahl "2" usw.
Kann man das noch einbinden?
schonmal tausend Dank.

claus

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Aug. 2004 14:40    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 wolfcad 10 Unities + Antwort hilfreich

na dann nimm die Zeile
(/= WERT (fix WERT))
raus, und guck dir mal dimzin an

------------------
  - Thomas -

[Diese Nachricht wurde von CADmium am 03. Aug. 2004 editiert.]

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Aug. 2004 14:56    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 wolfcad 10 Unities + Antwort hilfreich

Seh gerade, du bist in der Softwareentwicklung?! ->
P.S. Siehe deshalb auchHier und Hier 

------------------
- Thomas -

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

CADdog
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 2237
Registriert: 30.04.2004

Intel Xeon 3,6 GHz
32 GB RAM
NVIDIA Quadro P2000
Windows 10 Enterprise
AutoCADmap 3D 2023
WS-Landcad 2023
QGIS 3.10

erstellt am: 03. Aug. 2004 15: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 wolfcad 10 Unities + Antwort hilfreich

ja, lieber Thomas
ich denke auch, du bist nun als freier und unbezahlter Mitarbeiter bei 123.cad an der "Entwicklung hochwertiger Zusatzsoftware zur Planerstellung im Tiefbau" beteiligt
Herzlichen Glückwunsch!


------------------

gruß
CADdog,
the dog formerly known as TR

AutoCAD spricht mit einem, aber viele hören nicht zu.

[Diese Nachricht wurde von CADdog am 03. Aug. 2004 editiert.]

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Aug. 2004 15:03    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 wolfcad 10 Unities + Antwort hilfreich

@Caddog Danke, aber vielleicht kommt ja noch ne Überweisung! 

------------------
- Thomas -

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

cadteufel
Mitglied
Softwareentwicklung


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

Beiträge: 126
Registriert: 15.10.2002

123CAD Version 3.3 AutoCAD 8 - 2013

erstellt am: 04. Aug. 2004 14:56    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 wolfcad 10 Unities + Antwort hilfreich

hi forum,

das wäre ja wohl ein wenig dreist, oder?

Ich bin super dankbar, wenn man das Know-How hier nutzen kann, aber wohl doch ehrenhaft.

vielleicht eine Erklärung:
Jeder in der Softwareentwicklung weiß, das man nicht wegen jedem Anwenderwunsch gleich die aktuelle Entwicklungsumgebung verlässt um in einer anderen Funktion ein weiteres Feature einzuarbeiten.

Hier ging es nur darum einem Acad-Anwender schnell zu helfen, der auch schon die Routine zum Textabrunden kannte.

Also nichts für ungut. Unsere Applikationen sind auch als Lösung konzipiert und werden außschließlich in c++ mit .net Komponenten geschrieben.

Also bis demnächst in diesem Forum und vielen Dank erstmal

Claus

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

G.Woi
Mitglied
Bautechniker

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

Beiträge: 2
Registriert: 13.06.2013

erstellt am: 13. Jun. 2013 13:45    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 wolfcad 10 Unities + Antwort hilfreich

Hallo, habe das selbe Problem 
ich versuche ca. 60 Attribute zu von 6 auf 2 kommastellen zu runden, bekomme es jedoch mit keinem hilfsmittel hin. Wird wahrscheinlich an mir liegen!
Kann mir jemand helfen? Was muss man mit diesem Code machen?
Achso falls von bedeutung, nutze AUTO CAD 2012

Vielen Dank
Gregor

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 13. Jun. 2013 20:01    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 wolfcad 10 Unities + Antwort hilfreich

Hi, Noe !

*lach* wenn mir einer Lispelnd was um die Ohren haut, gugg ich auch nur wie ein Schwein ins Uhrwerk.
OK manche lieben auch HP Taschenrechner wegen der umgekehrten polnischen notation ... *duck*

Attribute zu runden ist ersteinmal deswegen schon erschwert weil es dumme Texte sind.
Wenn man "Pech" hat hat ein Block mehr als ein Attribut - und nicht jeder Wert ist eine Zahl.
Und mitunter soll auch nicht jede der Zahlen gerundet werden.
Bei "grossem Glueck" hat man auch mehr als eine Blockdefinition auf der Zeichnung mit diversen Attributen.
(Vorzugsweise auf mehreren Layer verstreut)
Um es noch etwas gemeiner zu machen - wie waer es mit dynamischen Bloecken die Attribute haben.
(Der Blockname ist dann allerdings easy zu merken *U+ne nummer).
Und na klar gibt es diverse "Geschmacksrichtungen" zu runden.
Kaufmaennisch,
Technisch,
Einfach nur die Zahlen wegflexen.

EH die Lispler loslegen - Ich brauch das nicht, und wenn, bremst mich das ein paar Minuten in VBA aus.
(Und das KANN ich  (Nein ich werd nicht auf nen Steinzeitinterpreter konvertieren - Mein Eisenzeitinterpreter mit Flux Compenser langt mir))

Zu dem "worsecase" - ist nicht ganz so schlimm wies ausschaut. (falls wer in der Lage ist ne DVB zu laden)

@Gregor bitte etwas mehr info
Wenn bedarf besteht code ich das.
Da kann man lustigere Sachen mit machen als nur runden.

LG aus Finnland

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

G.Woi
Mitglied
Bautechniker

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

Beiträge: 2
Registriert: 13.06.2013

erstellt am: 14. Jun. 2013 08:12    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 wolfcad 10 Unities + Antwort hilfreich

Hi rexxitall,

jaja lach nur 

Also mehr Infos.
Die Attribute kommen aus einer Bestandsvermessung, da hängen eine Punktnummer, ein Punktcode und die entsprechende Bestandshöhe dran, die gerundet werden soll. Alles befindet sich nur auf einem Layer. Es handelt sich ebenfalls nur um ein Block.
Also mir würde es echt schon reichen wenn man die Höhen in einem Rutsch geändert bekommen würde, viel mehr brauche ich nicht zu meinem Glück. Vielleicht ist es auch hilfreich wenn man so eine kleine Vermessungsdatei hochläd? Mit Attributen kenne ich mich da nicht besonders gut aus, leider  Wenn das zu wenige Infos sind, oder evtl. die falschen, sorry keine Absicht.
Wäre echt super wenn du mir da helfen könntest.

Gruß nach Finnland

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