|
Rund um Autocad : Radius von mehreren Rechtecken mit einem Befehl ändern
wronzky am 10.06.2005 um 10:44 Uhr (0)
Hi Candidl! Willkommen im Forum! vielleicht hilft dieses Lisp: Code: (defun c oly-fillet ( / z r ss p) (setq z 0) (setq r (getreal neuer Radius: )) (setq ss (ssget)) (while (setq p (ssname ss z)) (command _fillet _r r _fillet _p p) (setq z (1+ z))) ) Einfach laden und es steht der Befehl poly-fillet zur Verfügung: Viel Erfolg, Henning [EDIT] Verdammt, ich krieg das Smilie nicht weg. Soll heissen: c doppelpunkt poly-fillet [/EDIT] ------------------ VoxelManufaktur Computer-Dien ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um AutoCAD : Hyperlink als Text im Block anzeigen
wronzky am 17.06.2013 um 09:31 Uhr (0)
... keine Ahnung, warum die Klammer abhanden gekommen ist, aber Thomas hat recht mit seiner Vermutung.zu Lisp-Tools auch nochmal ein Link zu den FAQ.Und nochmal das korrigierte Progrämmchen:Code:(defun c:show-hyperlinks ( / inserts insert z att-name hyper att) (vl-load-com) (setq inserts (ssget ((0 . "INSERT"))) z -1 att-name "Dateiname"); !! Hier Name des Attributs definieren !! (while (setq insert (ssname inserts (setq z (1+ z)))) (setq hyper (vla-get-url (vla-item (vla-get-hyperlinks (vlax-ename-vla-ob ...
|
| In das Form Rund um AutoCAD wechseln |
|
ADT Architectural Desktop : VIZ Drahtgitter rendern
wronzky am 15.06.2005 um 10:40 Uhr (0)
Hallo Carsten! hab mal Deine Empfehlung in ein kleines Lisp-Programm verpackt: Code: (defun c:wireframe ( / as b e z eig) (setq as (ssget ((-4 . OR ) (0 . LINE ) (0 . LWPOLYLINE ) (-4 . OR ) ))) (if as (progn (setq b (getdist Seitenlänge angeben: 1 )) (setvar cmdecho 0) (command _undo _be ) (command _ucsicon _off ) (or b (setq b 1)) (setq z 0) (while (setq e (ssname as z)) (if (setq eig (entget e)); Element nicht verbunden ...
|
| In das Form ADT Architectural Desktop wechseln |
|
Lisp : Attribute Abfragen lassen?
wronzky am 12.05.2009 um 08:27 Uhr (0)
... und eine kleine weitere Hilfestellung:Code:(defun c:ausfragen (/ att_val z att) (setq att_val ( ("Kannst Du Lisp?" "Fachmann" "Anwender") ("Bist Du müde?" "müde" "wach") ("Hast Du Hunger?" "hungrig" "satt") ("Hast Du Durst?" "durstig" "sitt, schmöll, stulln, gestillt, getränkt, oder wamp") ) z -1 ) (while (setq att (nth (setq z (1+ z)) att_val)) (if (= (ask-vb-yes-no (car att)) 6) (prompt (strcat "Du bist " (cadr att)".
"));Hier die Sachen bei JA (prompt ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : Koordinaten ermitteln und/oder Text aus Block löschen
wronzky am 11.07.2012 um 11:52 Uhr (0)
Hallo, und erst einmal Willkommen bei CAD.de!Grundsätzlich ist das sicher alles zu machen. Ich würde aber nicht extmin etc. nehmen, da ja dort alle Elemente der Zeichnung erfasst werden. In Lisp (dafür gibt es übrigens ein extra Forum) würde ich das grob so machen:die Blockdefinition des alten Kopfes einlesen, den Basispunkt abspeichern, über alle Elemente außer Texte eine boundingbox legen, und so die maximale Ausdehnung des Kopfs ermitteln. Dann in allen Layouts den alten Kopf suchen, Skalierung, Drehung ...
|
| In das Form Rund um AutoCAD wechseln |
|
Rund um AutoCAD : Punktsymbole nach BKS ausrichten
wronzky am 30.11.2010 um 19:35 Uhr (0)
Hallo Zora,als Willkommensgruß habe ich hier eine kleine Hilfsfunktion, die zumindest schon mal die Punkte in die richtige Richtung dreht.Code:;Funktion zum Ausrichten (drehen / kippen) von Punkten auf das aktuelle BKS;Version 1.0;Henning Jesse 01/2010(defun c:vox-rotp2ucs ( / ss z x y r ele prop) (setq ss (ssget ((0 . "POINT"))) z -1) (setq x (getvar "ucsxdir")) (setq y (getvar "ucsydir")) (setq r (v_prod x y)) (if ss (while (setq ele (ssname ss (setq z (1+ z)))) (setq prop (entget ele)) ...
|
| In das Form Rund um AutoCAD wechseln |
|
Lisp : Falscher Block durch Lisp eingefügt
wronzky am 13.08.2008 um 17:05 Uhr (0)
Hi Robert,frei nach Radio Eriwan: im Prinzip JA, aber: Zitat:1.Möglichkeit - Ich schreibe bei jedem defun noch ein z.B. "-Roh" dazuist nur die halbe Wahrheit, natürlich müssen die Aufrufe aus den anderen Funktionen dann auch angepasst werden. Zitat:2.Möglichkeit:Alle defun-funktionen in die defun c: -d.h. weniger Klammern und alle variablen an den Anfang.nicht weniger Klammern, sondern anders verschachtelt:Code:(defun c:blabla () ;-- Command-Defun (defun funktion1 () ;-- Funktion 1-Defun ... ) ( ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : Speicherformat erkennbar
wronzky am 23.07.2008 um 17:51 Uhr (0)
Hallo Eva,irgendwo im Lips-Forum hatten wir mal was dazu geschrieben. Da ich es da nicht mehr finde, hier nochmal der Code:Code:(defun C:chk-dwg-version (/ dwgfile rfile dwgver acadv) (setq dwgfile (strcat (getvar "dwgprefix") (getvar "dwgname")));Für die aktuelle Zeichnung; (setq dwgfile (getfiled "Zeichnung wählen" "" "dwg" 2));Für eine zu wählende Zeichnung (if dwgfile (progn (setq rfile (open dwgfile "r")) (setq dwgver (substr (read-line rfile) 1 6)) (close rfile) (cond ((= dwgver "AC1021") ...
|
| In das Form Rund um AutoCAD wechseln |
|
Lisp : Funktion Falsch -.-
wronzky am 04.05.2011 um 15:47 Uhr (0)
Hallo Chris,aaaalso, fangen wir von vorne an:die Objektnamen der Elemente eines Auswahlsatzes bekommst Du mit (SSNAME [Auswahlsatz] [Nummer des Elements]. Ist die Nummer größer als die Anzahl der Objekte wird NIL zurück gegeben. Einen Auswahlsatz kannst Du also so abarbeiten:Code: (setq ss (ssget) z -1) (while (setq ele (ssname ss (setq z (1+ z)))) [MACH WAS] )hat ein INSERT Attribute, steht im GC 66 eine 1. Um Sicherzustellen, dass nur Inserts mit Attributen gewählt werden, solltest Du also ssget mit Fil ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : Koordinaten aus Autocad auslesen
wronzky am 12.03.2009 um 17:57 Uhr (0)
Hallo,wenn auch bischen spät, hier (vielleicht für spätere Fälle) noch mal ein 5-Zeiler in Lisp, der folgendes macht: Es wird geprüft, ob der Einfügepunkt eines Blocks mit dem Basispunkt eines Textes überein stimmt. Wenn ja, werden x- und y- Koordinaten des Blocks, und der (zur Zahl konvertierte) Inhalt des Textes in eine Datei geschrieben. Wenn nein, wird der Block auf den Layer "Unzugeordnet" verschoben. (In Deinem Fall immerhin über 100).Code:(defun c:txt-block-mix (/ z bls f bl txt ble blp z2 d) (setq ...
|
| In das Form Rund um AutoCAD wechseln |
|
AutoLisp : LSP als Funktion mit Eingangswerten?
wronzky am 14.07.2005 um 11:53 Uhr (0)
@mapcar das mit dem errorhandler geht doch meines erachtens nicht, da ja kein Lisp-Fehler auftaucht, wenn Autocad meldet Unbekannter Befehl . Daher denke ich der variabelste Weg ist über den Reactor vlr-command-reactor:vlr-unknownCommand. etwa so: Code: (defun c:init-build-command () (vl-load-com) (if (not (reactor-is-active ((:vlr-unknownCommand . build-command)) :vlr-command-reactor)) (setq build-command-reactor (vlr-command-reactor my-new-command ((:vlr-unknownCommand . build-command))) ...
|
| In das Form AutoLisp wechseln |
|
Lisp : überschrieben Bemaßungen
wronzky am 29.06.2007 um 19:23 Uhr (0)
Hallo Martin,schaust Du in die Hilfe von Lisp - DFX-Referenz - Entities - Dimension - Überschreibung von Bemaßungsstilen: Zitat:Überschreibungen von Bemaßungsstilen Überschreibungen von Bemaßungsstilen können auf Bemaßungs-, Führungs- und Toleranzelemente angewendet werden. Die Überschreibungen werden in den einzelnen Elementen als XDaten gespeichert. Die Steuerzeichenketten der 1002-Gruppe enthalten die überschriebenen Bemaßungsvariablen-Gruppencodes und die zugehörigen Werte. Im folgenden Beispiel werd ...
|
| In das Form Lisp wechseln |
|
Rund um Autocad : 3d-Volumenkörper auf eine Z-Ebene legen
wronzky am 31.05.2005 um 15:10 Uhr (0)
Hallo Andreas! Wir hatten das Problem auch mal und diese Lisp-Routine ist dabei entstanden: Code: (defun get-bounding-box (ename / vlaname minb maxb) (vl-load-com) (setq vlaname (vlax-ename- vla-object ename)) (vla-GetBoundingBox vlaname minb maxb) (setq minb (vlax-safearray- list minb)) (setq maxb (vlax-safearray- list maxb)) (list minb maxb) ) (defun c:solid-move ( / auswahl z_neu ename z_min zaehler altosmode) (setq auswahl (ssget (list (cons 0 "3DSOLID")))) (if auswahl (progn ...
|
| In das Form Rund um Autocad wechseln |