|
Lisp : XRef - abgreifen
steppe2000 am 04.01.2011 um 13:59 Uhr (0)
hallo lispler!ich habe mir eine Funktion gebastelt... (aus aus einigen andern Lisp zusammengetragen, daher schwimm ich auch einwenig..)Über:(setq sntlist_blkdef (tblnext "block" T))und (if (member (cdr (assoc 70 entlist_blkdef)) (4 12)).... bzw.(if (member (cdr (assoc 70 entlist_blkdef)) (36 44))komme ich mit(cdr (assoc 1 entlist_blkdef)) und(cdr (assoc 2 entlist_blkdef))auf den Namen und Pfad von XRefs...leider kann ich mit den Listen (4 12) und (36 44) nichts anfangen??? kann mir da jemand erklären..und ...
|
In das Form Lisp wechseln |
|
Lisp : Lisp befehl der Copy (acad.pgp) ausführt
chris888 am 26.01.2011 um 13:15 Uhr (0)
Hi leute!!hab da mal ne frage also ich hab es hinbekommen in der acad.pgp datei mir einen befehl mit copy zu machen der mir eine datei in einen anderen ordner kopiert. meine frage nun gibt es auch eine lisp routine oder befehl mit dem ich das machen kann?bsp.: (acad.pgp) start c:...... -- (.lsp) [defun c:test()(command "_start" ...))das problem ist alle diese (acad.pgp) befehle also type, dir und start funtionieren auch so im acad nur der befehl copy geht nicht.kann mir da jemand helfen??dankemfg chris
|
In das Form Lisp wechseln |
|
Lisp : Alle Wipeout löschen AUCH in Blöcke
Nano am 01.02.2011 um 13:20 Uhr (0)
Hallohabe hier ein lisp die mir alle Wipeout löschen kann,habe jedoch in der Zeichnung ein Block der mehrere Wipeouts hatdie möchte ich auch löschen. habe im Forum nichts gefunden.Bitte um HilfeDanke Nano(defun C EL-W()(SETQ aimagep (SSGET "_X" ((0 . "WIPEOUT"))))(IF (/= aimagep nil)(COMMAND "_erase" aimagep "")))oder(defun C EL-W (/ SGET) (setq sget (ssget "x")) (sssetfirst sget sget) (setq SGET (ssget "x" (list (cons 0 "WIPEOUT")))) (if SGET (command "_.erase" SGET "") ))
|
In das Form Lisp wechseln |
|
Lisp : lisp code?
CAD-Huebner am 02.02.2011 um 11:26 Uhr (0)
Das sind 2 Fragen.1. ssget mit Filterung NOTDas hier wählt alle nicht roten Linien (außer wenn vonlayer zufälllig rot ist)(ssget "X" (list (0 . "LINE") (-4 . "not") (62 . 1) (-4 . "not") ) )siehe auch http://www.autolisp-tutorial.mapcar.net/ssget.html und2. Bestehender Auswahlsatz (impliziter Auswahlsatz _I) in ssget Ausewahlsatz übernehmen(ssgetfirst)bzw. (ssget "_I" ...Dieser Code erstellt einen Auswahlsatz aller NICHT roten Linien aus der aktuellen Markierung/AuswahlBefehl: (ssget "_I" ((0 . "LINE") (-4 ...
|
In das Form Lisp wechseln |
|
Lisp : DCL - Programmierung
cadffm am 07.02.2011 um 11:56 Uhr (0)
Es gibt UNMENGEN an Beispielem + die offizielle Doku (F1)Frag einfach Google nach Lisp DCL Dialog.was deine Frage nach dem Radio-Button angeht so findest du hier ein leicht verständliches Beispiel: http://www.cadmaro.de/tipps-und-tricks/lisp/dcl-dialogdatei-direkt-aus-lisp.h tml?SearchString=dcl Weitere Beispiele dieser Richtung wieder bei Google, Suchbegriff: dynamic dcl dialog PS: Zeitgemäß:NEIN , aber immernoch das einzige Boardmittel in Lisp ------------------CAD.de System-Angaben - CAD on demand ...
|
In das Form Lisp wechseln |
|
Lisp : Hyperlink Attribut
domda0 am 11.02.2011 um 21:57 Uhr (0)
Hallo zusammen,hab das lisp gefunden welches nicht nur die hyperlinks setzt sondern bei Änderung des Attributtextes auch "updatet" falls es jemand benötigt (allerdings ohne die Funkt. mit den AdZh)Code:(defun c:sethl ( / ss hyp ) (vl-load-com) ;; © Lee Mac 2010 (if (ssget ((0 . "INSERT") (66 . 1))) (progn (vlax-for obj (setq ss (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) (mapcar (function (lambda ( x ) (if (eq "HYPERLINK" (strcase ...
|
In das Form Lisp wechseln |
|
Lisp : Layerliste Auswahlkriterien
archtools am 09.02.2011 um 12:17 Uhr (0)
Zitat:Original erstellt von cmd:Die Antwort ist einfach:Autolisp kennt keine Platzhalter.Ergo kann man nicht einfach mit "ZE*" oder "*-" arbeitenSUBSTR und STRLEN helfen weiteretwa so(setq lnam (cdr (assoc 2 layer) ) llen (strlen lnam) )(if (and (= (substr lnam 1 2) "ZE") (= (substr lnam llen 1) "*-") )usw.cmdAber natürlich kennt Auto/VisualLisp Platzhalter:(wcmatch str "ZE*-")Ich würde dem OP aber empfehlen, die Sache mehr Lisp-mäßig anzugehen und die Funktion zum Lesen aller Layer gar nicht zu ändern (b ...
|
In das Form Lisp wechseln |
|
Lisp : Befehl zur auswahl mit griffen
chris888 am 28.02.2011 um 09:54 Uhr (0)
hi leute!!hab da mal ne frage und zwar ob es einen lisp befehl gibt mit dem ich eine auswahl treffen kann die mir dannach auch die griffe anzeigt. so wie wenn man diese objekte mit der maus auswählt.mit (ssget) wählt man ein objekt aber sobald man den befehl beendet ist der auswahlsatz weg. ich brauche ihn aber um weitere befehle durchzuführen.hoffe auf hilfemfg chris
|
In das Form Lisp wechseln |
|
Lisp : Länge und breite von einem gerade gezeichneten Rechteck auswerten
udouk am 22.03.2011 um 11:35 Uhr (0)
Hallo CAD.DE-lerIch hab ein Problem.ich möchte in innerhalb einer lisp-funktion die länge und breite eines gerade mit COMAND (siehe unten) gezeichneten Rechteckes in 2 variablen eintragen. Probiere schon länger rum, komme aber nicht weiter.also soweit bin ich (progn (setq RTP1 (getpoint "
1. Taschenecke wählen:")) (command "_rectang" "ob" TASCHTIEF "_non" RTP1 pause)MFGUDOUK
|
In das Form Lisp wechseln |
|
Lisp : text zu attribut
hooki am 14.04.2011 um 10:04 Uhr (0)
hallo,ich bin auf der suche nach einem lisp, das folgendes zustande bringt. zur ausgangssituation: ich habe einen block und einen text und will nun durch anklicken des blockes und anschließendem klick auf den text dem block diesen text als attribut "x" zuweisen. dabei soll der textinhalt als attributwert übernommen werden, aber es soll sich weder die position, drehung, stil, höhe,.... ändern. soll heißen alles sieht aus wie davor, jedoch der text ist nun ein attribut des blockes. ist das überhaupt möglich? ...
|
In das Form Lisp wechseln |
|
Lisp : Blöcke verbinden
O2CAD am 11.04.2011 um 14:09 Uhr (0)
Hallo,versuche gerade mein erstes, richtiges, eigenes Autolisp-Programm zu schreiben und hab da mal einige Fragen dazu.1. AusgangssituationHabe eine DXF-Datei mit hunderten von Blöcken, wobei jeder Block jeweils einen Messpunkt darstellt. Diese haben alle 1 Attribut, das die Punktnummer angibt. Diese ist immer folgendermaßen aufgebaut: zuerst eine Ziffer von 1-9, dann 2 Großbuchstaben, dann eine 3 bis 5-stellige Zahl, dann ein Trennzeichen (im Original ein / , aber das könnte sehr leicht durch irgendein an ...
|
In das Form Lisp wechseln |
|
Lisp : Blöcke verbinden
Dorfy am 11.04.2011 um 14:32 Uhr (0)
Zitat:Original erstellt von O2CAD:Ich arbeite mich gerade mithilfe des Autolisp-Tutorials von Mapcar (bin gerade bei Lektion 7) in Autolisp ein.Ist diese Tutorial noch aktuel bzw. gibt´s andere Empfehlungen?ja ist aktuell - andere Empfehlung - Hilfe der vlide... und www Zitat:Original erstellt von O2CAD:Wie lange würde denn ein erfahrener Lisp-Programmierer schätzen, daß ich brauchen werde bis ich diese Sprache so weit beherrsche um oben genannte Aufgabe zu programmieren?Kommt ganz auf den Vorkenntnisse u ...
|
In das Form Lisp wechseln |
|
Lisp : Blöcke verbinden
CADwiesel am 11.04.2011 um 17:56 Uhr (0)
Also die Idee per Lisp ein script zu erstellen halte ich nicht für Sinnfoll, da du schon per lisp die Aufgabe lösen kannst.Halt dich doch an den Vorschlag von defun.Außerdem: warum soll die Polylinie denn geschlossen werden? Wenn alle Punkte auf einer Geraden liegen, macht eine geschlossene PL ja keinen Sinn.Die Schwierigkeit steckt in dem Detail: Zitat:Alle Blöcke einlesen, Sortieren,Wenn du das erstmal hast, Alle Blöcke sortiert, dann ist das malen der PL ja nur noch eine Kleinigkeit.------------------Gr ...
|
In das Form Lisp wechseln |