|
Lisp : MTEXT zu TEXT - aber nur im Modellbereich
CADmium am 24.10.2006 um 12:23 Uhr (0)
warum willst du die verwuschteln? wegen dem Ziellayer?(defun c:MTEXT2TEXT( / LAYOUT AWS INDEX OBJ LAY) (foreach LAYOUT(cons "Model"(layoutlist)) (setvar"CTAB" LAYOUT) (setq AWS(ssget "_x" (list(0 . "MTEXT") (cons 410 LAYOUT)))) (setq INDEX -1) (repeat(sslength AWS) (setq OBJ (ssname AWS (setq INDEX(1+ INDEX)))) (setq LAY (cdr(assoc 8 (entget OBJ)))) (command "._layer" "_t" lay "_on" lay "_u" lay "_set" lay "") (command "_explode" OBJ) ) ) )------------------ - Thomas -"Bei 99% aller Problem ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Layout mit Lisp erstellen
CADmium am 27.07.2004 um 15:11 Uhr (0)
Ist doch schon ein prima Ansatz.... und dann : (vl-load-com) (defun LAYOUT-MAKE(LAYOUTNAME / LAYOUT) (if(not(vl-catch-all-error-p (setq LAYOUT(vl-catch-all-apply vla-add (list (vla-get-Layouts (vla-get-activedocument (vlax-get-acad-object) ) ) LAYOUTNAME ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Papierformat von aktuellem Layout in Variable speichern
CADmium am 06.07.2012 um 13:35 Uhr (0)
(defun DT:LAYOUT-GET-PAPERSIZE ( / Width Height) (vl-load-com) (if (setq LAYOUT(vla-get-activelayout(vla-get-activedocument(vlax-get-acad-object)))) (progn (vla-GetPaperSize LAYOUT WIDTH HEIGHT) (list WIDTH HEIGHT) ) ))------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |
|
Lisp : Layout löschen
CADmium am 07.09.2005 um 13:56 Uhr (0)
Layout , oder doch benannte Seiteneinstellung??(weißt du wirklich, was du tust?)...zum Löschen eines vla-OBJEKTES nimmt gibts die Methode vla-delete.Somit sollte (vla-delete LAYOUT) helfen..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |
|
Lisp : MTEXT zu TEXT - aber nur im Modellbereich
CADmium am 24.10.2006 um 11:47 Uhr (0)
mal ein (nicht so schöner) Workaround:(defun c:MTEXT2TEXT( / LAYOUT AWS INDEX) (foreach LAYOUT(cons "Model"(layoutlist)) (setvar"CTAB" LAYOUT) (setq AWS(ssget "_x" (list(0 . "MTEXT") (cons 410 LAYOUT)))) (setq INDEX -1) (repeat(sslength AWS) (command "_explode" (ssname AWS (setq INDEX(1+ INDEX)))"") ) ) )mit ActivX und einer richtigen MTEXT-Analyse gehts schöner, dass auch verschiedene Fonts ect. erhalten bleiben.Aber das ist mir jetzt im Rahmen der Forenhilfe zu aufwendig ------------------ - T ...
|
| In das Form Lisp wechseln |
|
Lisp : Papierformate des Druckertreibers abfragen
CADmium am 08.07.2010 um 11:53 Uhr (0)
die ActivXSchnittstelle bietet hierfür (als Suchbegriffe )vla-GetCanonicalMediaNames und vla-GetLocaleMediaName ....per normalo Lisp geht vielleicht so etwas:Code:(defun LAYOUT_GET_DATEN ( / LAYOUTS LAYOUT_EINTRAG LAYOUT_LISTE LAYOUT) (setq LAYOUTS (entget (cdr (assoc 350 ; Layoutsliste auslesen (member (3 . "ACAD_LAYOUT") (entget (namedobjdict)) ) )))) (while ((length LAYOUTS) 0) ; alle definierten Layouts durch ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Daten für IMAGE über DXF auswerten
CADmium am 07.09.2004 um 11:40 Uhr (0)
Guck mal auch hier . Zu beachten ist, das (ssget _x ..) nur das aktuelle Layout absucht. Schöner ist vielleicht: (vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object))) (vlax-for ITEM (setq BLOCK (vla-get-Block LAYOUT)) (if(=(strcase(vla-get-objectname ITEM)) (strcase AcDbRasterImage )) (progn ;; oder hier , welche informationen du willst (vlax-dump-object ITEM) (princ ) ) ) ) ) -------------- ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Layout löschen
CADmium am 07.09.2005 um 15:14 Uhr (0)
z.B. so:(vla-delete(vla-item (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object) ) ) LAYOUTNAME))ein Fehlerhandling ist empfehlenswert.- vl-catch-all-apply uswP.S. es heißt IMHO das Layout------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |
|
Lisp : Layout drehen
CADmium am 08.12.2006 um 12:32 Uhr (0)
Wie meinen ? Ein Layout ist doch bloß ein Datencontainer ähnlich der Blockdefinition .. willst du die Zeichnungsausrichtung auf Hoch oder querformat stellen oder die Ansichtsfenster drehen, oder beides ?------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |
|
AutoLisp : (vla-putPaperMargins LAYOUT LowerLeft UpperRight) ?
CADmium am 02.08.2004 um 16:18 Uhr (0)
Ein ACAD-Layout stellt unter ActivX die Methode (vla-GetPaperMargins) bereit, welche die Druckränder ausliest. (Siehe auch Datei- Plot- Reiter Plotter - Knopf Eigenschaften - Benutzerspezifische Eigenschaften - Weitere Optionen - kleinere Ränder ) Gibt es eine Möglichkeit via Lisp (vla-putPaperMargins LAYOUT LowerLeft UpperRight) zu implementieren, um diese Ränder zu setzen? .. oder einen anderen Trick, diese beim Layouteigenschaftenübertragen zu setzten? Ein (vla-RefreshPlotDeviceInfo an geeigneter ...
|
| In das Form AutoLisp wechseln |
|
Lisp : renameblock.lsp
CADmium am 05.06.2008 um 21:27 Uhr (0)
das mit der NR lass mal so.. änder lieber vla-put-name(list (car LAYOUT)(strcat NAME "-"(chr (+ 96 NR))))also:(defun C:LAYOUTRENAME (/ ITEM LAYOUTLISTE) (vl-load-com) (setq NAME (cadr(fnsplitl(getvar"dwgname")))) (vlax-for item(vla-get-layouts (vla-get-activedocument(vlax-get-acad-object)) ) (setq LAYOUTLISTE(cons(list ITEM (vla-get-name ITEM) (vla-get-taborder ITEM) ) LAYOUTLISTE ) ) ) (setq NR 0) (foreach LAYOUT (cdr(vl-sort ...
|
| In das Form Lisp wechseln |
|
Lisp : Layout löschen
CADmium am 07.09.2005 um 14:56 Uhr (0)
Tja, dann mußt du dich nach einem anderen CODE umgucken, deiner will ne benannte Seiteneinrichtung , die du im Plotdialog findest , löschen.dein Layout findest du mit(vla-item (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object) ) ) LAYOUTNAME)------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |
|
Lisp : Layout löschen
CADmium am 07.09.2005 um 14:23 Uhr (0)
Zitat:Original erstellt von CADmium:Layout , oder doch benannte Seiteneinstellung??Wahaaaas willst du löschen ?? Dein Code und deine Threadüberschrift sind verschiedene Schuhe... nicht, dass du nachher barfuß läufst------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |