|
Lisp : Fangfunktion bei Länge Null
Theodor Schoenwald am 31.03.2013 um 14:47 Uhr (0)
Hallo Jürgen,mein Beispiel mit dem Befehl Liste, war wirklich nur ein Verständnis- Beispiel auf Deine Frage: "wie ich zu den Koordinaten bei einem Element mit Länge Null kommen kann, wenn Fang nicht funktioniert."Wenn ich z.B. 200 Elemnte habe gebe ich nicht 200 x Liste ein.Selbstverständlich habe ich die Sache mit einem Lisp-Tool automatisiert.Ungenauigkeit, Nachkommastellen? Die meisten CNC-Maschinen arbeiten mit 3 Stellen nach dem Komma, dafür wäre die Ausgabe von 8 oder mehr Stellen sinnlos.CNC?Ist vie ...
|
In das Form Lisp wechseln |
|
Lisp : Fangfunktion bei Länge Null
Theodor Schoenwald am 01.04.2013 um 21:21 Uhr (0)
Hallo Jürgen,es freut mich, dass es Dir darum ging: "was macht der denn", Dein hartnäckiges "Dranbleiben" ist in Ordnung.Zu "was macht er": Teil 1, ich erstelle Software zur CNC-Generierung in ACAD, BricsCad und ZWCAD.Da richte ich mich nach den Wünschen der Anwender und auch deren Umgang mit z.B. ACAD, manche Anwender haben gute Ideen, die ich, wenn möglich, umsetze.Teil 2 meine "Eurofreie Zone":Software mit Lisp erstellen, um Werkstücke mit meiner selbst gebauten CNC-Maschine zu bearbeiten.Welche Werkstü ...
|
In das Form Lisp wechseln |
|
Lisp : Umgebungseigenschaften übertragen
Danillo am 07.04.2013 um 11:21 Uhr (0)
Hallo Leute,damit das gewünschte Layout erzielt wird bzw. die Lisp-Programme korrekt arbeiten, habe ich bisher immer eine Prototypenzeichnung (Template) gemacht, wo ich z.B. den Bemaßungsstil, den Textstil, Maßstäbe usw. voreingestellt habe. Diese Methode hat den Nachteil, dass man darauf angewiesen ist, dass der Benutzer auch die entsprechende Template verwendet bzw. man hat Probleme, wenn man auf einer fremden Zeichnung weiterarbeiten will.Meine Frage ist, wie kann ich einen Bemaßungsstil in LISP abspeic ...
|
In das Form Lisp wechseln |
|
Lisp : Umgebungseigenschaften übertragen
Bernd10 am 08.04.2013 um 08:46 Uhr (0)
Hallo Daniel,Zitat:Original erstellt von Danillo:Meine Frage ist, wie kann ich einen Bemaßungsstil in LISP abspeichern und bei Bedarf wieder einfügen. Ich stelle den gewünschten Bemaßungsstil per Lisp so ein:; Den Bemaßungsstil als aktuellen Bemaßungsstil setzen (setq cbemstil (strcase "BemSoll")) (setq iexpertsav (getvar "expert")) (setvar "expert" 5) (command "_.dimstyle" "sichern" cbemstil) (setvar "expert" iexpertsav); Die Einstellungen des aktuellen Bemaßungsstiles aktualisieren (setvar "dimblk" ".") ...
|
In das Form Lisp wechseln |
|
Lisp : Existenz von Attributen
Musicus am 08.04.2013 um 17:26 Uhr (0)
Hallo Henning,vielen Dank für den Ansatz.Jetzt übersteigt ActiveX meine Lisp-Kenntnisse doch etwas, aber ich denke ich weiß, was das Progrämmchen im Inneren tut.Es funktioniert auch wunderbar.Ich brauche jetzt aber keine Meldung als Ausgabe, sondern es soll natürlich ein Befehl ausgeführt werden. Wenn keine Attribute drin sind, darf der Befehl nicht ausgeführt werden.Ich dachte mir, packst du statt (alert ...) einfach das Stück Code rein, was du schon hast, und fertig.Gedacht wahrscheinlich nicht schlecht, ...
|
In das Form Lisp wechseln |
|
Lisp : gruppenfilter per lisp ändern
CADmium am 10.04.2013 um 13:13 Uhr (0)
Da du ja keinen Code mit gepostet hast , gibts wohl auch noch keinen naja.. egal .... mal ein Schnipsel für dir Richtung :(defun LAYGROUPFILTER( / OBJ DICT ITEM E D N LISTE)(if(and(setq OBJ(vla-get-layers (vla-get-activedocument(vlax-get-acad-object)))) (=(vla-get-hasextensiondictionary OBJ):vlax-true) (setq OBJ(vla-GetExtensionDictionary OBJ)) (not(vl-catch-all-error-p (setq DICT(vl-catch-all-apply vla-item (list OBJ "AcLyDictionary"))) ) ) ) (vlax-for ITEM DICT (if(and(setq E(vl ...
|
In das Form Lisp wechseln |
|
Lisp : gruppenfilter per lisp ändern
CADblue am 10.04.2013 um 13:57 Uhr (0)
also so weit bin ich selber gekommen:(setq OBJ(vla-get-layers (vla-get-activedocument(vlax-get-acad-object))))(setq OBJ2(vla-GetExtensionDictionary OBJ))(setq E(vlax-vla-object-ename OBJ2))(setq D(entget E))Rückgabe:((-1 . Objektname: 7c212550 ) (0 . "DICTIONARY") (330 . Objektname: 7c20ac10 ) (5 . "1EA") (100 . "AcDbDictionary") (280 . 1) (281 . 1) (3 . "ACAD_LAYERFILTERS") (360 . Objektname: 7be09588 ) (3 . "ACAD_LAYERSTATES") (360 . Objektname: 7c212558 ) (3 . "ACLYDICTIONARY") (360 . Objektname: 7be095 ...
|
In das Form Lisp wechseln |
|
Lisp : gruppenfilter per lisp ändern
CADmium am 10.04.2013 um 14:13 Uhr (0)
Der Code ermittlt die LAYERCollektion des aktuellen Objekts , davon das Erweiterte Dictionarie , welches nach dem dictionary "AcLyDictionary" durchsucht wird. Wird dieses gefunden, werden alle Objekte desselben durchlaufen , gegeuckt, ob diese XRECORDS mit dem Schlüssel "ACLYLAYERGROUP" sind und von denen dann der Name ermittelt..Du kannst auch dictsearch verwenden .... und dann durchlaufen des Dicts bis (=(car X)3) , (cdr (360 . ...)) ist dann der Xrecord .. auf den wieder ein entget usw..... Den Code klö ...
|
In das Form Lisp wechseln |
|
Lisp : Anbindung SQLite mit ADOLISP auf 64-Bit-Rechner
StefanW am 10.04.2013 um 10:17 Uhr (0)
Hallo !Nachdem mein Autocad nun auf einen 64-bit-Rechner umgezogen ist, funktioniert die Anbindung an eine Access-Datenbank mit ADOLISP nicht mehr. Meine Idee wäre, auf eine SQLite-Datenbank umzustellen. Einen ODBC-Treiber (auch für 64-bit) für SQLite habe ich unter http://www.ch-werner.de/sqliteodbc/ gefunden.Nun habe ich aber Probleme, mich mit der Datenbank zu verbinden, ich bekomme immer eine Meldung, das die Verbindung geklappt hat, selbst wenn die Datenbank gar nicht da ist ! Eine Abfrage der Tabelle ...
|
In das Form Lisp wechseln |
|
Lisp : gruppenfilter per lisp ändern
CADblue am 10.04.2013 um 16:16 Uhr (0)
OK so weit so gut, habs so einigermaßen hinbekommen :P jetzt nur noch die frage wo ich diesen gruppenfilter aktuell setzen kann.hier unten mal die rückgabe bei allen layern und beim gruppenfilter "testing". so wies aussieht is da nur der GC (290 . 1). hab auch schon versucht den mit append in die liste einzufügen und ihn entmod(ed) leider kein erfolg, wär ja auch zu einfach gewesen :PGruppenfilter ALLE:((-1 . Objektname: 7be09638 ) (0 . "XRECORD") (5 . "149EF") (102 . "{ACAD_REACTORS") (330 . Objektname: 7 ...
|
In das Form Lisp wechseln |
|
Lisp : Gitterkoordinaten
Jourjik am 15.04.2013 um 08:29 Uhr (0)
Hallo Udo,Guten Morgen, ich arbeite nur mit Autocad Map 2014 und leider habe ichdie Civil version nicht, und im Netz habe ich die Lisp nicht gefunden.MfG Jourjik
|
In das Form Lisp wechseln |
|
Lisp : Explorer-Pfad ändern
Willi W. am 12.04.2013 um 10:18 Uhr (0)
Hallo -ikarus-,das funktioniert, allerdings öffnet sich auf diesem Wege auch für jedes Verzeichnis ein neues Fenster.Bei einem Aufruf zu einem bereits geöffneten Fenster kommt dieses in den Vordergrund, wird also nicht neu geöffnet.Nachteil, den ich hier nicht haben möchte, ist das nach einiger Zeit reichlich Fenster geöffnet sind.Daher suche ich nach einer Lösung, entweder den Pfad in einem offenen Exlorer-Fenster zu ändernoder das/die offenen Explorer-Fenster zu schließen und ein neues zu öffnen.Hallo CA ...
|
In das Form Lisp wechseln |
afkoord.lsp.txt |
Lisp : Gitterkoordinaten
Jourjik am 12.04.2013 um 12:44 Uhr (0)
Hallo Forum,Bei uns arbeiten wir seit Jahren mit Autocad Map 3D, und aktuell auch mit 2014er Version.in Netz habe ich das Lisp-Programm Afkoord gefunden und bis Acad version 2013 hat auch alles ganz gut funktioniert, aber seit dem ich mit 2014 er Version arbeite, das program wird unterbrochen mit unten afgelistete Meldungen.kann Mir vieleicht jemand behilflich sein und sagen wie ich das Problem wieder beheben kann?ich were sehr Dankbar .Ungültiger Punkt."Fehler aufgetreten: Funktion abgebrochen"Ungültiger ...
|
In das Form Lisp wechseln |