Hier bin ich wieder,
Ich habe Ihre wertvollen Vorschläge mit großen Ergebnissen angewendet, aber das will nicht wissen, wie man richtig arbeitet!
Ich schrieb die Routine, es funktioniert, dann habe ich den Teil zwischen die beiden Doppelzeilen der Bindestriche eingefügt und das vierte Element der Daten funktioniert nicht:
Code:
(defun c:acelerimetrico2dinput (/ fc2 fp1 control1 fp5 fp1 name puntoone notion dotted cx cy xyz comment dist Winkelstr lung Winkelstr gaussboaga oldlist np name thedata newlist)
(falls)
(Progn)
(setq fp1 (open "c:\\\autocadsupporto\help\datihelp.dat" "w"))
(writ-line "celerimetric2dinput" fp1)
(Schließe fp)
(startapp "c:\autocadsupporto\liberty\\helpgen.exe "c:\\autocadsupport\\\liberty\\\helpgen.tkn")
(Auszug)
)
)
(setq fc2 (findfile "c:\\\\\\autocadsupporto\celerimetric\\\datiori.dat"))
(falls fc)
(vl-file-delete "c:\\\autocadsupport\\celerimetric\\\\\datiori.dat")
)
;---------------------------------------------------------------------------------------------------------------------------------------------------
(startapp "c:\autocadsupport\\liberty\2dceloriinput.exe "c:\\autocadsupport\\liberty\\2dceloriinput.tkn")
;---------------------------------------------------------------------------------------------------------------------------------------------------
(setq gefleckt (getpoint "\nclick point"))
(seq control1 nil)
(while (= Steuerung 1 nil)
(setq control1 (findfile "c:\\\autocadsupport\\celerimetric\\\\\ datiori.dat"))
)
(wenn (= Steuerung 1 "c:\\autocadsupport\\celerimetric\\datiori.dat")
(Progn)
(setq fp5 (offen "c:\\\\\\autocadsupporto\celerimetric\\\\\datiori.dat" "r"))
(setq name puntoone (read-line fp5))
(setq notaone (read-line fp5))
(Schließe fp)
)
)
(Befehl "_circle" Punkt 0,15)
(Setq cx)
(setq cy)
(setq cxx (+ cx 0.00))
(setq cyyy (+ cy 0.25))
(setq xyz (list cxx cyy 0.0)
(Druck xyz)
(Druck "\n")
(Befehl "_text" xyz 0.40 0 (Strcat "name))
(Befehl "_change" "_last" "_p" "_c" "_red"")
;;---------------------------------------------------------------------------------------------------------------------------------------------------------
;;---------------------------------------------------------------------------------------------------------------------------------------------------------
(setq Namensgebung (entlast))
(Seq Objekt "Gruppe")
(wenn nicht (tblsearch "appid" object)
(Entfernungsobjekt)
)
(setq oldlist (entget nomeentita)
(setq gaussboaga (strcat (rtos cx) "," (rtos cy)
(Eingabe der Daten (Liste -3 (cons 1000 nomepuntoone) (cons 1000 "---------") (cons 1000 gaussboaga) (cons 1000 "-------------") (cons 1000 "definite")))
(Setq neue Liste)
(entmod newlist)
;;---------------------------------------------------------------------------------------------------------------------------------------------------------
;;---------------------------------------------------------------------------------------------------------------------------------------------------------
(Befehl "_line" Punkt1 ")
(setq dist (Punkt 1 Punkt))
(Einstellwinkel (- oder Gangwinkel (Winkelpunkt 1 Punkt)))
(falls (< Winkel 0 ) (Querwinkel (+* 2 Pi))))
(Setq Winkelstr (Winkel 2 4))
(setq lung) (- (starke Winkelstr) 1)
(Setq Winkelstr (Substr Winkelstr 1 Lunge))
(setq Kommentar notary)
(setq fp2 (offene "c:\\\\autocadsupport\\\\librettopregeo.dat" "a"))
(falls)
(setq txtoutldue (strcat "2|" name "|" Eckestr "|" (rtos dist 2 3) "")")
(setq txtoutldue (strcat "2|" name "|" Eckestr "|" (rtos dist 2 3) "|" Kommentar "|")
)
(writ-line txtoutldue fp2)
(Schließe fp)
(Alert "horizontale Daten gespeichert")
(princ "\n")
)
Ich bekomme diese Fehlermeldung:
Befehl: ; fehler: falsch dxf group: (-3 ("group" (1000 . "1060") (1000 . "---------") (1000 . "1498792.8525.50429.7398") (1000 . "definite"))
wo das vierte Element, anstatt "----------------," nichts ist!
Lisp = Verzweiflung!
Danke.