Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Flächen als Ascii-Liste mit Koordinaten und nummeriert

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:  Flächen als Ascii-Liste mit Koordinaten und nummeriert (2059 mal gelesen)
LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 21. Mai. 2008 08: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

Hallo,

ich habe eine Datei mit massenhaft Flächen (geschlossene Polylinien) die ich als Ascii-Liste übergeben muss. Hier sollen die Koordinaten enthalten sein, und logischerweise auch die Eckpunkte entsprechend nummerriert sein. Darüber hinaus müssen die Flächen ja auch einen eindeutigen Index besitzen. Genauere Vorgaben habe ich nicht. Dachte da an folgende Struktur:

00001 3455754.8200 5610930.3100 1
00001 3455799.6200 5610926.8400 2
.
.
00002 3455793.0700 5610883.1800 1

Die Höhe ist im Moment nicht so wichtig. Gibt es die Möglichkeit dieses mit einer Lisp-Datei zu realisieren? Ich habe es auch mit MapInfo versucht, aber leider auch erfolglos.

Danke für eure Hilfe.

Gruß, Jens

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: 21. Mai. 2008 08:34    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 LoBrian 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von LoBrian:
Gibt es die Möglichkeit dieses mit einer Lisp-Datei zu realisieren?

Mit ner Programmierung geht immer ne ganze Menge, auch das. Aber reicht dir der Befehl Liste nicht schon mal und dann copy&paste aus dem Textfenster?

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 21. Mai. 2008 08:49    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 CADmium,

danke für die Antwort. Habe ich auch schon mal ins Auge gefasst, aber das erfordert ne Menge Nacharbeit. Die Daten sollen anschließend in die Barthauer Datenbank übernommen werden (Teilflächen zur hydraulischen Kanalberechnung). Suche halt nach einem einfachen und komfortablen Weg, da es sich um ca 10.000 Flächen handelt. Da ist die Nacharbeit fast nicht möglich...

Gruß, Jens

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: 21. Mai. 2008 09: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 LoBrian 10 Unities + Antwort hilfreich

.. nee, bei solcher Anzahl sollte man schon auf ein Programm zurückgreifen. Wenn du einen Lisp-Einstieg suchst, würde ich dir die Tutorials von Mapcar empfehlen-> selbige in gedruckter Form... oder , bei Zeitmangel, fehlenden Knowhow : du beauftragst solche Programmierung .. oder du wartest hier auf solche Gefälligkeit.

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 21. Mai. 2008 09: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

...dann hoffe ich mal darauf!  

Habe es gerade mal mit dxfkor.exe versucht, was ich in einem anderen Thread gefunden habe. Das ist schon fast perfekt, nur benötige ich hier noch eine fortlaufende Nummerrierung der Einzelflächen. Das Ergebnis schaut im Moment so aus:

           Polylinie Typ3 3472999,674 5701841,792 159,613 9
           Polylinie Typ3 3472997,030 5701839,413 159,613 9
           Polylinie Typ3 3472996,612 5701839,877 159,613 9
           Polylinie Typ3 3472995,152 5701838,564 159,613 9
           Polylinie Typ3 3472999,665 5701833,547 159,613 9
           Polylinie Typ3 3473004,165 5701837,568 159,613 9
           Polylinie Typ3 3473023,449 5701817,792 159,613 10
           Polylinie Typ3 3473025,548 5701819,541 159,613 10
           Polylinie Typ3 3473024,831 5701820,401 159,613 10
           Polylinie Typ3 3473023,909 5701819,633 159,613 10
           Polylinie Typ3 3473018,730 5701825,905 159,613 10
           Polylinie Typ3 3473017,647 5701825,692 159,613 10
           Polylinie Typ3 3473023,183 5701818,968 159,613 10
           Polylinie Typ3 3473022,566 5701818,481 159,613 10

Es sind hier die Flächen 9 und 10. Leider ist kein Anfangs- und Endpunkt der Fläche eingetragen.

[Diese Nachricht wurde von LoBrian am 21. Mai. 2008 editiert.]

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

Win 10
ACAD 2022

erstellt am: 21. Mai. 2008 13:09    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 LoBrian 10 Unities + Antwort hilfreich

Hallo LoBrian,
probier das mal aus. Schreibt alles in eine Textdatei direkt auf C:

