Hallo Jörn,
vielen Dank für deine Hilfe. Leider bin ich aber immer noch nicht weitergekommen.
Da man bei AutoCAD 2007 bei dem Befehl _extrude die Verjüngung nicht mehr angeben muss kann der Code unter 2006 auch nicht laufen. Deshalb habe ich den Code unten für AutoCAD 2000 angehängt.
Wenn ich AutoCAD 2000 und das Lisp starte läuft es beim ersten mal ohne Probleme durch. Beim zweiten mal kommt die Fehlermeldung wieder und AutoCAD stürzt ab. Ich habe herrausgefunden, das die Fehlermeldung immer am zweiten _mirror3d Befehl kommt. Also immer beim vierten aufruf von _mirror3d.
Woran kann das liegen?
Desweiteren verstehe ich nicht was du mit folgendem Zeilen meinst?
______________________________________________________
z.B. (setq AWS(01_linke_Seite AWS MS NT ST SH BS))
Die Funktion 01_linke_Seite dann
(defun 01_linke_Seite (AWS MS NT ST SH BS / S1)
....
AWS)
________________________________________________________
Die Variabeln habe ich doch alle deklariert?
Hier der Code:
(defun c:3d_norm_01 (/ SB ST SH MS BS NT AWS S1 S2 S3 S4 S5)
(setq SB (getdist "\nSchubkastenbreite angeben:") ;Schubkastenbreite
ST (getdist "\nSchubkastentiefe angeben:") ;Schubkastentiefe
SH (getdist "\nSchubkastenhöhe angeben:") ;Schubkastenhöhe
MS 15 ;Materialstärke der Seiten
BS 6 ;Bodenstärke
NT (+ (/ MS 3) 1) ;Nuttiefe in den Seiten
AWS (ssadd) ;Auswahlsatz
)
(command "_ucs"
"w"
"osmode"
"0"
)
(01_linke_Seite)
(01_rechte_Seite)
(01_Vorderstück)
(01_Hinterstück)
(01_Boden)
(01_Einfügen)
)
(defun 01_linke_Seite (/)
(command "_box"
(list 0 0 0)
(list MS ST SH)
)
(setq S1 (entlast))
(ssadd S1 AWS)
(command "_box"
(list (- MS NT) 0 15)
(list MS ST (+ 15 BS))
)
(command "_subtract"
S1
""
(entlast)
""
)
(command "_pline"
(list 0 0)
(list MS 0)
(list MS MS)
"S"
)
(command "_extrude"
(entlast)
""
SH
0
)
(command "_subtract"
S1
""
(entlast)
""
)
(command "_pline"
(list 0 ST)
(list MS ST)
(list MS (- ST MS))
"S"
)
(command "_extrude"
(entlast)
""
SH
0
)
(command "_subtract"
S1
""
(entlast)
""
)
)
(defun 01_rechte_Seite (/)
(command "_mirror3d"
S1
""
"YZ"
(list (/ SB 2) 0 0)
"N"
)
(setq S2 (entlast))
(ssadd S2 AWS)
)
(defun 01_Vorderstück (/)
(command "_box"
(list 0 0 (+ 15 BS))
(list SB MS SH)
)
(setq S3 (entlast))
(ssadd S3 AWS)
(command "_pline"
(list 0 0)
(list 0 MS)
(list MS MS)
"S"
)
(command "_extrude"
(entlast)
""
SH
0
)
(command "_subtract"
S3
""
(entlast)
""
)
(command "_pline"
(list SB 0)
(list SB MS 0)
(list (- SB MS) MS)
"S"
)
(command "_extrude"
(entlast)
""
SH
0
)
(command "_subtract"
S3
""
(entlast)
""
)
)
(defun 01_Hinterstück (/)
(command "_mirror3d"
S3
""
"ZX"
(list 0 (/ ST 2) 0)
"N"
)
(setq S4 (entlast))
(ssadd S4 AWS)
)
(defun 01_Boden (/)
(command "_box"
(list (- MS (- NT 1)) 0 15)
(list (- SB (- MS (- NT 1))) ST (+ BS 15))
)
(setq S5 (entlast))
(ssadd S5 AWS)
)
(defun 01_Einfügen (/)
(command "_copybase"
(list -5 0 -11)
AWS
""
)
(command "_erase"
AWS
""
)
(command "_pasteclip")
)
mfg Alfonso
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP