Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Wer kan mir den Fehler sagen??

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:  Wer kan mir den Fehler sagen?? (1504 mal gelesen)
Petra_Sp
Mitglied



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

Beiträge: 130
Registriert: 28.10.2003

AutoCad 2004 Deutsch
AutoCad 2004 Englisch
Jetzt auch AutoCad 2006 Deutsch

erstellt am: 12. Mai. 2004 18: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


Korliste1.zip

 
Hallo Leute
Ich hab hier ein altes Lisp Programm aus dem AutoCad Magazin Jahr 1999, aber es funktioniert unter Auto cad 2004 nicht mehr!! Vielleicht kann mir jemand helfen dieses Lisp umzuschreiben so das es auch im 2004 funktioniert! Ich würde es ganz dringend benötigen da es sich für Koordinaten Einlesung und so ganz nützlich sein könnte!!

Hoffe es kann mir jemand helfen

vielen Dank

mfg Petra

------------------
LG Petra

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 12. Mai. 2004 20: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 Nur für Petra_Sp 10 Unities + Antwort hilfreich

Welche Fehlermeldung/Fehlverhalten bekommst du ? Sind die zwei Dateien DCL und DAT für das Lisp erreichbar ? Muss es eine normale Linie sein die mit dem Lisp erzeugt werden soll ? Ein paar Infos wäre sehr Hilfreich bei der Verbesserung.

ich würde erstmals die Befehle etwas Sprachunabhänig machen z.B.:

Zitat:

[...]
              (if (and (= zeichlinie "J") (> zaehler 1))
                (progn
                  (command "._-layer" "_make" "punktverbindungslinie" "_color" "3" "" "")  ;Layer anlegen fuer Punktverbindungslinie
                  (command "._pline" punkt0 punkt1 "")
                  (setq punkt0 punkt1)                                ;wird nur benoetigt wenn Verbindung punkt0-punkt1 erzeugt
                )
[...]

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

Petra_Sp
Mitglied



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

Beiträge: 130
Registriert: 28.10.2003

AutoCad 2004 Deutsch
AutoCad 2004 Englisch
Jetzt auch AutoCad 2006 Deutsch

erstellt am: 12. Mai. 2004 20:30    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 Proxy

1. Danke für deine schnelle Antwort
2. Die 3 Datein liegen alle in einem Ordner wo auch eine Support" Pfad hinführt!
3. Wenn ich die Datei korliste1.lsp über den Visual Lisp Editor reinladen schreibt er mir schon mal:
                ; error: bad element in arguments list: 0
4. Wenn ich dann das Programm aufrufe, erklärt er mir eben was das fpr Programm ist usw. und als letzes fragt er mich ob ich das Programm laden möchte! (N/J) Wenn ich dann J wie ja eintippe kommt sofort die Meldung
; error: no function definition: UP_KORLISTE2
und er bricht mir das Programm ab!

mmmh, so weit komme ich. Hoffe du kannst mir weiterhelfen!

Danke
LG Petra

------------------
LG Petra

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

Petra_Sp
Mitglied



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

Beiträge: 130
Registriert: 28.10.2003

AutoCad 2004 Deutsch
AutoCad 2004 Englisch
Jetzt auch AutoCad 2006 Deutsch

erstellt am: 12. Mai. 2004 20: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

Hallo Proxy

Auf die Frage ob es eine normale Linie sein soll? Ist eigentlich egal, was einfacher ist, vermutlich ne Linie!!

LG Petra

------------------
LG Petra

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 12. Mai. 2004 22:11    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 Petra_Sp 10 Unities + Antwort hilfreich

Also wenn die Lisp-Datei "normal" geladen wird spricht eigentlich nichts gegen die Ausführung (ausser die Funktiosnparameter sind falsch) von :

Zitat:

[...]
(defun UP_korliste2 ( / filename dateiname datei zeile punkt0 punkt1 zaehler
                    i p1 p2 pt1 punkt1 punkt2 ptx pty  ykorvor zeilenlaenge
    fehler alay
                    zeichlinie spxkor xe anzxkor xkorvor spykor ye anzykor textspa1 textspe1 textspa2 textspe2
                    textwert1 spaltet1 spaltenanzt1 textwert2 spaltet2 spaltenanzt2
                    spzkor ze anzzkor codekenn codea codee codeanzahl codewahl setzen dibox
    punktwert 0 punktwert 1 punktwert 2 namesymblo skfaktor
                )
[...]

ich prüfe das Programm dann Morgen früh genauer ... oder einer anderer Lispl'er hilft in der Zwischenzeit

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 13. Mai. 2004 07: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 Nur für Petra_Sp 10 Unities + Antwort hilfreich

Morgen, .... so die gröbsten Fehler beseitigt ... komme in die DCL Eingabe weinigstens rein. Es wäre eigentlich auch sinnvoll wenn die Spaltenkonfiguration abspeichrt werden könnte.

Code:

;**********************************************************************************************
;* Programm zum Einlesen aus Punkteliste                                                      *                                                                       
;* Autor:  Gerhard Arend                                                                    *
;* Dateien: korliste1                                                                        *
;* Releasestand 17.08.99 Version 1.2        Verwendung : Vermessungsamt Stadt Kassel und KEB  *
;**********************************************************************************************
;
(defun c:korliste1 (/ beginn )

  (setvar "CMDECHO" 0)
  (setq olderror *error* )                              ;alte Fehlerbehandlungsroutine speichern
  (setq *error* fehleraus)                              ;wenn Fehler UP fehler aufrufen

  (textpage)                                            ;Textbildschirm leeren und umschalten
  (princ "\n  ******************************************************************************")
  (princ "\n  * Das Programm liest Koordinaten aus einer Liste und setzt in die            *")
  (princ "\n  * Zeichnung einen Punkt.                                                    *")
  (princ "\n  * Das Verbinden der Punkte mit einer Linie ist Programmgesteuert moeglich.  *")
  (princ "\n  *                                                                            *")
  (princ "\n  * Stellen Sie Bitte vor Programmablauf mit Autocad-Befehl _DDPTYPE im        *")
  (princ "\n  * Menü [Format] [Punktstil] die gewünschte Punktdarstellung ein.            *")
  (princ "\n  *                                                                            *")
  (princ "\n  * Zu empfehlende Punkt-Einstellung  Kreis, Punktgröße 0.5 Einheiten          *")
  (princ "\n  * Größe in absoluten Werten                                                  *")
  (princ "\n  *                                                                            *")
  (princ "\n  * Wenn Sie Symbole in die Zeichnung einfügen wollen, müssen Sie zuvor        *")
  (princ "\n  * eine Symboldatei laden. Befehl Laden                                      *")
  (princ "\n  ******************************************************************************")
  (terpri)
  (initget 1 "j n J N")
  (setq beginn (strcase (getkword "\nProgramm starten  j / n  ")) )
  (graphscr)
  (if (= beginn "J") (UP_korliste2))
  (UP_ende)
)

  ;********** Programm Starten und Dialogbox aufrufen **********   
(defun UP_korliste2 ( / filename dateiname datei zeile punkt0 punkt1 zaehler
                    i p1 p2 pt1 punkt1 punkt2 ptx pty  ykorvor zeilenlaenge 
    fehler alay
                    zeichlinie spxkor xe anzxkor xkorvor spykor ye anzykor textspa1 textspe1 textspa2 textspe2
                    textwert1 spaltet1 spaltenanzt1 textwert2 spaltet2 spaltenanzt2
                    spzkor ze anzzkor codekenn codea codee codeanzahl codewahl setzen dibox
    punktwert_0 punktwert_1 punktwert_2 namesymblo skfaktor
                )

  (setq Dat (load_dialog "korliste1.DCL"))                          ;DCL-Datei laden
  (if (not (new_dialog "korliste1" Dat)) (exit))                    ;Dialogfenster am Bildschirm anzeigen

  (mode_tile "sym_blo_wert" 1)                                      ;Edit-Box Blockdatei ist deaktiviert
  (mode_tile "suchen_blo_file" 1)                                    ;Suchen-Button ist deaktiviert
  (action_tile "element_nein" "(mode_tile \"sym_blo_wert\" 1)
                              (mode_tile \"suchen_blo_file\" 1)")         
  (action_tile "element_sym" "(mode_tile \"sym_blo_wert\" (- 1 (atoi $value)))
                              (mode_tile \"suchen_blo_file\" 1)")
  (action_tile "element_block" "(mode_tile \"sym_blo_wert\" (- 1 (atoi $value)))
                                (mode_tile \"suchen_blo_file\" (- 1 (atoi $value)))")   
  (action_tile "codier"  "(mode_tile \"codierung\" (atoi $value))")
 
  (action_tile "dspeich" "(UP_datenspeich)" )
  (action_tile "dladen" "(UP_datenladen)" )

  (action_tile "suchen_ein_file" "(get_ein_file)" )                  ;UP zum suchen der Datei aufrufen
  (action_tile "suchen_blo_file" "(get_blo_file)" )                  ;UP zum suchen Blockdatei aufrufen

  (action_tile "accept" "(auswerten) (if (= fehler 0) (done_dialog))") ;wenn OK ,UP-auswerten,
  (action_tile "cancel" "(done_dialog)")

  (start_dialog)
  (unload_dialog Dat)


 
  (if (= fehler 0)
  (progn
    (setq alay (getvar "clayer"))                                    ;aktiver Layer
    (setq datei (open filename "r"))                                  ;Datei oeffnen, um aus Datei zu lesen
    (setq zaehler 0)

    (setq zeile 1)
    (while zeile
      (setq zeile (read-line datei))                                  ;Zeile aus Datei lesen
      (if (= zeile NIL)
        (princ "\nProgrammende")                                      ;Zeile NIL = Dateiende erreicht
        (progn
          (setq setzen 1)
          (if (= (strlen zeile) 0) (setq setzen NIL) )                ;wenn Zeilenlänge Null keine Berücksichtigung
          (if (= (substr zeile 1 2) "//")(setq setzen NIL) )          ;wenn zeile beginnt mit // keine Berücksichtigung

          (if (and (= codewahl 0) (/= (substr zeile codea codeanzahl) codekenn)) (setq setzen NIL));wenn Codekenn nicht übereinstimmt kein Durchlauf

          (if (/= setzen NIL)
            (progn
              (UP_point)                                              ;Unterprogramm UP_point aufrufen
              (princ "\n")
              (princ zaehler)
              (princ " Koordinate eingelesen  ")
              (princ pt1)

              (if (and (= zeichlinie "J") (> zaehler 1))
                (progn
                  (command "._-layer" "_make" "punktverbindungslinie" "_color" "4" "" "")  ;Layer anlegen fuer Punktverbindungslinie
                  (command "._pline" punkt0 punkt1 "")
                  (setq punkt0 punkt1)                                ;wird nur benoetigt wenn Verbindung punkt0-punkt1 erzeugt
                )
                (setq punkt0 punkt1)
              )
      (if (= punktwert_1) (command "symbol" namesymblo punkt1 skfaktor 0 ) )
              (if (= punktwert_2) (command "._insert" namesymblo punkt1 skfaktor skfaktor 0 ) )
            )
          )                                           
        )
      )
    )
    (close datei)
    (command "._-layer" "_set" alay "")                                  ;alten Layer wieder setzen
    (setq *error* olderror)
    (if (= zaehler 0) (princ "\nkeine Punkte gefunden"))
    (princ)
  )
  )
)

(defun auswerten (/); Unterprogramm, um nach verlassen der Dialogbox die Eingaben in Variable zu setzen
  (setq fehler 0) ;Zaehler für Fehler setzen
  (setq dateiname (get_tile "name_liste"))
  (if (= (get_tile "linieja") "1") (setq zeichlinie "J") )
  (if (= (get_tile "linienein") "1") (setq zeichlinie NIL) )
  (if (= (get_tile "element_nein") "1") (setq punktwert 0) )
  (if (= (get_tile "element_sym") "1") (setq punktwert 1) )
  (if (= (get_tile "element_block") "1") (setq punktwert 2) )

  (if (= punktwert_1)                                                  ;wenn Symbol auf Koordinate
    (progn
      (setq namesymblo (atoi (get_tile "sym_blo_name")))
      (setq skfaktor (atof (get_tile "sk_faktor")))
    )
  )

  (if (= punktwert_2)                                                  ;wenn Block auf Koordinate
    (progn
      (setq namesymblo (get_tile "sym_blo_name"))
      (setq skfaktor (atof (get_tile "sk_faktor")))
    )
  )     
                           
  (setq spxkor (atoi (get_tile "xsa")) )                                ;x-Wert bearbeiten
  (setq xe (atoi (get_tile "xse")) )
  (setq anzxkor (+ (- xe spxkor) 1) )
  (setq xkorvor (atoi (get_tile "xvorwert")) )

  (setq spykor (atoi (get_tile "ysa")) )                                ;y-Wert bearbeiten
  (setq ye (atoi (get_tile "yse")) )
  (setq anzykor (+ (- ye spykor) 1) )
  (setq ykorvor (atoi (get_tile "yvorwert")) )

  (setq spzkor (atoi (get_tile "zsa")) )                                ;z-Wert bearbeiten
  (setq ze (atoi (get_tile "zse")) )
  (if (and (> spzkor 0) (> ze spzkor))                             
    (setq anzzkor (+ (- ze spzkor) 1) )                                ;wenn z-Wert eingegeben Anzahl berechnen                                 
    (setq anzzkor 0)                                                    ;wenn kein z-Wert, dann Anzahl=0
  )
 
  (setq codewahl (atoi (get_tile "codier")) )                          ;ob Codekennung 0=aktiv oder 1=deaktiv ist
  (setq codekenn (get_tile "codew"))                                    ;Codekenn-Buchstaben 
  (setq codea (atoi (get_tile "codespa")) )                            ;Spalte von Codekennwert anfang
  (setq codee (atoi (get_tile "codespe")) )                            ;Spalte von Codekennwert ende
  (if (and (> codea 0) (>= codee codea))                             
    (setq codeanzahl (+ (- codee codea) 1) )                            ;wenn Codespalten eingegeben Anzahl berechnen                                 
    (setq codeanzahl 0)                                                ;wenn keine Codespalten, dann Anzahl=0
  )

  (setq textspa1 (atoi (get_tile "t1sa")) )                            ;Textwert1 bearbeiten
  (setq textspe1 (atoi (get_tile "t1se")) )
  (if (and (> textspa1 0) (> textspe1 textspa1))
    (progn
      (setq textwert1 "j")
      (setq spaltet1 textspa1)
      (setq spaltenazt1 (+ (- textspe1 textspa1) 1) )
    )
    (setq textwert1 "n")
  )
  (setq textspa2 (atoi (get_tile "t2sa")) )                      ;Textwert2 bearbeiten
  (setq textspe2 (atoi (get_tile "t2se")) )
  (if (and (> textspa2 0) (> textspe2 textspa2))
    (progn
      (setq textwert2 "j")
      (setq spaltet2 textspa2)
      (setq spaltenazt2 (+ (- textspe2 textspa2) 1) )
    )
    (setq textwert2 "n")
  )
 
  (setq filename (findfile dateiname))                            ;Abfrage ob Punkteliste vorhanden ist                           
  (if (= filename NIL)
    (progn
      (alert "Dateiname nicht gefunden")
      (setq fehler (+ fehler 1))
    )
  )
 
  (if (or (<= anzxkor 0) (= spxkor 0) (= xe 0))                  ;wenn x-Spalten fehlerhaft
    (progn
      (alert "Spalten X-Koordinaten fehlerhaft")
      (setq fehler (+ fehler 1))
    )
  )

  (if (or (<= anzykor 0) (= spykor 0) (= ye 0))                  ;wenn y-Spalten fehlerhaft
    (progn
      (alert "Spalten Y-Koordinaten fehlerhaft")
      (setq fehler (+ fehler 1))
    )
  )

  (if (and (> spzkor 0) (< ze spzkor))                            ;wenn z-Spalten fehlerhaft
    (progn
      (alert "Spalten Z-Koordinaten fehlerhaft")
      (setq fehler (+ fehler 1))
    )
  )

  (if (and (= spzkor 0) (> ze 1))                                ;wenn z-Spalten fehlerhaft
    (progn
      (alert "Spalten Z-Koordinaten fehlerhaft")
      (setq fehler (+ fehler 1))
    )
  )

  (if (and (= codekenn "") (= codewahl 0))                        ;wenn Codierkennziffer fehlt bei aktiver Einstellung
    (progn
      (alert "Codierkennbuchstabe fehlt")
      (setq fehler (+ fehler 1))
    )
  )

  (if (and (= codea 0) (= codewahl 0))                            ;wenn Codierspalte anfang fehlt bei aktiver Einstellung
    (progn
      (alert "Codier Spaltenanfang fehlt")
      (setq fehler (+ fehler 1))
    )
  )
  (if (and (= codee 0) (= codewahl 0))                            ;wenn Codierspalte ende fehlt bei aktiver Einstellung
    (progn
      (alert "Codier Spaltenende fehlt")
      (setq fehler (+ fehler 1))
    )
  )
  (if (and (> codea codee) (= codewahl 0))                        ;wenn Codierspalte anfang fehlt bei aktiver Einstellung
    (progn
      (alert "Codier Spaltenanfang/ende fehlerhaft")
      (setq fehler (+ fehler 1))
    )
  )

   
)

(defun UP_point ( /); Unterprogramm Koordinate auslesen, Punkt erzeugen und Punkt in Autocad setzen
 
  (setq p1 (substr zeile spxkor anzxkor))                                ;aus Textzeile x-wert auslesen
  (setq p2 (substr zeile spykor anzykor))                                ;aus Textzeile y-wert auslesen
  (if (> anzzkor 0) (setq p3 (substr zeile spzkor anzzkor)) )            ;aus Textzeile z-wert auslesen

  (if (> xkorvor 0)                                                      ;Vorwert x-Koordinate einbinden
    (setq ptx (strcat (itoa xkorvor) p1 ))                                     
    (setq ptx p1)
  )
  (if (> ykorvor 0)                                                      ;Vorwert y-Koordinate einbinden
    (setq pty (strcat (itoa ykorvor) p2 ))
    (setq pty p2)
  )
  (if (= anzzkor 0) (setq pt1 (strcat ptx " " pty)) )                    ;kein z-Wert von x und y-wert Koordinate erzeugt
  (if (> anzzkor 0) (setq pt1 (strcat ptx " " pty " " p3)) )              ;dreidimensionaler Punkt
  (setq punkt1 (read (strcat "(" pt1 ")" )))                              ;aus String einen getpoint erzeugen

  (command "._layer" "_make" "gelaendepunkte" "_color" "2" "" "")        ;Layer anlegen fuer Gelaendepunkte
  (command "._pont" punkt1 )

  (if (= textwert1 "j") (setq text1 (substr zeile spaltet1 spaltenazt1)) ) ;Textwert1 auslesen
  (if (= textwert2 "j") (setq text2 (substr zeile spaltet2 spaltenazt2)) ) ;Textwert2 auslesen
 
  (if (and (= textwert1 "j") (= textwert2 "j")) (setq point_text (strcat text1 "/" text2)) )
  (if (and (= textwert1 "n") (= textwert2 "n")) (setq point_text "") )
  (if (and (= textwert1 "j") (= textwert2 "n")) (setq point_text text1) )
  (if (and (= textwert2 "j") (= textwert1 "n")) (setq point_text text2) )
 
  (command "._text" punkt1 1.0 0 point_text )
  (setq zaehler (+ zaehler 1))
)

(defun UP_datenspeich ()
  (setq filename1 (findfile "korliste1.dat"))                              ;Abfrage ob Datei vorhanden ist                           
  (if (= filename1 NIL)
    (progn
      (alert "Datei Korliste1.dat nicht gefunden")
      (exit)
    )       
  )
  (setq eingdatei (open filename1 "w"))                                  ;Datei oeffnen, um in Datei zu schreiben
  (if (/= (get_tile "name_liste") "") (write-line (get_tile "name_liste") eingdatei) (write-line "NIL" eingdatei) )
  (write-line (get_tile "linieja") eingdatei)
  (write-line (get_tile "linienein") eingdatei)
  (write-line (get_tile "element_nein") eingdatei)
  (write-line (get_tile "element_sym") eingdatei)
  (write-line (get_tile "element_block") eingdatei)
  (if (/= (get_tile "sym_blo_name") "") (write-line (get_tile "sym_blo_name") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "sk_faktor") "") (write-line (get_tile "sk_faktor") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "xsa") "") (write-line (get_tile "xsa") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "xse") "") (write-line (get_tile "xse") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "xvorwert") "") (write-line (get_tile "xvorwert") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "ysa") "") (write-line (get_tile "ysa") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "yse") "") (write-line (get_tile "yse") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "yvorwert") "") (write-line (get_tile "yvorwert") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "zsa") "") (write-line (get_tile "zsa") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "zse") "") (write-line (get_tile "zse") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "codew") "") (write-line (get_tile "codew") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "codespa") "") (write-line (get_tile "codespa") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "codespe") "") (write-line (get_tile "codespe") eingdatei) (write-line "NIL" eingdatei) )
  (write-line (get_tile "codier") eingdatei)
  (if (/= (get_tile "t1sa") "") (write-line (get_tile "t1sa") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "t1se") "") (write-line (get_tile "t1se") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "t2sa") "") (write-line (get_tile "t2sa") eingdatei) (write-line "NIL" eingdatei) )
  (if (/= (get_tile "t2se") "") (write-line (get_tile "t2se") eingdatei) (write-line "NIL" eingdatei) )
  (close eingdatei)
  (princ "\nDaten gespeichert")
)

(defun UP_datenladen ()
  (setq filename1 (findfile "korliste1.dat"))                              ;Abfrage ob Datei vorhanden ist                           
  (if (= filename1 NIL)
    (progn
      (alert "Datei Korliste1.dat nicht gefunden")
      (exit)
    )       
  )
  (setq eingdatei (open filename1 "r"))                                  ;Datei oeffnen, um aus Datei zu lesen
  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "name_liste" "") (set_tile "name_liste" zeile) )

  (set_tile "linieja" (read-line eingdatei))
  (set_tile "linienein" (read-line eingdatei))

  (set_tile "element_nein" (read-line eingdatei))
  (if (= (get_tile "element_nein") "1") (mode_tile "sym_blo_wert" 1) )

  (set_tile "element_sym" (read-line eingdatei))
  (if (= (get_tile "element_sym") "1") (mode_tile "sym_blo_wert" 0) )

  (set_tile "element_block" (read-line eingdatei))
  (if (= (get_tile "element_block") "1") (mode_tile "sym_blo_wert" 0) )

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "sym_blo_name" "") (set_tile "sym_blo_name" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "sk_faktor" "") (set_tile "sk_faktor" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "xsa" "") (set_tile "xsa" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "xse" "") (set_tile "xse" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "xvorwert" "") (set_tile "xvorwert" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "ysa" "") (set_tile "ysa" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "yse" "") (set_tile "yse" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "yvorwert" "") (set_tile "yvorwert" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "zsa" "") (set_tile "zsa" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "zse" "") (set_tile "zse" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "codew" "") (set_tile "codew" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "codespa" "") (set_tile "codespa" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "codespe" "") (set_tile "codespe" zeile))

  (set_tile "codier" (read-line eingdatei))
  (if (= (get_tile "codier") "1") (mode_tile "codierung" 1) )
  (if (= (get_tile "codier") "0") (mode_tile "codierung" 0) )
 
  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "t1sa" "") (set_tile "t1sa" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "t1se" "") (set_tile "t1se" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "t2sa" "") (set_tile "t2sa" zeile))

  (setq zeile (read-line eingdatei))
  (if (= zeile "NIL") (set_tile "t2se" "") (set_tile "t2se" zeile))
  (close eingdatei)
)