(defun c l2txt (/ satz n m coords coord_list datei)
  (if (setq satz (ssget '((0 . "LWPOLYLINE"))))
    (progn
      (setq n (1- (sslength satz)))
      (repeat (sslength satz)
        (setq coords
              (gather (vlax-safearray->list
                        (vlax-variant-value (vla-get-coordinates (vlax-ename->vla-object (ssname satz n))))
                      )
                      2
              )
        )
        (setq m 0)
        (setq coord_list
              (cons (mapcar '(lambda (p) (setq m (1+ m)) (append (list (1+ n)) p (list m))) coords) coord_list)
        )
        (setq n (1- n))
      )
      (setq coord_list (apply 'append coord_list))
      (setq datei (open "c:/pl2txt.txt" "w"))
      (foreach
            zeile
                  coord_list
        (write-line (vl-string-trim "()" (vl-princ-to-string zeile)) datei)
      )
      (close datei)
    )
  )
  coord_list
)


Gruß
Andreas

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 23. Mai. 2008 10:27    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 Andreas,

vielen Dank für deine Antwort. Leider bekomm ich das nicht so recht zum laufen... Stell mich wohl ein wenig blöd an. 
Bekomme folgende Meldung:

Befehl: pl2txt
Objekte wählen: Entgegengesetzte Ecke angeben: 3 gefunden
1 wurde ausgefiltert.
Objekte wählen:
; Fehler: no function definition: VLAX-ENAME->VLA-OBJECT

Was muss ich denn genau tun?

Gruß, Jens

[Diese Nachricht wurde von LoBrian am 23. Mai. 2008 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: 23. Mai. 2008 17:47    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 LoBrian 10 Unities + Antwort hilfreich

gib mal
(vl-load-com)
als erste Lispzeile ein. Das ist notwendig, um die ActiveX-Schnittstelle zu initialisieren.

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 27. Mai. 2008 09:14    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,

jetzt bringt ACad folgende Meldung:

Befehl: pl2txt
Objekte wählen: Entgegengesetzte Ecke angeben: 5 gefunden
Objekte wählen:
; Fehler: no function definition: GATHER
Befehl:

Vielleicht noch einen Tip?   

Danke schön...

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: 27. Mai. 2008 09: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 LoBrian 10 Unities + Antwort hilfreich

jo .. da hat dir wohl Andreas noch ne subroutine unterschlagen..


die ungefähr so aussehen könnte :

(defun GATHER (LISTE ANZ / SUBLIST RETURN)
  (repeat (fix(/(length LISTE)ANZ))
    (setq SUBLIST nil)
    (repeat ANZ
      (setq SUBLIST (cons (car LISTE) SUBLIST))
      (setq LISTE (cdr LISTE))
    )
    (setq RETURN (cons (reverse SUBLIST)RETURN))
  )
  (reverse RETURN)
)

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 30. Mai. 2008 14:44    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,

jetzt klappt es, aber so eine Kleinigkeit bleibt da noch als Frage...

Bekomme folgendes Format:

1 3.47245e+006 5.60154e+006 1
1 3.47248e+006 5.60154e+006 2
1 3.47248e+006 5.60155e+006 3
1 3.47246e+006 5.60155e+006 4
1 3.47245e+006 5.60154e+006 5
2 3.47317e+006 5.60222e+006 1
2 3.47317e+006 5.60222e+006 2
2 3.47317e+006 5.60222e+006 3
2 3.47318e+006 5.60224e+006 4
2 3.47318e+006 5.60226e+006 5
2 3.47319e+006 5.60229e+006 6
2 3.47319e+006 5.60229e+006 7

Bräuchte die Koordinaten jedoch etwas genauer wie auf 10m (max. Fehler in diesem Format), am besten bis auf 1 cm genau. Kann ich das noch irgendwie einstellen?

Bsp.:       2 3473195,78 5602297,08 7

Vielen Dank schon mal und ein schönes Wochenende...

Grüße, Jens

[Diese Nachricht wurde von LoBrian am 03. Jun. 2008 editiert.]

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 03. Jun. 2008 09:17    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

Hab noch mal alle möglichen Einstellungen für die Einheiten ausprobiert, aber leider ohne Erfolg. 

Hat noch jemand ne Idee?

Danke schon mal, Jens

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. Jun. 2008 09: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 LoBrian 10 Unities + Antwort hilfreich

schon, da dürfte man dann nicht mit (vl-princ-to-string ..) arbeiten sondern müßte die Koordinaten werte mit (rtos .. ) konvertieren, mit strcat zusammenpappen usw.

Vielleicht hat ja einer Zeit?

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 03. Jun. 2008 11: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

Habe jetzt mal versucht, die Zeile:

(write-line (vl-string-trim "()" (vl-princ-to-string zeile)) datei)

durch folgenden Eintrag zu ersetzen:

(write-line (strcat  (rtos X) ";" (rtos Y)) datei)

Leider gibt er mir jetzt wieder gar nichts aus?

Grüße, Jens

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 03. Jun. 2008 11: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 LoBrian 10 Unities + Antwort hilfreich

tausch mal die foreach schleife aus:

Hier mal was neues

Code:
(foreach
            zeile
                  coord_list
        (write-line (strcat
                      (vl-princ-to-string (nth 0 zeile))
                      (rtos (nth 1 zeile) 2 4)
                      (rtos (nth 2 zeile) 2 4)
                      (vl-princ-to-string (nth 3 zeile))
                      )
          datei)
      )

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

LoBrian
Mitglied
Bauingenieur


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

Beiträge: 23
Registriert: 10.09.2003

erstellt am: 03. Jun. 2008 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

Genial,

das ist es! Super, danke sehr!

Grüße, Jens

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