Hallo Leute,
habe folgenden Code:
(defun C:Text2MText250 (/ AUSWAHL i elist ech)
(setq ech (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(command "_undo" "_begin")
;********************************************************************************** Strassennamen
(setq AUSWAHL (ssget "_:S"))
(if AUSWAHL
(progn
;Texthöhe auf 1250 ändern
(setq OBJ (entget (ssname AUSWAHL 0)))
(entmod (subst(cons 40 1250)(assoc 40 OBJ)OBJ))
(command "TXT2MTXT" AUSWAHL ""); Express Tools command
(princ "\n")
);end progn
(princ "\nKein Text gewählt......")
);end if
;********************************************************************************** bisher alles gut
;(setq AUSWAHL (ssget "_:S"))
(setq AUSWAHL (entlast))
(setq color 9); Hintergrundfarbe weiß
;Hintergrundfarbe ändern
(setq n 0)
(repeat (sslength AUSWAHL)
(setq OBJ (entget (ssname AUSWAHL n)))
(setq n (1+ n))
;Farbaufnahme einschalten
; (if (assoc 90 OBJ)
; (setq OBJ (subst (cons 90 1) (assoc 90 OBJ) OBJ))
; (setq OBJ (append OBJ (list (cons 90 1))))
; );end if
;Farbe wie Zeichenhintergrund
(if (assoc 90 OBJ)
(setq OBJ (subst (cons 90 3) (assoc 90 OBJ) OBJ))
(setq OBJ (append OBJ (list (cons 90 3))))
);end if
;Farbcode übergeben
(if (assoc 63 OBJ)
(setq OBJ (subst (cons 63 color) (assoc 63 OBJ) OBJ))
(setq OBJ (append OBJ (list (cons 63 color))))
);end if
;Skalierfaktor Füllfeld / Randversatzfaktor
(if (assoc 45 OBJ)
(setq OBJ (subst (cons 45 1.2) (assoc 45 OBJ) OBJ))
(setq OBJ (append OBJ (list (cons 45 1.2))))
);end if
;Hintergrund auf Textbreite
(setq Breite (cdr(assoc 42 OBJ)))
(if (assoc 41 OBJ)
(setq OBJ (subst (cons 41 Breite) (assoc 41 OBJ) OBJ))
(setq OBJ (append OBJ (list (cons 41 Breite))))
);end if
(entmod OBJ)
);end repeat
(command "_undo" "_end")
(setvar "CMDECHO" ech)
(princ)
)
Wenn das letzte erzeugte Objekt (durch die Wandlung des Textes in MTEXT) mit (entlast) übdergeben möchte,
bekomme ich nur den Fehler:
; Fehler: Fehlerhafter Argumenttyp: lselsetp <Objektname: 7fffe79f560>
Wenn ich mit (setq AUSWAHL (ssget "_:S")) den MTEXT neu anklicke, funktioniert der Rest auch.
Wo habe ich da den Denkfehler?
Mein zweites Anliegen wäre, wie kann ich mit ssget nur Objekte auswählen, die gerade im Blockeditor befindliche Block sind?
Weiß da jemand Rat?
mfg
Ernst
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP