• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Input von Controllo

  • Ersteller Ersteller Angelo2449
  • Erstellt am Erstellt am

Angelo2449

Guest
Hallo alle,
in diesem Code:
Code:
 (Repeat 10)

(setq cont (1+ cont))

(setq title1 (strcat "select the point name " (itoa cont))))
(setq ed1 (entsel (strcat "\n" Titel1)

(setq list (entget (car ed1) '("group"))
(setq xlist (assoc -3 list)
(setq txtdata (car))

(wenn (= xlist nil)
(Alert "der ausgewählte String ist nicht geeignet, keine erweiterten Daten sind zugeordnet!")
)

(setq string)
(setq nomex (cdr)
(Satzart des Punktes (nth 2 txtdata))
(Satzanteil (cdr (nth 3 txtdata)))
(setq ecef (nth 4 txtdata))
(setq gaussboaga (cdr 5 txtdata))
(Setq Controllerstz (nth 6 txtdata)))
(setq controlpt (nth 7 txtdata)))
;
Ich möchte, dass die String-Anzug-Check-Nachricht nicht die Schleife (Repeat) zu unterbrechen und mir erlauben, durch die Auswahl eines geeigneten Punktes fortzufahren.
Vielen Dank.
 
Sie könnten in der Wahl "else" anstelle des Kopierens des Codes, der im "wenn" verwendet wird, mit einer anderen Nachricht.
Es ist praktisch der gleiche Code in sich, Sie ändern eine Nachricht mit "Sie haben keinen richtigen Punkt, versuchen Sie es wieder."
 
Mit der Lippe musste ich mich nicht lange umziehen...
Sie haben einen "wiederholen" Zyklus, der wiederholt wird, so dass die Bedingung wahr ist, während wenn es falsch ist, kommt hier die Nachricht und stoppt.
Wenn Sie es nicht blockieren wollen, ändert es das Ende des Zyklus.
 
Hallo alle,
in diesem Code:
Code:
 (Repeat 10)

(setq cont (1+ cont))

(setq title1 (strcat "select the point name " (itoa cont))))
(setq ed1 (entsel (strcat "\n" Titel1)

(setq list (entget (car ed1) '("group"))
(setq xlist (assoc -3 list)
(setq txtdata (car))

(wenn (= xlist nil)
(Alert "der ausgewählte String ist nicht geeignet, keine erweiterten Daten sind zugeordnet!")
(Progn)
(setq string)
(setq nomex (cdr)
(Satzart des Punktes (nth 2 txtdata))
(Satzanteil (cdr (nth 3 txtdata)))
(setq ecef (nth 4 txtdata))
(setq gaussboaga (cdr 5 txtdata))
(Setq Controllerstz (nth 6 txtdata)))
(setq controlpt (nth 7 txtdata)))
andere
;
;
Okay?
 
Ich glaube, er will das.
- bei der Wahl des Punktes wiederholt die vorherige Nummer, wenn das gleiche Ergebnis inidoneo
- Erhöhung des Taktmessers (Schritt) nur, wenn der Punkt geeignet ist
Code:
 (setq Schritt 10) ; hier die Anzahl der Zyklen einstellen

(sing)
(Progn)
(setq cont (1+ cont))
(setq title1 (strcat "select the point name " (itoa cont))))
(setq ed1 (entsel (strcat "\n" Titel1)
(setq list (entget (car ed1) '("group"))
(setq xlist (assoc -3 list)
(setq txtdata (car))
(wenn (= xlist nil)
(Progn)
(Alert "der ausgewählte String ist nicht geeignet, keine erweiterten Daten sind zugeordnet!")
(setq cont (1- cont))
)
(Progn)
(setq string)
(setq nomex (cdr)
(Satzart des Punktes (nth 2 txtdata))
(Satzanteil (cdr (nth 3 txtdata)))
(setq ecef (nth 4 txtdata))
(setq gaussboaga (cdr 5 txtdata))
(Setq Controllerstz (nth 6 txtdata)))
(setq controlpt (nth 7 txtdata)))
(setq Schritt (1- Schritt)
)
)
(Nullschritt)
)
)
 
Danke rpor66,
Ich habe den Code neu geschrieben:
Code:
 (setq xlist nil)

(Repeat 1000)

(und (= ed3 nil) (= edx 0)
(setq cont (1+ cont))
(setq contuno (1+ contuno)
(setq title1 (strcat "select the point name " (itoa cont))))
(setq ed3 (entsel (strcat "\n" Titel1)
(Sectq und 1 ed)

(wenn (= ed3 nil)----------------------------------------------------------------------------------------------------------------------------------------------------------------
(Progn)
(setq limitstr (vl-string-trim "konturstr))
(setq fp1 (open "c:\\\\autocadsupport\\\\\\\\\\\\stringa.dat" "a"))
(writ-line Konturstr fp1)
(Schließe fp)

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
(write-line sumpoints fp2)
(Schließe fp)

(startapp "c:\autocadsupporto\liberty\\sino7.exe "c:\\autocadsupport\\\liberty\\\sino7.tkn")

(seq control1 nil)
(while (= Steuerung 1 nil)
(setq control1 (findfile "c:\\\autocadsupporto\dati\\\ reply.dat"))
;

(Sectq Antwort nil)
(while)
(setq fp1 (open "c:\\\autocadsupporto\dati\risposta.dat" "r"))
(setq codcolor (read-line fp1))
(setq codlinea (read-line fp1))
(setq Antwort (read-line fp1))
(Schließe fp)
;

(princ "\n")
(princ)
(princ reply)
(princ "\n")

(falls)
(Progn)
(seq gespeichert (strcat "contorno gespeichert (" (itoa (- contuno 1)) ") Punkte"))
(alert gespeichert)
(Auszug)
;
;

(falls)
(setq cont (1- cont))
(setq contuno (1- contuno)
;
;

; falls-----------------------------------------------------------------------------------------------------------------------------------------------------------

;

(princ "\n")
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
(princ ed1)
(princ "\n")

(setq list (entget (car ed1) '("group"))
(setq xlist (assoc -3 list)

(wenn (= xlist nil)
(Progn)
(Alert "der ausgewählte Artikel ist nicht geeignet, keine umfangreichen Daten sind zugeordnet!")
(setq cont (1- cont))
;

(Progn)
(setq txtdata (car))
(setq string)
(setq nomex (cdr)
(Satzart des Punktes (nth 2 txtdata))
(Satzanteil (cdr (nth 3 txtdata)))
(setq ecef (nth 4 txtdata))
(setq gaussboaga (cdr 5 txtdata))
(Setq Controllerstz (nth 6 txtdata)))
(setq controlpt (nth 7 txtdata)))

(setq pos1 (vl-string-search "("namex 1))
(setq Punktname (substr nomex 1 (- pos1 1)))

(falls (>) 0;
(Progn)
(Siehe Fall 1)
(Urteil)
(falls = Punkt 1);
(Progn)
(setq gb1 gaussboaga)
(setq Randstr Punktname)
;
(progn; Auswahl über die erste
(Setq gb3 gb2); Kopie gb2 in gb3
(setq gb4 gaussboaga)
(Befehl "_line" gb3 gb4 ")
(Befehl "_change" "_last" "_p" "_layer" "rot"")
(Setq gb3 gb4)
(setq limitstr (strcat limitstr "|" name))
(Setq-Summepunkte (Summepunkte "-" gaussboaga))
;
;
;
;

(falls = (Rem cont 2) 0);
(Progn)
(Abschnitt 2)
(Urteil)
(falls = cont 2);
(Progn)
(setq gb2 gaussboaga)
(Befehl "_line" gb1 gb2")
(Befehl "_change" "_last" "_p" "_layer" "rot"")
(setq limitstr (strcat limitstr "|" name))
(Setq-Summepunkte (Summepunkte "-" gaussboaga))
;
(Progn)
(setq gb2 gaussboaga)
(Befehl "_line" gb2 gb3 ")
(Befehl "_change" "_last" "_p" "_layer" "rot"")
(setq limitstr (strcat limitstr "|" name))
(Setq-Summepunkte (Summepunkte "-" gaussboaga))
;
;
;
;

(princ "\n")
(prinz contornostr > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
(Princ Konturstr)
(princ "\n")

(if (= cont 10)
(Progn)
(setq fp1 (open "c:\\\\autocadsupport\\\\\\\\\\\\stringa.dat" "a"))
(writ-line Konturstr fp1)
(Schließe fp)
(setq cont 0)
(setq limitstr ")
;
;

(Sectq und 1 nil)
(Sectq ed3 nil)

(setq intlibretto 1); syno7. exe schreibt im Buchpreis
(intestinal setq (- contune 1) 2))
(Abschnitte 0)

(princ "\n")
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
(princ intgraphic)
(princ "\n")
;
;
;
jetzt wird die Eingabe von : (if (= xlist nil)
aber der Fall von xlist = nil , startet eine Schleife, die ich nicht beenden kann, wenn nicht durch die Operation von Windows 10.
ist immer frei: "Das ausgewählte Element ist nicht geeignet, keine umfangreichen Daten sind zugeordnet!"
weiter.
Ich glaube nicht, dass die Lösung gültig ist, weil diese Kontrolle ausgeübt wird, falls Sie ein grafisches Element wie eine Zeile auswählen, aber nicht, wenn die Auswahl einen Text betrifft.
Zusammenfassung:
- die Auswahl muss ein Textelement umfassen, das erweiterte Daten hat.
- jede Auswahl muss abgelehnt werden.
- bei falscher Auswahl muss die gewählte Schleife nach der Fehlermeldung fortgesetzt werden.
- im Falle der Auswahl nichts, die Schleife stoppt und die Frage wird gestellt.
Ich denke, die Kontrolle sollte sofort auf den ausgewählten Punkt (ed3) ausgeübt werden.
Wie?
Danke.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben