|
AutoLisp : vla-InsertBlock vs. insert
CADmium am 10.05.2006 um 11:30 Uhr (0)
denke mal, da ein "," im String keinen zulässigen Blocknamen ergibt, hast du mit vla-insert schlechte Karten .. also entweder intern die Datei umbenennen/kopieren oder über DXB und vla-copy-objects die Blockdef in die Zeichnung holen..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Anfängerproblem
CADmium am 28.06.2006 um 08:17 Uhr (0)
du führst den den Wblock-Befehl auch gar nicht zu Ende...der Code müßte ungefähr so aussehen:(if(and(setq v_zeichname (getstring "
Name der DXF-Datei: ")) (setq AWS(ssget)) (setq P (getpoint "
Einfügepunkt:")) ) (progn (setq Name(strcat "d:/"v_zeichname".dxf")) (if(findfile NAME) (progn (command "_undo" "_m") (command "_-wblock" (strcat "d:/"v_zeichname".dxf")"_y" 16 "" P AWS "") (command "_undo" "_e") (command "_undo" 1) ) (progn (command "_undo" "_m") (comman ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Datei Z_Kopf.dwg öffnen
CADmium am 24.08.2006 um 13:10 Uhr (0)
wenn du nicht mit filedia usw. rummachen willst :(command "vbastmt" (Strcat "AcadApplication.Documents.OPEN"(chr 34)(getvar "DWGPREFIX")"z_kopf.dwg")(chr 34)(chr 13))auf einen Button oder zum Testen erstmal in die Befehlszeile------------------ - 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 : Von eine dat.datei das datum lesen.
CADmium am 31.08.2006 um 19:52 Uhr (0)
ja, dafür gibts die Funktion vl-file-systime ... ein anderer Weg mit mehr Informationen wäre der übers "Scripting.FilesystemObject" ------------------ - 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 : Von eine dat.datei das datum lesen.
CADmium am 01.09.2006 um 08:37 Uhr (0)
bei Dateioperationen usw wird immer auf OS-Funktionen zugegriffen. Inwieweit solche Operationen in dem von dir eingesetzten Lispdialekt integriert sind - keine Ahnung, da du ja noch nicht mal gesagt, hast, welcher das ist! Im dem in ACAD integrierten Interpreter sind sie jedenfalls drin (ohne ActivX .. das wäre der 2. Weg über das FSO)------------------ - 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 : Lisp-Befehl: read-line
CADmium am 18.09.2006 um 15:40 Uhr (0)
wenn die Datei nicht seeehr groß ist, les die Zeilen doch in eine Liste... für deren Manipulation bietet Lisp ne Menge mehr Funktionen, außerdem ist es schneller als die dauernden Dateizugriffe.------------------ - 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 : Grundlagenfrage
CADmium am 03.10.2006 um 19:23 Uhr (0)
also ....Es gibt 1. die Autocad-Befehle2. Funktionen aus anderen Arx ..-type = EXRXSUBR = External ObjectARX applications .. kann man sich auch mit arx und c angucken3. Lispfunktionen .. - type = SUBR/USUBR .. anguckbar mit atoms-familydamit Funktionen aus 2.) und 3.) als Autocadbefehl gehandelt werden können, müssen diese im Autocad entsprechend angemeldet werden. wenn der Funktionsname mit c: anfängt erledigt die Funktion defun dies. command ist eine Lispfunktionm, die ihren Parameter als ACAD-Befehl und ...
|
| In das Form Lisp wechseln |
|
Lisp : Grundlagenfrage
CADmium am 04.10.2006 um 11:12 Uhr (0)
Thx für die Blumen ... Axel (mapcar) hätt dir das sicher besser erklären können..dafür mach ich noch nicht lange genug mit Autocad und Lisp, aber:auch wenn der Lispbefehl als Autocadbefehl angemeldet wurde, ist er noch lange keiner.man kann ja auch sowas definierenCode:(defun c:Testus(A B) (princ "
HAllo
"))wird zwar als Befehl angemeldet, trotzem wird es nur beim Aufruf als Lispfunktion mit der Parameterübergabe klappen.Ein Lisp , egal ob als Befehl angemeldet oder nicht, muß zuallererst den Lispinterp ...
|
| In das Form Lisp wechseln |
|
Lisp : Layerstatus
CADmium am 13.11.2006 um 13:50 Uhr (0)
Zitat:Original erstellt von caddonner:Hi Thomas ! Ja, wenn das geht ist es ja supa !Kannst Du das auf die Schnelle hinbringen ?mfGPeter(defun SETLMAN(/ STM) (if(setq STM(vla-GetInterfaceObject (vlax-get-acad-object)"AutoCAD.AcadLayerStateManager.16")) (progn (vla-SETDATABASE STM (vla-get-database(vla-get-activedocument(vlax-get-acad-object)))) (vla-save STM "Lüftung" (+ acLsFrozen acLsLocked acLsOn acLsPlot acLsPlotStyle acLsNewViewport)) (vlax-release-object STM) ) ...
|
| In das Form Lisp wechseln |
|
Lisp : Bios-Daten lesen aus AutoCAD
CADmium am 14.11.2006 um 14:22 Uhr (0)
IMHO nein, da du mit Lisp nicht an Speicher außerhalb des Namespace der aktuellen DWG rankommst .. VBA mit Nutzung der WIN-API bietet da mehr Möglichkeiten.Darf man fragen was konkret, und wozu du dies benötigst? ------------------ - 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 : Bios-Daten lesen aus AutoCAD
CADmium am 14.11.2006 um 14:36 Uhr (0)
was ist mit den Sysvars (getvar "_pkser")(getvar "loginname")(getenv "Computername")?ansonsten.. .. welche Schöpfungshöhe haste denn erreicht ? ------------------ - 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 : Excel Datei einlesen
CADmium am 19.11.2006 um 11:01 Uhr (0)
Zitat:Original erstellt von MZjochen:gibt es eine Möglichkeit Excel Datein mit Lisp einzulesenja, über ActivX .. entsprechender Code ect. sollte sich sogar hier im Forum finden lassen Zitat:ohne dass die Exel Datei dabei geöffnet istgeöffnet muß sie schon werden.. alerdings kann dass im Hintergrund (also nicht sichtbar) ablaufen. Zitat:bzw. Excel überhaupt installiert ist.wird wohl nix werden, da du für den ActivXzugriff ein EXcel-Object brauchst.. es sei denn , du kennst dich super im Binären-Excel-Datei ...
|
| In das Form Lisp wechseln |
|
Lisp : Lsp über Button starten
CADmium am 11.12.2006 um 08:58 Uhr (0)
ok, vielleicht ist es mit Kanonen auf Spatzen schießen, aber um ganz sicher zu gehen... (if(or(=(type(eval my-fine-func))SUBR) (and(/=(load "my-fine-lisp-file" "ERROR")"ERROR") (=(type(eval my-fine-func))SUBR) ) ) (my-fine-func)) (=(type(eval my-fine-func))SUBR) testet, ob Symbol im Speicher und eine aufrufbare Routine(/=(load "my-fine-lisp-file" "ERROR")"ERROR") ... gint T zurück, wenn Datei geladen werden konnte ..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschr ...
|
| In das Form Lisp wechseln |