Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Zahlen umrechnen bzw. korrigieren

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:  Zahlen umrechnen bzw. korrigieren (587 / mal gelesen)
Phometric40
Mitglied
Vermesser


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

Beiträge: 19
Registriert: 12.05.2007

Windows 10
BricsCAD 22

erstellt am: 29. Sep. 2023 11:50    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 zusammen,
wir haben eine größere Anzahl Zeichnungen, in denen z.B. Schächte usw. mit einer Höhe als TEXT beschriftet sind. (z.B. "SD = 321,25"
Da sich das Höhensystem jetzt geändert hat, müssen wir hunderte Werte korrigieren, also z.B. 4cm abziehen (NEU: "SD = 321,21")

Fällt jemandem dazu eine LIST Routine o.ä. ein?

Danke

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

Peter2
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3834
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2023
BricsCAD 23

erstellt am: 29. Sep. 2023 12:20    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 Phometric40 10 Unities + Antwort hilfreich

das ist natürlich gefundenes Fressen für LISP, aber fertiges wird es hier kaum geben. Das müsste man sauber definieren - was suche ich, welche Ausnahmen gibt es, wie geht man mit Wertefehlern um (21,25), wie mit Eingabefehlern (321.25), soll man es protokollieren, soll man es vollautomatisch durchlaufen lassen oder jeweils anzeigen, ..?

Wie gesagt - schön zu machen, aber wahrscheinlich(??) nicht fertig.

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

spider_dd
Mitglied



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

Beiträge: 1137
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 29. Sep. 2023 13:07    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 Phometric40 10 Unities + Antwort hilfreich

Quick and dirty und schon seit längerer Zeit im Gebrauch:

Code:

;  modiho_prefix.lsp
;  Ändern des Wertes von Höhenangaben mit Prefix, Differenz nach Wahl
;  erstellt 08/17  Th.Jakob
; Prefix als beliebiger Text bis zum ersten Leerzeichen von hinten
; Punkt oder Komma als Dezimaltrenner erlaubt und wird beibehalten
;
;----------------------------------------------
(princ "Start mit modiho ")
;
(defun dtp(wert)
;  Parameter: Zahl als Zeichenkette
;  Rueckgabe: Zahl als Zeichenkette mit Dezimaltrenner Punkt
  (vl-string-translate "," "." wert)
)


(defun dtk(wert)
;  Parameter: Zahl als Zeichenkette
;  Rueckgabe: Zahl als Zeichenkette mit Dezimaltrenner Komma
  (vl-string-translate "." "," wert)
)

; Elementliste aus Auswahlsatz bauen
; Parameter: Auswahlsatz
; Rueckgabe: Liste der Elementnamen
(defun bau_elemli (asatz / anz i liste)
  (setq i -1)
  (repeat (sslength asatz)
    (setq liste (cons (ssname asatz (setq i (1+ i))) liste))
  )
  (setq liste liste)
)

(defun c:modiho( / differenz Nachkomma t_aws t_li ct ctl alt_txt neu_txt altwert_txt neuwert_txt lpos)
;
  (princ "MODIHO  -  Modifizierung von Höhenangaben")
  (print )
  (setvar "cmdecho" 0)
  (setvar "osmode" 0)
  (setvar "3Dosmode" 0)
  (setvar "pdmode" 0)

  (initget 1)     ; keine Leereingaben
  (setq differenz (getreal "Differenzbetrag: "))
  (setq Nachkomma (getint "Anzahl der Nachkommastellen: "))
  (print "Texte auswählen ")

  (if (setq t_aws (ssget '((0 . "TEXT"))))
      (progn
    (setq t_li (bau_elemli t_aws))
(foreach ct t_li
          (setq ctl (entget ct))
          ;   alten wert holen
          (setq alt_txt (cdr (assoc 1 ctl)))
          (setq lpos (+(vl-string-position (ascii " ") alt_txt 0 T) 1))
          (setq altwert_pre (substr alt_txt 1 lpos) altwert_txt (substr alt_txt lpos))
          (setq dezitrenn "K")
  (if (vl-string-search "," altwert_txt)
      (setq altwert_txt (dtp altwert_txt))
  (setq dezitrenn "P")
  )  
          (setq neuwert_txt (rtos (+ (atof altwert_txt) differenz) 2 Nachkomma))
  (if (= dezitrenn "K") (setq neuwert_txt (dtk neuwert_txt)))
          (setq neu_txt (strcat altwert_pre neuwert_txt))

          ;   textinhalt setzen auf neuwert_txt
          (setq ctl (subst (cons 1 neu_txt) (assoc 1 ctl) ctl))
          (entmod ctl)
          (entupd ct)
        )
  )
  (print "Keine Texte ausgewaehlt")
  )
  (setvar "cmdecho" scmde)
  (setvar "osmode" sosmode)
  (setvar "3Dosmode" s3Dosmode)
  (setvar "pdmode" spdmode)
)


[Diese Nachricht wurde von spider_dd am 29. Sep. 2023 editiert.]

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2789
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 29. Sep. 2023 13:08    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 Phometric40 10 Unities + Antwort hilfreich

Ach ja, das schöne Problem mit dem neuem Höhensystem ... (was lob ich mir meine Datenbanken   )

Prinzipiell ist das machbar, wie Peter schon schrieb. Aber man muß hier höllisch aufpassen.
Du hast bei Dir Bricscad22 aufgeführt, kann man da auch schon die CivilPoints verwenden? Dann könntest Du evtl. die Punkte dorthin überführen und die Höhenkorrektur durchführen lassen. Sollten das wirklich nicht gruppierte Texte oder Blöcke sein wird das aber schwierig.

Dann müßte man schon spezielle Vorgaben treffen, z.B. alle Texte die mit "SO = ", "DK = ", "S1 = " beginnen, damit nicht irgendwelche anderen Texte, z.B. Längenangaben, verändert werden. Etwas einfacher wäre es wenn man spezielle Layer definieren könnte auf denen die zu ändernden Daten liegen. Sollten natürlich in alle Zeichnungen gleich benannt sein.

Viel Spaß dabei  
Grüße,
Klaus  

[edit] Oder man macht es so wie Spider mit Vorauswahl der Texte. Sollten halt nur zu ändernde Texte in der Zeichnung sein bzw. die nicht zu ändernden Layer gefroren / gesperrt.

[Diese Nachricht wurde von KlaK am 29. Sep. 2023 editiert.]

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

archtools
Mitglied



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

Beiträge: 943
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 29. Sep. 2023 13:08    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 Phometric40 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Peter2:
das ist natürlich gefundenes Fressen für LISP

... und wenn man das dann programmiert, dann selbstverständlich so, dass alle gleichartigen Höhenangaben (z.B. ganz simpel durch saubere Layerhaltung, oder besser durch XDATA) identifizierbar sind, und dass die neuen Höhenangaben sich auf eine Bezugshöhe beziehen, die auf geeignete Weise in der DWG gespeichert ist. Dann kann man, falls sowas später nochmals nötig wird, einfach diese Bezugshöhe ändern, und automatisch alle sich darauf beziehenden Höhen ändern lassen.

In den kostenfrei erhältlichen ArchTools ist das alles eingebaut. Aber die bereits existierenden Höhentexte müssen immer noch durch ein geeignetes Lisp konvertiert werden. Dafür gibt es keine allgemeingültige Lösung, weil das davon abhängt, wie die Datenhaltung in der DWG aussieht.

Sowas muss bei einem Lispler beauftragt werden.

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

cadffm
Moderator
良い精神




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

Beiträge: 22171
Registriert: 03.06.2002

Alles

erstellt am: 29. Sep. 2023 13:20    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 Phometric40 10 Unities + Antwort hilfreich

Phometric40
Noch die ganzen SETVARs raus und ggf. *TEXT statt TEXT zulassen um es allgemeingültiger zu halten,
dann sollte das für diesen Fall und den Hausgebrauch ausreichen.
https://ww3.cad.de/kurt/Unities.shtml

Beim nächsten mal vielleicht Blöcke oder zumindest Schriftfelder nutzen
welche sich auf eine Höhen-Basis beziehen, welche man einfach (zentral) ändern kann!?
Dann gäbe es das Problem nicht.

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

Phometric40
Mitglied
Vermesser


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

Beiträge: 19
Registriert: 12.05.2007

Windows 10
BricsCAD 22

erstellt am: 29. Sep. 2023 13:25    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 für die schnellen Antworten.

@spider_dd: sieht auf dem ersten Blick gut aus. Werde ich einmal an unseren Daten ausprobieren.
@KlaK: Ja, das Höhenproblem. Allerdings sind das nur einfache Texte und keine Messpunkte. Die könnte ich im Vermessungsprogramm selbst einfach transformieren.
@archtools: Eine Bezugshöhe muss m.E. nicht gespeichert werden. Die werden ja so schnell nicht noch einmal das Höhensystem ändern

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

archtools
Mitglied



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

Beiträge: 943
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 29. Sep. 2023 22:13    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 Phometric40 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Phometric40:
@archtools: Eine Bezugshöhe muss m.E. nicht gespeichert werden. Die werden ja so schnell nicht noch einmal das Höhensystem ändern

Wer weiß das schon? Ich kenne Anwender, bei denen wird so ein Bezugswert immer dann geändert, wenn eine DWG von einem Unternehmen zu einem anderen gereicht wird. Häufiger aber ist der Fall, dass ein Unternehmen in seinen DWGs jeweils individuelle Bezugswerte hat. Da ist es immer sinnvoll, einfach per Klick zu erfahren, worauf sich die Werte in einer DWG beziehen.

Der Aufwand ist minimal, und man hat dann immer saubere DWGs mit konsistenter Datenhaltung.

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



Entwicklungsingenieur Maschinen- und Anlagenbau (m/w/d)
Technologien auf das nächste Level zu heben, sich Herausforderungen zu stellen und an den Innovationen von morgen zu arbeiten - dafür benötigen wir bei FERCHAU Expert:innen wie dich: als Entwicklungsingenieur:innen, die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden im Maschinen- und Anlagenbau und für alle Branchen und übernehmen Verantwortung für komplexe Entwicklungsprojekte....
Anzeige ansehenKonstruktion, Visualisierung
VMichl
Mitglied



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

Beiträge: 217
Registriert: 04.01.2001

AutoCAD, LT, Inventor, Revit, Map, LISP...
Firma: Arkance Systems (CAD Studio)

erstellt am: 02. Okt. 2023 19: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 Phometric40 10 Unities + Antwort hilfreich

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)2024 CAD.de | Impressum | Datenschutz