Hallo!
Da DWG TrueView keine RTexte mit Dieselausdrücken (aus den Expresstools?) anzeigen kann, habe ich nun was zusammengebastelt welche diese RTexte mit feldern in einem MTExt ersetzt. Diese befinden sich auf unseren Titelblättern mit Verweis auf den Dateinamen. Funktionieren soll dies in ACAD 2007 + 2009.
Ich hab dies zum Anlass genommen mich etwas in LISP einzuarbeiten und folgendes ist herausgekommen:
;--------------------------------------------
;HAC v1 10.06.2009
(defun c:r2f ( / echo unit rtext ref basepoint layer color high)
;Eintellungen
(setq echo (getvar "cmdecho"))
(setq unit (getvar "insunits"))
(setvar "cmdecho" 0)
(setvar "insunits" 4)
;Auswahl RTEXT
(setq rtext nil)
(while (= rtext nil)
(setq rtext (entget(car(entsel "\nDateinamen-RTEXT anwählen"))))
(if (= nil
(or (= rtext nil) (= "RTEXT" (cdr (assoc 0 rtext)))
)
)
(progn (setq rtext nil)(princ "\nKein RTEXT gewählt"))
)
)
;Eigenschaften RTEXT abgreifen
(setq ref (cdr (assoc -1 rtext)))
(setq basepoint (cdr (assoc 10 rtext)))
(setq layer (cdr (assoc 8 rtext)))
(setq color (cdr (assoc 62 rtext)))
(setq high (cdr (assoc 40 rtext)))
;Layer, Farbe setzen
;(command "_-layer" "se" layer) momentan noch "layer" -> abbruch
;(command "_-color" color) bringt nichts da block eingefügt und gesprengt wird
(command "_insunits" 4)
;Block mit Feld einfügen
(command "_-INSERT" "O:/O003/Vorlagen/CAD-Vorlagen/Dname.dwg" basepoint "" "" "")
(command "ursprung" "_l")
;RTEXT löschen
(command "_pselect" ref "" "_.erase")
;Texthöhe ok?
;Einstellungen zurück
(setvar "insunits" unit)
(setvar "cmdecho" echo)
);defun
nil
;----------------------------------------------------
Funktioniert soweit auch. Folgende Probleme habe ich noch
1.Wenn ich kein auch kein Objekt klicke bricht die Funktino ab. Es sollte aber erneut nach einem RTEXT fragen.
2.Wenn das ganze erfolgreich durchgelaufen ist sehe ich in der Befehlszeile:
Dateinamen-RTEXT anwählen0
1 gefunden
Das Null stört mich. Aber besser wäre es wenn nun "Erfolgreich" stehen würde.
3.Wie würded ihr die Farbe/Layer des eingefügten MTextes anpassen? mit Entmod?
Gibt es sonst noch irgendwas, was man anders besser machen würde? Lisp ist noch nicht ganz fertig, high wird warscheinlich gar nicht verwendet werden...
Wers ausprobieren will: Mit Express-> Text -> Remotetext kann mann einen RTEXT erstellen
Bin für jede Hilfe dankbar!
Gruss Christoph
------------------
3 kleine Weisheiten
-Man kann ein Problem nicht mit den gleichen Denkstrukturen lösen, die zu seiner Entstehung beigetragen haben.
-Bewehrt sich Beton?
-Der Horizont vieler Menschen ist ein Kreis mit Radius Null - und das nennen sie ihren Standpunkt.
[Diese Nachricht wurde von Gargarot am 10. Jun. 2009 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP