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

Problem mit lisp Bomlenghts

  • Ersteller Ersteller dl1989
  • Erstellt am Erstellt am

dl1989

Guest
Guten Morgen, heute Morgen öffne ich Autocad, Ich mache alle Arbeiten, aber zu der Zeit, wenn ich gehe, um den Befehl bomlenghts - alle - Ich wähle alle Linien, um die gesamten Meter zu berechnen, ich verlasse diese Schrift:

- ohne erste Anrufung (*push-error-using-command*) nicht (Befehl) von * Error* anrufbar.
- es wird empfohlen, Anrufe (Befehle) in (Befehle-s) umzuwandeln.

Aber was bedeutet das? Ich drehte mich um ein bisschen im Internet x sehen, um das Problem zu lösen, aber nichts... gibt es jemanden, der mir helfen könnte? ist ein Befehl, der viel x die Arbeit, die ich tue...dank für jeden und bald
 
Guten Morgen, heute Morgen öffne ich Autocad, Ich mache alle Arbeiten, aber zu der Zeit, wenn ich gehe, um den Befehl bomlenghts - alle - Ich wähle alle Linien, um die gesamten Meter zu berechnen, ich verlasse diese Schrift:

- ohne erste Anrufung (*push-error-using-command*) nicht (Befehl) von * Error* anrufbar.
- es wird empfohlen, Anrufe (Befehle) in (Befehle-s) umzuwandeln.

Aber was bedeutet das? Ich drehte mich um ein bisschen im Internet x sehen, um das Problem zu lösen, aber nichts... gibt es jemanden, der mir helfen könnte? ist ein Befehl, der viel x die Arbeit, die ich tue...dank für jeden und bald
von einer der neuesten Versionen von autocad (es scheint mir 2013) ist es nicht mehr möglich, eine Funktion (Befehl) innerhalb einer Routine zu erinnern, die den Fehler eines autolisp-Programms verwaltet.
In Ihrem Fall, wenn die *-Fehler*-Routine aufgerufen wird (weil das Hauptprogramm Sie verwenden generiert einen Fehler) erhalten Sie die Fehlermeldung, die Sie erwähnen.

versuchen, innerhalb der *-Fehler*-Funktion zu ersetzen (erkennen Sie es, weil es so beginnt:
Code:
"(defun *errore*)
), bei jedem Wort "Befehl" sollte das Wort "Befehle" funktionieren. . vorausgesetzt, dass Sie eine einzelne .lsp-Datei, die den ganzen Code enthält.
 
das Wort * Error*, das ich in der .lisp-Datei finde mit dem, was sollte ich sie ersetzen?
ein Befehl, den ich hinzugefügt habe -s aber cmq nn funktioniert mir mehr Erweiterung. .
 
Ich habe in der Datei das Befehlswort mit Kommandos geändert, ich habe die neue Erweiterung auf autocad hochgeladen, ich rufe den Befehl bomlenghts, ich schreibe zu x jede Art von "article"(lines, polylines usw.), klicken Sie I senden und beenden dieses Schreiben:
Länge:
Befehl:
Das ist es. das Schreiben des Fehlers vor nicht mehr herauskommt, aber jetzt ist es, als ob der Befehl nicht mehr funktioniert...
 
Ich habe in der Datei das Befehlswort mit Kommandos geändert, ich habe die neue Erweiterung auf autocad hochgeladen, ich rufe den Befehl bomlenghts, ich schreibe zu x jede Art von "article"(lines, polylines usw.), klicken Sie I senden und beenden dieses Schreiben:
Länge:
Befehl:
Das ist es. das Schreiben des Fehlers vor nicht mehr herauskommt, aber jetzt ist es, als ob der Befehl nicht mehr funktioniert...
der Ersatz des "Befehls" in "Befehls-s" wurde nur innerhalb der *-Fehler*-Funktion durchgeführt.

die Funktion beginnt mit "(defun * Error*) und endet, wenn Sie den geschlossenen Bügel treffen, der den offenen Bügel vor "defun" ausgleicht.
Wenn Sie den Code anhängen möchten oder, wenn es Gründe der Vertraulichkeit gibt, senden Sie ihn mir privat und versuchen, zu verstehen, was passiert ist.
 
...
;;
;;; bomlengths.lsp
;;
;;; durch jimmy bergmark
;;; Copyright (c) 1997-2007 jtb world, alle Rechte vorbehalten
;;; Webseite: www.jtbworld.com;;; E-Mail: [email protected];;
;;; 1998-03-31 - erste Veröffentlichung
;;; 2000-05-11 - für Lwpolylines und für a2k
;;; 2003-06-10 - getestet auf 2004 und behoben ein kleiner Fehler
;;; 2004-03-18 - hinzugefügt (vl-load-com)
;;; 2007-09-24 - zeigt das Ergebnis in der aktiven Einheit
;;; getestet auf autocad 2000, 2004, 2005, 2008
;;; sollte auch an älteren Versionen mit geringfügigen Änderungen arbeiten.
;;; tauschen bom-code-old mit bom-code
;;
...
Beschreibung
;;
;;; Längenrechnung. die akkumulierte Summenlänge von mehreren Objekten erhalten.
;;; c:bomlengths - Länge der Linien, Bögen, Polylinien und Splines und insgesamt.
;;; c:bom_lines - Länge der Linien und insgesamt.
;;; c:bom_arcs - Länge der Bögen und insgesamt.
;;; c:bom_polylines - Länge der Polylinien und insgesamt.
;;; c:bom_splines - Länge der Splines und insgesamt.
...

(defun dxf (n ed)

(defun bom-code (ssfilter / errexit undox wiederherstellen)
*error* ältere cmdecho %l %t
Sset %i en ed p1 p2
ot a1 a2 r
)
(defun errexit (s)
(princ)
(Wiederherstellen)
)

(Defun undox)
(Befehl "._undo" "_e")
(Setvar "cmdecho" altcmdecho)
(setq *error* älterr)
(princ)
)

(setq älterer *error*
wiederherstellen
*error* errexit
)
(setq altcmdecho (getvar "cmdecho"))
(Setvar "cmdecho" 0)
(Befehl "._undo" "_be")
(setq %i 0)
% 0
)
(vl-load-com)
(setq sset (ssget ssfilter))
(falls sset)
(Prog.)
(princ "\nlengths:")
(Repeat)
(setq en (ssname sset %i))
(setq ed)
(setq ot (dxf 0 ed))
(setq Kurve (vlax-ename->vla-object en))
(falls vl-catch-all-error-p
(setq len (vl-catch-all-apply)
'vlax-curve-getdistatparam
(Listenkurve
(vl-catch-all-apply)
'vlax-curve-getendparam
(Listenkurve)
)
)
)
)
)
Nil
len
)
(satzq %l len)

(setq %i (1+ %i)
%t (+ %l %t)
)
(Terpri)
;
(princ (rtos %l (getvar "lunits") (getvar "luprec"))
)
(princ "\ntotal = ")
;(princ %t)
(princ (rtos %t (getvar "lunits") (getvar "luprec"))
(Textseite)
)
)
(Wiederherstellen)
)

(defun bom-code-old (ssfilter / errexit undox wiederherstellen)
*error* ältere cmdecho %l %t
Sset %i en ed p1 p2
ot a1 a2 r
)
(defun errexit (s)
(princ)
(Wiederherstellen)
)

(Defun undox)
(Befehl "._undo" "_e")
(Setvar "cmdecho" altcmdecho)
(setq *error* älterr)
(princ)
)

(setq älterer *error*
wiederherstellen
*error* errexit
)
(setq altcmdecho (getvar "cmdecho"))
(Setvar "cmdecho" 0)
(Befehl "._undo" "_be")
(setq %i 0)
% 0
)
(setq sset (ssget ssfilter))
(falls sset)
(Prog.)
(princ "\nlengths:")
(Repeat)
(setq en (ssname sset %i))
(setq ed)
(setq ot (dxf 0 ed))
(cond)
((= ot "line")
(setq p1 (dxf 10 ed)
p2 (dxf 11 ed)
%l (Abstand p1 p2)
)
)
((= ot "arc")
(Setq a1 (dxf 50 ed)
a2 (dxf 51 ed)
r (dxf 40 ed)
%l (* r (abs. a2 a1))
)
)
(t)
(Befehl "._area" "_obj" en)
(setq %l (getvar "perimeter")

)
)
(setq %i (1+ %i)
%t (+ %l %t)
)
(Terpri)
(Princ %l)
)
(princ "\ntotal = ")
(Princ %t)
(Textseite)
)
)
(Wiederherstellen)
)

(defun c:bomlengths ()
(initget "lines arcs polylines splines all")
(setq ans)
"Eine Option eingeben [Lines/Arcs/Polylines/Splines] <all>: "
)
)
(cond)
((= ans "lines") (c:bom_lines)
((= ans "arcs") (c:bom_arcs))
((= ans "polylines") (c:bom_polylines)
((= ans "splines") (c:bom_splines)
(t)
(Bom-Code '((-4). "<or") "arc")="" "line")="" "lwpolyline")="" "or="" "polyline")="" "spline")="" (-4="" (0="" .="">"
)
)
)
)
(princ)
)

(Defun c:bom_lines)
(bom-Code '((0 . "line")))
(princ)
)

(Defun c:bom_arcs)
(Bom-Code '((0 . "arc")))
(princ)
)

(Defun c:bom_polylines)
(Bom-Code '((-4). "<or") "lwpolyline")="" "or="" "polyline")="" (-4="" (0="" .="">"
)
)
(princ)
)

(defun c:bom_splines)
(bom-Code '((0 . "Spline")))
(princ)
)</or")></or")></all>
 
Dies ist der ursprüngliche Code... vielleicht, wenn Sie mir den Code senden können, der bereits geändert wurde, würden Sie mir einen riesigen Gefallen tun...dank tausend
 
Dies ist der ursprüngliche Code... vielleicht, wenn Sie mir den Code senden können, der bereits geändert wurde, würden Sie mir einen riesigen Gefallen tun...dank tausend
Ich habe nur Befehle eingegeben. für den Rest funktioniert das Programm ok.
Sie müssen verstehen, was es von anomale in Ihrem Design gibt, wenn Sie Objekte auswählen, die den Befehl durch Fehler verursacht unterbricht.
 

Anhänge

Leider nichts... jetzt bin ich nur geschrieben
Länge:
Ich versuche alles zu deinstallieren und es zurück zu meinem Punkt zu installieren
 
Zuletzt bearbeitet von einem Moderator:

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