(defun get_ein_file ( / tempdatei)                                          ;Datei suchen über Dialogbox
  (if (setq tempdatei (getfiled "Datei-einlesen" "" "" 8))
    (set_tile "name_liste" tempdatei)
  )
)

(defun get_blo_file ( / tempdatei)                                          ;Block suchen über Dialogbox
  (if (setq tempdatei (getfiled "Blockdatei-einlesen" "dwg" "" 8))
    (set_tile "sym_blo_name" tempdatei)
  )
)

(defun UP_ende ()
  (setq *error* olderror)
  (princ "\nProgrammende")
  (princ)
)

(defun fehleraus (s);UP-Fehlerroutine
  (princ (strcat "\nFehler:  " s))                                          ;Fehlermeldung ausgeben
  (setq *error* olderror)                                                    ;alte Fehlermeldung zurücksetzen
  (princ)
)


------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

Petra_Sp
Mitglied



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

Beiträge: 130
Registriert: 28.10.2003

AutoCad 2004 Deutsch
AutoCad 2004 Englisch
Jetzt auch AutoCad 2006 Deutsch

erstellt am: 13. Mai. 2004 09: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

Wauhhh Danke viel viel mals das du dir die Zeit genommen hast Proxy, dir dieses Programm durchzuschauen um es richtig zu stellen!!!

DANKE DANKE DANKE DANKE DANKE

Jetzt hab ich eigentlich nur ein Problem, wie soll diese Datei ausschauen (mit den Spalten und so)?? Sollen alle x-Koordinaten in der Spalte 1 stehen unrereinander, die y Koordinaten in Spalte 2 untereinader usw?? Oder schaut das ein wenig anders aus??
Ich weiß es einfach nicht hab auch schon ein bischen probiert aber bis jezt ist nur Müll Müll Müll rausgekommen!!
Bitte hilf (helft) mir! Gibt es den kein Programm das beides kann Koordinaten rausschreiben mit Punktbezeichnung und auch wieder reinschreiben? Hab die ganzen Service Disketten von Autodesk Magazin 1999-2003 durschstöbert und nichts gefunden (hoffe ich hab nichts übersehen)!? Das Programm korliste1 gefällt mir ja ganz gut aber es sollte auch ne Möglichkeit geben Punkte rauszuschreiben oder wenigstens eine Beispiel Datei wie so eine Liste aussieht dazugeben, ahhhhhhh!

Hoffe jemand hört meine Hilferufe

LG Petra


zigggg tausen Unit an Proxy

------------------
LG Petra

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 13. Mai. 2004 12: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 Nur für Petra_Sp 10 Unities + Antwort hilfreich

