|
AutoLisp : lisp und das internet
wronzky am 21.07.2005 um 15:05 Uhr (0)
Hallo Frank! für s hochladen kannst Du Code: (defun put-remote-file (url local / util fehler) (setq util (vla-get-utility (vla-get-activedocument (vlax-get-acad-object)))) (setq fehler (vl-catch-all-apply vla-putremotefile (list util url local))) (if (vl-catch-all-error-p fehler) (progn;fehler: Datei nicht da, kein Internet oder so... (prompt Ein Fehler ist aufgetreten!
Stellen Sie eine Internetverbindung her und versuchen Sie es erneut. ) (setq local nil) ) (setq local t) ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : bflösch mtext -> .mtext funzt nicht
wronzky am 16.09.2005 um 11:22 Uhr (0)
Hallo Martin,manchmal hilft auch die AutoCAD Hilfe (Auszug aus der Hilfe zu BFLÖSCH):ObjektARX-Anwendungsbefehle, die mittels acedRegCmd registriert wurden, können Sie aufrufen, indem Sie dem Befehlsnamen eine Punkt (.) voranstellen, gefolgt von dem Gruppennamen des Befehls und einem weiteren Punkt (.). Der Befehl MTEXT kann beispielsweise durch .acad_mtext.mtext aufgerufen werden.]Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelma ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : xref
wronzky am 07.03.2006 um 14:15 Uhr (0)
Hallo Frank,habs jetzt auch mal probiert:Code:(defun c:clip-info ( / bl pt) (setq bl (car (entsel))) (setq pt (get-clips bl)) (mapcar (lambda (x) (trans x bl 0)) pt))Du hast tatsächlich recht, aber wie jetzt weiter weiss ich auch nicht spontan. (Das Problem tritt aber nur bei kopierten xrefs auf.) In der AutoCAD-Hilfe steht halt nur:Definitionspunkt für Zuschneide-Umgrenzung (im OKS; stets größer oder gleich 2), basierend auf einem XRef-Skalierfaktor von 1.Darauf hab ich mich verlassen... Wenn Du eine Lösu ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : xref
wronzky am 07.03.2006 um 22:15 Uhr (0)
Hi Frank,Habe mir Deine Funktion mal angesehen. Wesentlich ist da ja, dass Du zu den einzelnen Koordinaten noch die entsprechenden Koordinaten den jeweiligen Basispunkt des Blockes hinzuzählst. Guter Ansatz, entspricht ja der Basispunkt dem null-Punkt des OKS des Blockes, und wenn schon das (trans x bl 0) nicht geht , muss mans halt von Hand machen... (Ich glaube das mit dem nth 3 und nth 7 kannst Du Dir sparen, weil da - bei mir zumindest - immer 0 steht). Daher könnte man die Funktion noch etwas eindampf ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Abfangen fehlerhafter Benutzereingaben
wronzky am 27.04.2006 um 16:06 Uhr (0)
Zitat:Soll ich darin zum Test versuchen, die eingegebene Datei zu laden oder wie?Hi Kathrin,z. B. mit findfile testen, ob die Datei gefunden wird. es müsste also einCode:(if (findfile (get_tile "inpfile"))...reichen.Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Platzbedarf von Attributen
wronzky am 05.05.2006 um 10:17 Uhr (0)
Hallo Andreas,Tja, dann muss man warscheinlich alles von Hand machen: Blockgeometrie auslesen Layer testen auf gefroren / ausgeschaltet, Elemente filtern Attribute des Blocks auslesen Attribute des Blocks testen auf Sichtbarkeit unter Beachtung der Sysvar attmode Blockclippings auslesen Blockelemente testen auf Innerhalb/ Ausserhalb / Schnitt des Clippings und entsprechend bearbeiten Blockskalierung auslesen Alle Elemente des Blocks entsprechend der Skalierung umrechnenHab ich noch was vergessen? Das wird ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Kontrollfrage vor dem verlassen!
wronzky am 01.03.2007 um 14:50 Uhr (0)
also im Prinzip so:1. den sichern-Befehl mit eigenem Befehl überschreiben (defun c:sichern ...), oder mit einem Reaktor auf das Schliessen einer Datei reagieren.2. nachschauen, ob block in Zeichnung existiert mit (tblsearch) oder (ssget x [Filterliste])3. wenn dann nachschauen, ob dxf existiert mit (findfile)4. wenn nicht, dann dxf erzeugen5. und sichern / beenden am Ende nicht vergessenGrüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.vo ...
|
| In das Form Lisp wechseln |
|
Lisp : Bemassungstex nach X oder Y Achse verschieben
wronzky am 10.09.2007 um 10:32 Uhr (0)
Hallo ???,welche AutoCAD-Versionhast Du denn? In 2008 gibt es den Befehl BEMPLATZ, der alle Bemassungen aufeinander ausrichten kann.Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
| In das Form Lisp wechseln |
|
Lisp : Fehler in Code, Zeichnung oder ACAD?
wronzky am 23.01.2008 um 11:09 Uhr (0)
Hi 2 all,schon vor Jahren hatte unser verehrter Mapcar einen Code gepostet, wo unter anderem Modellbereichs- und Papierbereichskoordinaten ineinander umrechnet werden (s. hier), es geht mir aber im Grunde um (trans pt 3 2), (lässt sich mit Mapcars Programm nur prima austesten...).In der beigefügten Testzeichnung gibt es 3 Ansichsfenster AF1, AF2, AF3. Das Beispieprogramm läuft prima in AF1 und AF2, nur in AF3 wird falsch gerechnet.Und nun die Quizfrage: liegt es am Code, an der Zeichnung, oder an AutoCAD ( ...
|
| In das Form Lisp wechseln |
|
Lisp : Benutzte Tabelleneinträge
wronzky am 10.03.2008 um 15:03 Uhr (0)
Hallo,AutoCAD hat ja verschiedene Tabellen, die man schön mit tblnext auslesen kann.Jetzt will ich aber eine Liste der BENUTZTEN Tabelleneinträge erstellen.Für die Layer kann man ja einfach die "used"-Eigenschaft abfragen:Code: (setq layers (vlax-get-property (vlax-get-property (vlax-get-acad-object) ActiveDocument) Layers)) (vlax-for n layers (if (= (vlax-get-property n used) :vlax-true);used (setq n_tb (cons (vlax-get-property n name) n_tb)) ) ) (vlax-release-object layers)Und für Linie ...
|
| In das Form Lisp wechseln |
|
Lisp : Auslesen einer AutoCAD-Datei
wronzky am 14.05.2008 um 12:28 Uhr (0)
Hallo,um Elemente in eine neue Datei zu schreiben benutzt Du am besten Wblock (s. Holger). Dafür brauchst Du nicht die einzelnen Elementnamen, Du kannst im Ausgabebefehl gleich den Auswahlsatz übergeben:Code:(if (setq neuele (ssget)) (command "_wblock" pause "" (getvar "insbase") neuele ""))Grüsse, Henning------------------Henning JesseVoxelManufakturComputer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
| In das Form Lisp wechseln |
|
Lisp : Löschen einer Datei in der AutoCAD-Ebene
wronzky am 30.05.2008 um 17:48 Uhr (0)
Hi Erich,vielleicht irgendwo ein (close [DATEIHANDLE]) vergessen?Grüsse, Henning------------------Henning JesseVoxelManufakturComputer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
| In das Form Lisp wechseln |
|
Lisp : Löschen einer Datei in der AutoCAD-Ebene
wronzky am 30.05.2008 um 20:35 Uhr (0)
Hm...dann ist für mich erst mal ohne Code nichts mehr zu machen...Grüsse, Henning------------------Henning JesseVoxelManufakturComputer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
| In das Form Lisp wechseln |