 Rename_Wandstilname_AECDictionary.lsp.txt |
Lisp : Ändern von Einträgen im ACA-Stilmanager mit Lisp
cadking am 04.05.2023 um 00:48 Uhr (15)
so, ich habe es geschafft.Ich habe keine Listenelemente ausgetauscht, sondern die ganze Entityliste des Dictionary "AEC_WALL_STYLES" mit den aktualisierten GC3-Stilnamen neu erzeugt und dann mit entmod zurückgeschrieben.Hier eine Beispiel-DWG und die Lisp. Zum Starten der Lisp einfach per DRAG&DROP in die Zeichnung ziehen.------------------Danke Stefan
|
| In das Form Lisp wechseln |
|
Lisp : MV-Blockeigenschaften mit ssget
cadking am 07.11.2017 um 22:37 Uhr (1)
(vlax-ename-vla-object(car(entsel))));für MV-Blockliefert:; IAecMVBlockRef: Instanz einer MV-Blockreferenz, die in eine Zeichnung eingefügt wurde; Eigenschaftswerte:; Application (RO) = #VLA-OBJECT IAcadApplication 00000001402fa130; BoundSpaces = 2; Description = "KB"; Document (RO) = #VLA-OBJECT IAcadDocument 0000000033e53ba8; EntityTransparency = "VonLayer"; Handle (RO) = "A880"; HasExtensionDictionary (RO) = 0; Hyperlinks (RO) = #VLA-OBJECT IAcadHyperlinks 0000000068e61d78; Layer = "A-ASPR"; L ...
|
| In das Form Lisp wechseln |
|
Lisp : Abfrage Einheitenkonvertierung bzw EinfEinheiten von Block
cadking am 15.12.2016 um 13:44 Uhr (1)
Hallo Leute,ich habe eine Zeichnung in der Einheit METER. In dieser Zeichnung ist ein Block mit der Einheit [mm] 230 mal vorhanden.Diesen Block möchte ich in einer durch einen anderen Block mit der Einheit [m] ersetzen.(command "._insert" "alterBlock[mm]=C:
eurBlock[m].dwg"(command))Dabei wird neurBlock[m] um 0.001 skaliert. Ich möchte aber den neurBlock[m] beim Ersetzen nicht skalieren,oder den neurBlock[m] wieder auf den gleichen Wert zurücksetzen, den vorher der alterBlock[mm] hatte.Gibt es einen assoc ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Linienteile stutzen innerhalb einer Ellipse
cadking am 22.11.2004 um 15:26 Uhr (0)
Hallo Udo, Die Elipsen sind, wie Du schon richtig vermutet hast, nur die Hilfskonstruktionen aus OverLapF. Und es muß auch nicht unbedingt der Befehl Stutzen sein. Nur wie ermittel ich ob der Anfangs- oder Endpunkt der Linie mit ENTMOD ersetzt wird? Ich könnte Dir mal ne Zeichnung schicken in der Du vielleicht besser siehst was ich erreichen will. Gruß Stefan
|
| In das Form AutoLisp wechseln |
|
AutoLisp : überlappende Linienteile entfernen
cadking am 26.10.2004 um 23:24 Uhr (0)
Hallo Leute, ich habe in meiner Zeichnung 2 Layer. Der erste heißt 2SCHNITT0, der zweite heißt 2ANSICHT0. Auf den 2.ten Layer sind Linienteile, die sich mit Linienteilen vom ersten Layer überlappen. Ich möchte die überlappenden Linienteile vom Layer 2ANSICHT0 löschen. Hat vielleicht jemand eine Idee wie das in Lisp gehen könnte? Gruß Stefan
|
| In das Form AutoLisp wechseln |
|
Lisp : Rückgabe von (command... an Variable
cadking am 18.11.2019 um 11:27 Uhr (15)
zunächst mal vielen Dank an alle Helfer.der eigentliche Sinn dieses Beitrags war, Xrefs in einer Zeichnung zu identifizieren, die nicht gefunden oder nicht referenziert sind.Nachdem ich jetzt 10 Tage experimentiert habe und nervlich fast am Ende war habe ich für mich eine funktionierende Lösung gefunden, die ein Lisp-profil sicher optimaler gelöst hätte.der Ablaufplan sieht im Groben so aus:1. durchsuche die Blocktabelle nach Xrefs - (tblnext "Block") - (/= (cdr (assoc 1 blktbllst)) nil);ist Xref - (/= (fi ...
|
| In das Form Lisp wechseln |
|
Lisp : Papierbereich-Ansichtsfenster Beschriftungsmaßstab ändern
cadking am 09.09.2019 um 13:37 Uhr (1)
Hallo Meldin,ich habe deinen ursprünglichen Code aus deiner ersten Antwort mal über eine Zeichnung mit 2 manuellen Ansichtsfenstern(AF1 - Beschriftungsmaßstab 1:100)(AF2 - Beschriftungsmaßstab 1:50)laufen lassen.Auch hier wird lediglich die Saleliste geändert.Ürsprünglicher Maßstab 1:100 wird umbenannt in 1:1000Ürsprünglicher Maßstab 1:50 wird umbenannt in 1:1000sodass ich am Ende 3 mal den Maßstab 1:1000 mit einem Maßstabsverhältnis von 1.0 in meiner Scaleliste habe, was eigentlich gar nicht geht.Die Maßs ...
|
| In das Form Lisp wechseln |
 |
Lisp : MV-Block geänderte Werte zurückschreiben
cadking am 08.10.2021 um 08:03 Uhr (15)
Hallo Lisp-Experten,ich habe mir aus MV-Blöcken in einer Zeichnung folgende Werte ermittelt:(setq ObjnameMVB (ssname get_MV-BLOCK lauf));holt Entityname von MV-Block(setq ObjnameMVBVLA (vlax-ename-vla-object ObjnameMVB));holt VLA-Objektname von MV-Block(setq MVBlockDefName (vlax-get-property ObjnameMVBVLA "StyleName"))(setq scalex (vlax-get-property ObjnameMVBVLA "ScaleX"))(setq scalez (vlax-get-property ObjnameMVBVLA "ScaleZ"))(setq scaley (vlax-get-property ObjnameMVBVLA "ScaleY"))(setq einfp (vlax-get O ...
|
| In das Form Lisp wechseln |
|
Lisp : aktuellen Layer-Schlüsselstil über Befehszeile
cadking am 13.08.2019 um 13:37 Uhr (1)
Hallo marc,Zitat:Original erstellt von marc.scherer:Dann noch mal zu Deinem Code.Code:(aecsetcurrentlayerkeying "Layerschl1")(aecsetcurrentlayerkeying "Layerschl2")Worin steckt denn der Sinn erst den einen Layerschlüssel-STil und dann noch einen anderen aktuell zu setzen?Code:(command "_cmddia" 1)(command "_filedia" 1)Warum commands? Das geht doch auch über setvar:Code:(setvar "cmddia" 1)(setvar "filedia" 1)Der Sinn von "Layerschl1" und "Layerschl2" besteht darin, dass entweder Layerschl1 oder Layerschl2 i ...
|
| In das Form Lisp wechseln |