Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  ASCII Grid in XYZ File umwandeln

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:  ASCII Grid in XYZ File umwandeln (4912 mal gelesen)
Rudolfthomas
Mitglied
Bautechniker

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

Beiträge: 8
Registriert: 01.03.2005

erstellt am: 14. Dez. 2005 12: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

Grüß euch,

Folgendes Problem: Ich habe ein ASCII File mit einem Startpunkt und einem definierten Rasterabstand und weiterführend nur mehr Höhendaten (Z-Koordinaten). Mir fehlen die entsprechenden X- und Y-Koordinaten. Diese lassen sich aber auf Grund des bekannten Startpunktes und des Rasterabstandes berechnen. Nur ist das Datenvolumen für eine händische Änferung zu groß und die Abfrage bekomme ich nicht hin um es automatisch zu berechnen. Geschweige denn die Berechnung! Ich habe zwar ein Phyton Script gefunden, aber mit dem fange ich nicht viel an!

Bitte um Hilfe!

------------------
RT

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: 14. Dez. 2005 12: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 Rudolfthomas 10 Unities + Antwort hilfreich

Willkommen im Forum!

Wenn du dich in Lisp einarbeiten willst, empfehle ich dir Mapcars Online Tutorial, wenn du die Aufgabe beauftragen willst, dann such dir jemand, der sich schon mit der Autocadprogrammierung auskennt. Sind ja einige in den Foren unterwegs.

Oder hast du schon Algorithmen, Codefragmente, und kommst nur an einigen Stellen nicht weiter? Dann frag konkret.

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

StephanJP
Mitglied
CAD-Admin


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

Beiträge: 829
Registriert: 09.11.2000

erstellt am: 14. Dez. 2005 12:52    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 Rudolfthomas 10 Unities + Antwort hilfreich

Hallo Rudolf und willkommen im Forum,

am besten hängst Du mal einen Teil Deiner ASCII-Datei hier an, damit die Leute hier gemauer erkennen können, in welcher Form das gehen kann. Prinzipiell kann man da bestimmt was machen, aber ob hier jemand sowas fertig in der Schublade liegen hat....

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

gruß
Stephan

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

Rudolfthomas
Mitglied
Bautechniker

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

Beiträge: 8
Registriert: 01.03.2005

Intel P4 3,2 GHz
1 GB RAM
NVIDIA GeForce 6600
.
WinXP prof.
Autodesk Civil 3D 2006 SP 2

erstellt am: 14. Dez. 2005 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


auszug.txt

 
Hallo,

Danke für eure schnellen Antworten;

Es geht darum, dass ich folgendes habe:

