|
Lisp : Block auflösen, wenn Block auflösen nicht zulässig ist
Bernhard GSD am 18.11.2020 um 15:10 Uhr (1)
Ich suche eine Möglichkeit einen Block in einem Lisp-Befehl aufzulösen, bei dem Auflösen auf normalem Weg nicht zulässig ist.Und ich will nicht zu Fuß auflösen zulassen. Die Blockdefinition soll auch weiter von Benutzer nicht auflösbar sein.Geht das nur über temporäre Manipulation der Blockdefinition oder gibt es einen anderen Weg die Auflöse-Sperre zu umgehen?------------------Gruß aus WienBernhard
|
In das Form Lisp wechseln |
|
Lisp : Info: Post zum Speichermanagement in Bricscad-Lisp
Peter2 am 23.11.2020 um 13:48 Uhr (3)
Zur Info:Wie managt BricsCAD hohe Speichernutzung /-last in Lisp:https://forum.bricsys.com/discussion/36389/heavy-load-with-monster-lists-kills-bricscad--------[Diese Nachricht wurde von Peter2 am 26. Nov. 2020 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : Befehl _.-group / Hinzufügen
Bernd10 am 23.11.2020 um 14:44 Uhr (15)
Hallo an alle,mir ist jetzt erst aufgefallen, dass in Mechanical 2020 der Befehl _.-group mit der Option "Hinzufügen" in meiner Lisp-Datei nicht funktioniert. Genauer gesagt, wird das vorhandene Objekt nicht der vorhandenen Gruppe hinzugefügt. Leider habe ich bisher keine Lösung dafür gefunden.Mein Lisp-Aufruf:(command "_.-group" "H" cgruppename pgruppe) ; HinzufügenIn meinem Textfenster steht nach der Ausführung der oben genannten Lisp-Zeile dies:Befehl: _.-group Option für Gruppe eingeben[?/Reihenfolge/H ...
|
In das Form Lisp wechseln |
|
Lisp : Befehl _.-group / Hinzufügen
cadffm am 23.11.2020 um 15:21 Uhr (1)
Zitat:Original erstellt von Bernd10:mir ist jetzt erst aufgefallen, dass in Mechanical 2020 der Befehl _.-group mit der Option "Hinzufügen" inmeiner Lisp-Datei nicht funktioniert. Genauer gesagt, wird das vorhandene Objekt nicht der vorhandenen Gruppe hinzugefügt.Leider habe ich bisher keine Lösung dafür gefunden.Ich bezweifel das es mit der Version zutun hat, das läuft mind. v2012 gleich (und wenn ich raten darf, eher v2000, wenn nicht seit anbeginn).Was ich an deinem Code sehe ist: Du beendest die Objekt ...
|
In das Form Lisp wechseln |
|
Lisp : Befehl _.-group / Hinzufügen
Bernd10 am 23.11.2020 um 15:43 Uhr (1)
Hallo an euch beide,leider besteht der Fehler auch mit der englischen Option.1. Version ---------------------------------------------------------------------------Lisp-Befehl:(command "_.-group""_add" cgruppename pgruppe "") ; HinzufügenGrößerer Asschnitt im Textfenster bei der Ausführung in meiner VLX-Anwendung:Befehl: _.-layerAktueller Layer: "AW-A_schwarz250!42.41.42!RALCLASSIC$RAL9017"Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIN/AUS/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/PStil/Frieren/Taue ...
|
In das Form Lisp wechseln |
|
Lisp : Befehl _.-group / Hinzufügen
Bernd10 am 24.11.2020 um 07:31 Uhr (1)
Hallo an euch,man sollte einfach immer zuerst die einfachsten Dinge kontrollieren oder eine Nacht schlafen, bevor man den Fehler weiter sucht. Die Variable pgruppe hatte den Wert nil, da ich sie mit einer anderen Variablen in meiner Lisp-Funktion verwechselt hatte.Diese Lisp-Zeile funktioniert wie gewünscht, wenn die Variablen die korrekten Werte beinhalten:(command "_.-group" "_add" cgruppename pgruppe "") ; HinzufügenDanke nochmals an euch für das Interesse.Viele GrüßeBernd
|
In das Form Lisp wechseln |
|
Lisp : Wechsel zwischen DWG-Dateien mitbekommen
CADwiesel am 24.11.2020 um 09:56 Uhr (1)
Eigene Instanzen - eigene Bereiche!Das dürfte per Lisp extrem schwierig werden, rauszufinden, welche Applikation gerade den Focus hat.Vielleicht geht noch maximal etwas über die com Schnittstelle aber der Aufwand dürfte schon Größer sein------------------GrußCADwieselBesucht uns im CHAT
|
In das Form Lisp wechseln |
 |
Lisp : Menü laden - Pulldown Menü aktivieren
Bernhard GSD am 07.12.2020 um 14:12 Uhr (15)
Hallo!Ich lade eine Menüdatei mit (COMMAND "_MENULOAD" "gsd")Es wird die Datei gsd.cuix aus dem Support-Pfad geladen. Sehr gut soweit!Weniger gut: Die Pulldown-Menüs GSDcad und Bibliothek werden dabei nicht aktiviert/eingeschalten.Hier sollte der Lisp-Befehl (MENUCMD ...) zum Einsatz kommen. Nur bekomme ich den erforderlichen String-Parameter nicht hin.(MENUCMD "p13=+GSDcad.gsd") bringt nicht den gewünschten Erfolg. Auch sonst habe ich im Netz keine Hinweise gefunden.Freue mich auf sachdienliche Hinweise! ...
|
In das Form Lisp wechseln |
|
Lisp : Diverse Blöcke ersetzen
archtools am 18.12.2020 um 12:54 Uhr (1)
Zitat:Original erstellt von Bernd P:Servus,Platzhalter funktionieren hier nicht. Naja, die funktionieren nicht im Command-Aufruf. Aber hier ist ja das Lisp-Forum und nicht das Forum "Rund um AutoCAD", und in Lisp ist das natürlich ein winziger Klacks, hier mit Wildcards zu arbeiten.Dummerweise bin ich bekannt dafür, hier keine fertigen Lösungen anzubieten, sondern nur Hilfestellung für die Erarbeitung einer eigenen Lösung zu bieten. Also:1. Alle Blockreferenzen suchen, deren Blokcname dem Wildcard-Ausdruck ...
|
In das Form Lisp wechseln |
 |
Lisp : Diverse Blöcke ersetzen
Merci-Dir am 21.12.2020 um 15:39 Uhr (15)
Hallo cadwomen,wie geschrieben, ich habe einen ganzen anderen Weg eingeschlagen. Aber wenn es einem helfen kann - gerne. Ich habe die Blocktypen TypA, TypB.... als dynamischen Block via Sichbarkeit zusammengefasst. So kann ich auf den LISP-Ausdruck gar verzichten und schalte über die Sichtbarkeitsgriffe die benötigten BlockUntertypen ein. Hoffe es ist nicht zu knapp erklärt.ps: den grünen Haken - (als gelöst) habe ich bereits geschaltet.Grüße
|
In das Form Lisp wechseln |
 |
Lisp : Werte von Attributen in Blöcken ändern
CADwiesel am 19.01.2021 um 14:53 Uhr (15)
Im Kern brauchst du ENTNEXT. Damit hangelst du dich durch die Attribute, wenn deine Blockref welche hat.Hier mal ein Lisp codeschnipsel mit dem du was machen könntest...Code:(defun attchange (elem attname gcwert wert / aslst) (setq aslst (entget elem)) (if (= (cdr (assoc 0 aslst)) "INSERT") (progn (if (= (cdr (assoc 66 aslst)) 1) (progn (setq aslst (entget (entnext (cdr (assoc -1 aslst))))) (while (/= (cdr (assoc 0 aslst)) "SEQEND") (if (= (cdr (assoc 2 aslst)) attnam ...
|
In das Form Lisp wechseln |
|
Lisp : Werte von Attributen in Blöcken ändern
Bernd P am 20.01.2021 um 11:35 Uhr (1)
Servus,hab mir das LISP angepasst, es wird kein Block eingefügt sondern es muss einer ausgewählt werden.Hab 3 Fragen dazu.1. Die Auswahl von dynamischen Blöcken funktioniert mit "(setq obj_ename (car(entsel "
Block wählen: ")))" nicht. mit "(setq obj_ename (vlax-ename-vla-object (car (entsel))))" bekomme ich "Fehlerhafter Argumenttyp: lentityp #VLA-OBJECT IAcadBlockReference 00000173bd877d88"2. Wenn die Attribute einen Mehrzeiligen Inhalt hatten funktioniert es auch nicht mehr. 3. Kann man den Inhalt aus e ...
|
In das Form Lisp wechseln |
|
Lisp : Werte von Attributen in Blöcken ändern
Bernhard GSD am 01.02.2021 um 15:41 Uhr (1)
Ich verwende 2 Lisp-Befehle zum Attribut-Handling:(:attget [blockname])Liefert Dotted-pair Liste, die mit (CDR (ASSOC...) auszulesen ist.Code:(DEFUN :attget (#name / #att #elem #rückliste #ende) (WHILE (NOT #ende) (SETQ #elem (ENTGET (SETQ #name (ENTNEXT #name)))) (IF (= (CDR (ASSOC 0 #elem)) "SEQEND") (SETQ #ende T) (SETQ #rückliste (CONS (CONS (CDR (ASSOC 2 #elem)) (CDR (ASSOC 1 #elem))) #rückliste)) ) ) #rückliste)(:attakt [blockname] [attributbezeichnung] [neuerwert])Code:(DEFUN :attak ...
|
In das Form Lisp wechseln |