> Wer kan mir den Fehler sagen??

Da fehlt ein n!

Die Datei kann z.B. so aussehen (das sind natürlich unsinnige Daten, da ich sie mit einem Zufallsgenerator erzeugt habe:

Code:

336.8 685.2 A FTMEI
614.1 185.2 B LGWDF
495.3 281.0 C WLYBB
289.7 467.5 B EMVDU
523.9 623.9 B ATAFC
528.5 461.7 B XTDRF
523.8 825.8 A LOCAO
386.6 163.6 C QFDPA
310.4 060.9 C YZDPO
743.7 988.9 C XMTWI
661.6 322.1 B HAXFC
025.0 362.3 A DCFWN
992.3 764.4 A MSKWU
086.0 617.5 A TKVPT
011.3 162.5 D GSQUM
230.3 641.1 A JTNPG
733.2 199.9 A WCRXA
214.8 428.8 A UTRTC
705.5 142.7 B HVQFZ
467.7 222.1 C OOWSR
039.2 819.5 A SNGFQ
430.8 945.3 A UOJEW
679.6 950.7 B DMRKG
860.4 638.6 D MVCUC
714.6 425.1 C CUTOT
037.7 678.4 C QLBXO
101.3 261.7 A IATUS
225.3 178.5 A FFARN
817.9 757.3 B YOJFQ

Dazu im Dialog ausfüllen:

X von Spalte 1 bis 5
Y von Spalte 7 bis 11
Codierung (A,B,C oder D) von Spalte 13 bis 13
Text1 von Spalte 15 bis 19

Das ganze Programm läuft zwar (es waren ja nur ein paar verschwundene Tiefstriche und ein paar deutsche Befehlsoptionen), aber es ist, ich kann's nicht anders formulieren, ein Programm, wie es schlimmer nicht sein könnte. Da der Autor offensichtlich nicht in der Lage war, eine Zeile anhand der Leerstellen (oder eines anderen Delimiters) aufzutrennen, muss der Benutzer das ausbügeln, indem er die ganzen Spalten eintippen muss. Total umständlich und vor allem äußerst fehleranfällig!!! Da sei jeder gewarnt, der das benutzen möchte.

Als 'fertiges Programm' hat es noch eine weitere Macke: Zwar wird eine Fehlerroutine definiert, aber die macht nichts. Wenn also z.B. der OFANG eingeschaltet bleibt, kann es passieren, dass Müll rauskommt. Das ist genau der hirnlose Gebrauch von *error*, den ich schon an anderer Stelle bemängelt habe. Insgesamt also viel, viel Code mit wenig Wirkung.

Gruß, Axel

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

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze
Meine Überzeugung...

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 13. Mai. 2004 12:22    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 Petra_Sp 10 Unities + Antwort hilfreich

Noch was vergessen: Ich weiss nicht, was diese .DAT-Datei darstellt, die da mit dran hing. Ich hab sie einfach ignoriert;-)

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

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze
Meine Überzeugung...

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 13. Mai. 2004 12:42    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 Petra_Sp 10 Unities + Antwort hilfreich

IMHOIn my humble opinion = Meiner bescheidenen Meinung nach ist 90 % vom code einfach ein setq-Massaker

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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