(defun C ktgis( / FileName FileImport ImportRow X Y Z xStart yStart zStart xLen yLen zLen x1Fenster y1Fenster x2Fenster y2Fenster fenster1 fenster2)

; ---- Einstellungen ----------------------------------------------

  (setq xStart 1)      ; Beginn der x-Koordinate im Datenfile bei Zeichen 1
  (setq xLen 11)        ; Länge der x-Koordinate im Datenfile 11 Zeichen
 
  (setq yStart 13)    ; Beginn der y-Koordinate im Datenfile bei Zeichen 13
  (setq yLen 11)        ; Länge der y-Koordinate im Datenfile 11 Zeichen

  (setq zStart 25)    ; Beginn der z-Koordinate im Datenfile bei Zeichen 25
  (setq zLen 6)        ; Länge der z-Koordinate im Datenfile 6 Zeichen

; -----------------------------------------------------------------

  (alert (strcat "    Einlesen von Geländepunkten aus" (chr 13)
                  "Koordinatenlisten im BUNDESMELDENETZ" (chr 13) (chr 13)
                  "Auswahl des Koordinatenfensters in Gauß-Krüger" (chr 13)
                  "(z-Wookdinate ohne 5 Mio. !!!"
          )
  )

  (setq fenster1 (getpoint "Bereichsfenster - Links unten : "))
  (setq fenster2 (getcorner fenster1 "Bereichsfenster - Reschts oben: "))
  (setq x1Fenster (car fenster1))
  (setq y1Fenster (cadr fenster1))
  (setq x2Fenster (car fenster2))
  (setq y2Fenster (cadr fenster2))

  (alert (strcat "aktueller Ausschnitt:" (chr 13)
                  "    links-unten x=" (rtos x1Fenster) "  y=" (rtos y1Fenster) (chr 13)
                  "    rechts-oben x=" (rtos x2Fenster) "  y=" (rtos y2Fenster)
          )
  )

  (setq FileName (getfiled "NÖGIS Datenfile laden" "" "*" 8))
  (setq FileImport (open FileName "r"))
  (setq ImportRow (read-line FileImport))

  (while (/= ImportRow "nil")
                    (setq X (read (substr ImportRow xStart xLen)))
                    (setq X (- X 750000))
                    (setq Y (read (substr ImportRow yStart yLen)))
                    (setq Z (read (substr ImportRow zStart zLen)))
;                  (print (strcat "x=" (rtos X) "  y=" (rtos Y) "  z=" (rtos Z)))
                    (if (AND (>= X x1Fenster) (<= X x2Fenster) (>= Y y1Fenster) (<= Y y2Fenster))
                        (progn 
                          (command "_point" "_none" (list X Y Z))
;                          (command "_text" "_none" (list X Y Z) 0.5 0 (rtos Z 2 2))
                        )
                    )

                    (setq ImportRow (read-line FileImport))
  )
  (close FileImport)

Nun möchte ich das veränderte Ausgangsfile hernehmen und daraus zuerst die Koordinaten berechnen und dann in weiterer Folge zeichnen!

Leider kenn ich die Zeilenabfrage nicht und weiß auch nicht, wie ich definiere, wann nach der letzten Spalte eine neue Zeile abgefragt wird

------------------
RT

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

Bricscad V7 - V11

erstellt am: 14. Dez. 2005 13:23    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 Rudolfthomas 10 Unities + Antwort hilfreich

Hallo Rudolf!

Bei so Problemen greife ich gerne auf andere Wege zurück:
Ließ die Datei in Excel ein. Dann hast du eine Spalte mit den Höhen. Jetzt kannst du die X und Y Koordinaten einfach erzeugen. Schreibe für die ersten drei bis vier Punkte die Koordinaten mit der Hand. Dann einfach den Bereich markieren und an dem kleinen schwarzen Punkte unten rechts ziehen. Die Koordinaten werden in diesem System weitergeführt (z. B. der X-Wert immer um 5 erhöht, Y-Wert bleibt). Ein bisschen Probieren und schon geht's. Wenn man's öfters macht, dauert dass für ein Raster mit 100x100 Punkten ungefähr 2 Minuten!
Jetzt noch entsprechend speicher, Voilá, fertig. 

------------------
Grüße aus dem Siegerland,

Stefan 

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

Rudolfthomas
Mitglied
Bautechniker

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

Beiträge: 8
Registriert: 01.03.2005

erstellt am: 14. Dez. 2005 13:35    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 s.wickel,


Mein Vorname ist Thomas, macht aber nichts;

zum Thema:

Ich habe ja insgesamt 4 Fils mit je 10.000 x 10.000 Punkten

Daher ist es mit Excel nicht mehr möglich;

Dazu kommt noch, dass jede Zeile des Textfiles nach 20 Werten einen Zeilenumbruch hat. Normalerweise sollte aber nur eine Zeilenumbruch alle 1000 Werte sein, da ja dann eine weitere Zeile laut Definition sein sollte;

Andere Vorschläge?

------------------
RT

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 14. Dez. 2005 14:06    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 Rudolfthomas 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Rudolfthomas:
...Ich habe ja insgesamt 4 Files mit je 10.000 x 10.000 Punkten


Darf ich anmerken, dass das dann 400 Millionen Punkte in AutoCAD werden! Wer soll das denn sinvoll weiterbearbeiten?
Wenn das einfach nur ein Raster mit Höhendaten ist und es soll daraus ggf. noch ein DGM erzeugt werden oder auch nur Dreieckfslächen zur Visualisierung, dann ist AutoCAD total überfordert.
Jenseits der Millionengrenze wirds auch mit einen schnellen Rechner unter AutoCAD quälend.
Ich würde die Daten zuerst sinnvoll verkleinern (redundante Daten eleminieren). Es werden sicher eine Menge nebeneinanderliegende Rasterpunkte annähernd (im Toleranzbereich) gleiche Höhenwerte aufweisen. Diese kann man ja zuerst eleminieren.

Was soll den letztendlich mit den Daten gemacht werden?

------------------
Mit freundlichem Gruß

Udo Hübner

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

Rudolfthomas
Mitglied
Bautechniker

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

Beiträge: 8
Registriert: 01.03.2005

erstellt am: 14. Dez. 2005 14:15    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 ist schon klar; aber woher soll ich schon vorher wissen, Höhen ich benötigen werde, wenn ich nicht einmal weiß wo diese sind!

Mit den Daten soll ein DGM erstellt werden!

------------------
RT

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

Bricscad V7 - V11

erstellt am: 14. Dez. 2005 15:31    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 Rudolfthomas 10 Unities + Antwort hilfreich

Hallo Thomas!

Wenn ich es richtig verstanden habe, liest dein gepostetes Programm Werte aus einer Datei ein und zeichnet einen Punkte.
Allerdings enthält die Datei pro Zeile nur einen Punkt mit X Y und Z-Koordinate (im GK-System). Du willst das jetzt für deine Datei anpassen. Problem: Keine X und Y-Koordinaten und die Z-Koordinaten stehen auch noch in einer Zeile. Ich habe dein Programm so angepasst, dass die Zeile genommen wird, ein die einzelnen Bestandteile zerlegt und um die einzelnen Koordinaten um die berechneten X und Y-Werte ergänzt werden. Den Abschnitt mit den wesentlichen Änderungen habe ich zwischen die Sternchenzeilen geschrieben. Die Daten werden einfach eingelesen, bis keine Punkte mehr da sind, egal wieviele Werte in einer Zeile stehen (bei 10.000 könnte es da vielleicht auch zu Problemen kommen, weil ich APPEND verwendet habe, aber ohne hätte ich erst noch mehr forschen müssen, deshlab sind 20 pro Zeile gar nicht schlecht).

Code:

(defun C:bktgis ( / liste pkt NCols NROWS XLLCORNER YLLCORNER CELLSIZE str FileName FileImport ImportRow X Y Z xStart yStart zStart xLen yLen zLen x1Fenster y1Fenster x2Fenster y2Fenster fenster1 fenster2)

; ---- Einstellungen ----------------------------------------------

;  (setq xStart 1)      ; Beginn der x-Koordinate im Datenfile bei Zeichen 1
;  (setq xLen 11)        ; Länge der x-Koordinate im Datenfile 11 Zeichen

;  (setq yStart 13)    ; Beginn der y-Koordinate im Datenfile bei Zeichen 13
;  (setq yLen 11)        ; Länge der y-Koordinate im Datenfile 11 Zeichen

;  (setq zStart 25)    ; Beginn der z-Koordinate im Datenfile bei Zeichen 25
;  (setq zLen 6)        ; Länge der z-Koordinate im Datenfile 6 Zeichen

; -----------------------------------------------------------------

;  (alert "Einlesen von Geländepunkten aus\nKoordinatenlisten im BUNDESMELDENETZ\n\nAuswahl des Koordinatenfensters in Gauß-Krüger\n z-Wookdinate ohne 5 Mio. !!!")

  (setq fenster1 (getpoint "Bereichsfenster - Links unten : "))
  (setq fenster2 (getcorner fenster1 "Bereichsfenster - Reschts oben: "))
  (setq x1Fenster (car fenster1))
  (setq y1Fenster (cadr fenster1))
  (setq x2Fenster (car fenster2))
  (setq y2Fenster (cadr fenster2))

  (alert (strcat "aktueller Ausschnitt:\nlinks-unten x="
                (rtos x1Fenster)
                "  y="
                (rtos y1Fenster)
                "\n    rechts-oben x="
                (rtos x2Fenster)
                "  y="
                (rtos y2Fenster)
          )
  )

  (setq FileName (getfiled "NÖGIS Datenfile laden" "" "*" 8))
  ;(setq FileName "c:\\temp\\auszug.txt")
  (setq FileImport (open FileName "r"))

;***********************************************************************************************************************************

;Ab hier wesentlich geändert
  (setq ImportRow (read-line FileImport))  ;Werte aus Dateikopf lesen
  (setq NCOLS (atoi (substr importrow 7)))
  (setq ImportRow (read-line FileImport))
  (setq NROWS (atoi (substr importrow 7)))
  (setq ImportRow (read-line FileImport))
  (setq XLLCORNER (atof (substr importrow 11)))
  (setq ImportRow (read-line FileImport))
  (setq YLLCORNER (atof (substr importrow 11)))
  (setq ImportRow (read-line FileImport))
  (setq CELLSIZE (atof (substr importrow 10)))
  (setq ImportRow (read-line FileImport))
  (setq ImportRow (read-line FileImport))

  (Setq X XLLCORNER)
  (Setq Y YLLCORNER)

  (while (/= ImportRow ())  ;Für jede Datenzeile
    (setq liste ()) ;Liste auf NIL setzen
    (foreach str (str-tok ImportRow " ") (setq liste (append liste (list (atof str))))) ;Zeile in einzelne Elemente zerlegen
    (foreach pkt liste  ;für jeden Punkt
      ;(command "_point" "_none" (list X Y pkt))
      (entmake (list '(0 . "POINT") (cons 10 (list X Y pkt))))
      (setq x (+ x CELLSIZE))
      (if
        (> X (+ XLLCORNER (* (1- NCOLS) CELLSIZE)))
        (progn
          (Setq X XLLCORNER)
          (Setq Y (+ y CELLSIZE))
        )
      )
    )
    (setq ImportRow (read-line FileImport))
  )

;***********************************************************************************************************************************

  (close FileImport)
)


Hoffentlich hilft es dir!

Ach so: Es wird eine Funktion von MAPCAR verwendet:

Code:

(defun str-tok(str c / tmp)  ;teilt den String str an den Stellen, an denen das Zeichen c auftritt (auch mehrfach)
  (if(/= str "")
    (progn
      (setq tmp(str-div str c))
      (append(list(car tmp))(str-tok(cadr tmp)c))
    )
  )
)

(defun str-div(str c / i l )  ;teilt den String str an der Stelle in zwei Teile, an dem das Zeichen c erstmals auftritt
  (setq i 1)
  (setq l(strlen str))
  (while(and(<= i l)(/=(substr str i 1)c))
    (setq i(1+ i))
  )
  (list(substr str 1(1- i))(substr str(1+ i)))
)



Wenn's nicht klappt, melde dich!

------------------
Grüße aus dem Siegerland,

Stefan     

[Diese Nachricht wurde von s.wickel am 14. Dez. 2005 editiert.]

[Diese Nachricht wurde von s.wickel am 14. Dez. 2005 editiert.]

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

Rudolfthomas
Mitglied
Bautechniker

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

Beiträge: 8
Registriert: 01.03.2005

erstellt am: 14. Dez. 2005 17: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,

Herzlichen Dank für die promte Hilfe;

Programm läuft, so dass ich gar nicht mal mehr auf dem Rechner arbeiten kann, weil wie prognostiziert die Datenmenge ein Wahnsinn ist!!

Habe es noch ein wenig verändert (besser gesagt unnötige Dinge entfernt!)

Siehe ab hier:

(defun C:dgm ( / liste pkt NCols NROWS XLLCORNER YLLCORNER CELLSIZE str FileName FileImport ImportRow X Y Z)

(setq FileName (getfiled "Datenfile laden" "" "*" 8))
;(setq FileName "c:\\temp\\auszug.txt")
(setq FileImport (open FileName "r"))


(setq ImportRow (read-line FileImport)) ;Werte aus Dateikopf lesen
(setq NCOLS (atoi (substr importrow 7)))
(setq ImportRow (read-line FileImport))
(setq NROWS (atoi (substr importrow 7)))
(setq ImportRow (read-line FileImport))
(setq XLLCORNER (atof (substr importrow 11)))
(setq ImportRow (read-line FileImport))
(setq YLLCORNER (atof (substr importrow 11)))
(setq ImportRow (read-line FileImport))
(setq CELLSIZE (atof (substr importrow 10)))
(setq ImportRow (read-line FileImport))
(setq ImportRow (read-line FileImport))

(Setq X XLLCORNER)
(Setq Y YLLCORNER)

(while (/= ImportRow ()) ;Für jede Datenzeile
(setq liste ()) ;Liste auf NIL setzen
(defun str-tok(str c / tmp) ;teilt den String str an den Stellen, an denen das Zeichen c auftritt (auch mehrfach)
(if(/= str "")
(progn
(setq tmp(str-div str c))
(append(list(car tmp))(str-tok(cadr tmp)c))
)
)
)
(defun str-div(str c / i l ) ;teilt den String str an der Stelle in zwei Teile, an dem das Zeichen c erstmals auftritt
(setq i 1)
(setq l(strlen str))
(while(and(<= i l)(/=(substr str i 1)c))
(setq i(1+ i))
)
(list(substr str 1(1- i))(substr str(1+ i)))
)
(foreach str (str-tok ImportRow " ") (setq liste (append liste (list (atof str))))) ;Zeile in einzelne Elemente zerlegen
(foreach pkt liste ;für jeden Punkt
;(command "_point" "_none" (list X Y pkt))
(entmake (list '(0 . "POINT") (cons 10 (list X Y pkt))))
(setq x (+ x CELLSIZE))
(if
(> X (+ XLLCORNER (* (1- NCOLS) CELLSIZE)))
(progn
(Setq X XLLCORNER)
(Setq Y (+ y CELLSIZE))
)
)
)
(setq ImportRow (read-line FileImport))
)
(close FileImport)
)


Nochmals recht herzlichen Dank!!

------------------
RT

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

Bricscad V7 - V11

erstellt am: 15. Dez. 2005 08:35    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 Rudolfthomas 10 Unities + Antwort hilfreich

Guten Morgen Thomas!

Freut mich dass es läuft  . Bitte kontrolliere, ob das Ergebnis plausibel ist und nicht so Sachen passiert sind wie:
- X und Y vertauscht
- Immer einen X-Wert zuviel eingelesen (oder zu wenig), der würde dann nämlich am Anfang der nächsten Reihe eingefügt.

Bitte genau kontrollieren, sonst hast du 'ne Menge Ärger am Hals  .

------------------
Grüße aus dem Siegerland,

Stefan

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

Rudolfthomas
Mitglied
Bautechniker

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

Beiträge: 8
Registriert: 01.03.2005

erstellt am: 15. Dez. 2005 09:21    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 s.wickel,


Es ist tatsächlich so, dass etwas daran faul ist!

Nur weiß ich nicht wo der Fehler liegt. Habe ein kleines File selbst erstellt, das 9 Höhenpunkte enthält und habe versucht, dieses mittels Lisp auszulesen. einwandfrei!!

Möglicherweise hat das Ausgangsfile die höhen in Spalten und nicht in Zeilen; dann ist das Lisp nämlich unbrauchbar!

------------------
RT

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

Bricscad V7 - V11

erstellt am: 15. Dez. 2005 09:33    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 Rudolfthomas 10 Unities + Antwort hilfreich

Wenn du die komplette Datendatei mal mailen könntest, könnte ich genauer nachsehen! Wenn die Höhen nicht durch Leerzeichen sondern durch Tabs getrennt sind lässt sich schnell was machen. Aber dann dürfte es vor Fehlermeldungen nur so hageln. Wenn das Format der Datei kompliziert ist würde eine Umformatierung "vonn Hand" (mit einem guten Texteditor) vielleicht Abhilfe schaffen.

------------------
Grüße aus dem Siegerland,

Stefan

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

Bricscad V7 - V11

erstellt am: 15. Dez. 2005 09: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 Rudolfthomas 10 Unities + Antwort hilfreich


Zeichng1-Model.jpg

 
Ich hab's ausprobiert mit einer selbsterstellten Datei. Zur Kontrolle habe ich auf dem Gelände 3d-Polylinie gezeichnet (vor dem einlesen). Das Ergebnis im Anhang. Die Roten Linien sind nur zur Verdeutlichung des Geländes.
Die Eingabedatei muss genau dem format entsprechen, wie die von dir gepostete "Auszug.txt"!!

------------------
Grüße aus dem Siegerland,

Stefan

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

Rudolfthomas
Mitglied
Bautechniker

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

Beiträge: 8
Registriert: 01.03.2005

erstellt am: 15. Dez. 2005 12:52    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 s.wickel,

Das Lisp Programm stimmt ja wie gesagt! vielleicht sind x und y vertauscht, es kann aber auch sein, dass die Höhen in Spalten und nicht in Zeilen ausgelesen werden, doch dafür habe ich das Lisp bereits abgeändert!

Am Lisp dürfte es anscheinend nicht liegen!

Ich weiß nicht mehr weiter, aber das Lisp-Thema ist auf jeden Fall gelöst!

mfG, Thomas

------------------
RT

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