|
AutoLisp : kompakte Lisp Code
RoyCAD am 15.03.2005 um 09:51 Uhr (0)
Hallo Kann man dieser Code bearbeiten, weil jetzt ist das eine Endlose Geschichte. Ich denke es ist doch möglich das Ding viel kürzer zu schreiben. Für ein Beispiel werde ich sehr dankbar. Mit freundlichen Grüßen RoyCAD (setq bock_seit_an1 (polar (setq startbock_an (getpoint Startpunkt )) 0.0 (- (+ (+ (+(-(* b1 (sqrt 2.0))9.95 )2.9) (* b2 (sqrt 2.0))) (+ (* Breite_3 (sqrt 2.0)) 4.0)) 5.4) )) (setq bock_seit_an2 (polar bock_seit_an1 w45 (* 5.4 (sqrt 2.0)))) (setq bock_seit_an3 (polar bock_ ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Gruppen auflösen
Dorfy am 25.08.2006 um 07:19 Uhr (0)
Hi Marc, hi Jörn, @Marc"as designed" or NOT "as designed" this is the question?IMHO - Mit cons... in der Subfunktion wird die ACAD-Logik umgedreht!? auch ACAD folg IMHO einer Logik welcher? this? only now? ...Euer Weg ist dennoch der richtigeAnzahl der Entities der Gruppen!?Es klemmt wie immer bei der Implementierung - im gekennzeichneten Bereich warum???Guter Rat (kann auch schon wo anders klemmen [IMHO]) ;;; löst jeweils nur die "obersten" vorhandenen Gruppen von gepickten Objekten auf(defun C:xxx ...
|
| In das Form Lisp wechseln |
|
AutoLisp : autoload versus (defun prog () load prog))
mapcar am 23.11.2004 um 21:10 Uhr (0)
Peter, letztendlich bleibt das jedem selber überlassen. Ich handhabe das meist so, dass meine komplexeren Programme aus einer User-Interface-Funktion bestehen, die immer geladen ist, etwa so: (defun c:hauptprogramm( / aufgabe param) (setq aufgabe user-input auswerten param user-input auswerten ) (cond ( (= aufgabe dieses) (if(null dieses(load"dieses.lsp"))) (dieses param) ; (setq dieses nil) ) ( (= aufgabe jenes) (if(null jenes(load"jenes.lsp"))) ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Fragen zu C:Cal
Niggemann am 23.02.2008 um 14:53 Uhr (0)
Hallo StephanJP,mit dem Aufruf von CAL oder KAL probier ich wenn ich wieder an meinem Rechner mit ACAD 2007 sitze.Warum ich den Georechnert von ACAD nutze ist ganz einfach.In einer edit_box steht eine Zahl (Menge)diese Zahl möchte ich durch Addition erhöhen. Dazu öffne ich ein weiters DCL-Fenster wo nur eine edit_box und ein OK Button drin sind. Beim öffnen des Fenster wird der Zahlenwert aus der edit_box die ich zuvor gewählt hatte angezeigt, diesen Wert möchte ich jetzt verändern und anschließend wieder ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Verschachteln von Dialogfenstern
Brischke am 06.10.2004 um 14:20 Uhr (0)
Zitat: Original erstellt von snafu: (action_tile KEY_1 (done_dialog 2) ) = was bedeutet die 2 , ist das der Dialog den ich beenden möchte? Die 2 ist nicht mit einem Flag zu verwechseln. Das ist einfach nur ein Wert, genau wie die 3 oder 4. Der Dialog ist mit dem (start_dialog) gestartet. Von da an kannst du auch nicht mehr debuggen, da hat ACAD, die Oberhand über die zuvor geladenen (action_tiles ..) Der Dialog wird dann irgendwann über ein (done_dialog #) beendet. Womit, also welcher Butto ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Nummern hochzählen
archtools am 19.10.2005 um 16:29 Uhr (0)
Zitat:Original erstellt von Dober Heinz:@ FuchsiHabe einen Text "M1/2" und der soll erhöht werden auf "M3/4" .... "M5/6" und so weiter, funktioniert auch so nur kann ich gerade bis Nummer 9 Hochzählen ich will aber weiter Hochzählen.Kann auch sein das ich von "M12/13" auf "M14/15" hochzählen muss.also ich nehme einen Vorhanden Text und Zähle von der vorgegebenen Zahl weiter.Hallo Heinz,Dein Problem ist schwerer zu lösen, als Du es auf den ersten Blick für wahrscheinlich hältst - außer, wenn Deine Texte im ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Automatic Dimension AutoCAD LISP??
kadirozen am 02.08.2023 um 12:26 Uhr (1)
Ich danke Ihnen beiden für Ihre Antworten.kurz erklärt, gibt es eine Möglichkeit, eine Liste abgesehen von diesem Code zu machen, so dass ich Layers aktualisieren/umbenennen kann. Momentan sind es fast 700 verschiedene Layers und jeder Name mit eindeutigem Namen. Ich habe versucht, unsere Dateien zu durchsuchen, aber es kommen immer wieder neue Layers hinzu.Im Moment hat es 4 Dicken mit 6 verschiedenen Typen. Es sollte möglich sein, eine solche Benennung zu kodieren und sie automatisch zur Liste hinzuzufüg ...
|
| In das Form Lisp wechseln |
|
Lisp : Automatic Dimension AutoCAD LISP??
archtools am 26.07.2023 um 08:23 Uhr (1)
Zitat:Original erstellt von kadirozen:Ich danke Ihnen für Ihre Antworten.Ich habe nicht vor, den Code so weit zu ändern, dass er etwas völlig Neues ist.Kurzform: Auch die Bearbeitung oder Änderung eines urheberrechtlich geschützten Werkes ist eine Urheberrechtsverletzung.Langform: https://www.gesetze-im-internet.de/urhg/Details:§ 39 Änderungen des Werkes(1) Der Inhaber eines Nutzungsrechts darf das Werk, dessen Titel oder Urheberbezeichnung (§ 10 Abs. 1) nicht ändern, wenn nichts anderes vereinbart ist.§ 6 ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Objekte zählen
mapcar am 23.06.2004 um 13:07 Uhr (0)
Tom, im Prinzip hast du wohl recht, aber in diesem Falle sehe ich das nicht so: Es handelt sich hier ja nicht um eine schöpferische Leistung , sondern um eine völlig triviale Funktion, und zwar so trivial, dass eine hohe Wahrscheinlichkeit vorliegt, dass mehrere oder viele AutoLisp-Anwender bei gleicher Aufgabenstellung zu genau diesem Ergebnis kommen würden - abgesehen vom Einrücken vielleicht;-) In der Autodesk-Newsgroup gab es ja lang genug völlig lächerliche Diskussionen über Copyrights an ein- oder ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Liegt eine Lotpunkt auf einer Polylinien oder nicht ??
archtools am 07.11.2009 um 12:02 Uhr (0)
Zitat:Original erstellt von tappenbeck:Moin!ich habe folgende Aufgabe die ich irgendwie nicht gelöst bekommen.Punkte sollten geprüft werden, ob der Lotpunkt auf der Achse (Polylinie) liegen würde. Wenn ich mit [i]vlax-curve-getDistAtPoint die Strecke im zu prüfenden Punkt ermittel und dann in Vergleich zur Länge der Polyline setzen.[/i]Besteht die Polylinie wie in Deiner Skizze immer aus geraden Linienstücken? Dann ist die Sache doch viel einfacher und allgemeiner lösbar als mit den Vlax-* Funktionen. Du ...
|
| In das Form Lisp wechseln |
|
Lisp : Blockhuckepack
cadoc am 06.11.2018 um 13:43 Uhr (1)
Danke für die Rückmeldung.Überlegungen gibt es schon:Abfrage für AuswahlbereichAuswahlbereich festlegenAuswahl eines Zielblocks um den Namen der B Blöcke zu erhaltenAuswahl eines Verschiebeblocks um den Namen der A Blöcke zu erhaltenErstelle Liste A von n Blöcken mit Namen AErstelle Liste B von n Blöcken mit Namen B Nimm ersten Block A aus Liste A Rechne die Abstände der Einfügepunkte (aus Koordinaten X,Y) zu allen Blöcken B aus Liste B Merke jenen Block B mit dem kürzesten Abstand zum ersten Block A ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
wronzky am 19.06.2009 um 19:37 Uhr (0)
Die Funktion kannst Du einfach ans Ende Deiner Lisp-Routine anhängen, und im Programm die entsprechende Zeile austauschen. Sollte dann so aussehen:Code:(defun c:PF (/ hElement hObjektID hcmdEcho hText hP1 HTH hW);;; VL-Befehle müssen geladen werden (vl-load-com);;; Systemvariablen werden gesichert (setq hcmdEcho (getvar "cmdecho")) (setvar "cmdecho" 0) (setvar "fieldeval" 31);;; Polylinie wird gewählt (if (setq hElement (entsel "
Raumpolygon wählen: ")) (progn (setq hElement (car hElement));;; Test, ob ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Listenwerte an Command übergeben
mapcar am 23.11.2004 um 13:25 Uhr (0)
Hi Udo, Code: (defun 3dnetz-zeichnen (m n daten / ) (mapcar command(append(list"_3dmesh"m n)daten)) ) (3dnetz-zeichnen 3 3 ((0 0 0)(1 0 0)(2 0 0)(0 1 0)(1 1 1)(2 1 0)(0 2 0)(1 2 0)(2 2 0)) ) Die eine Abbildung (3dnetz.gif) zeigt das Rendergebnis dieses Programmaufrufs. Für die zweite Abbildung (3dfaces.gif) habe ich die vier Vierecke durch acht Dreiecke (3DFaces) ersetzt. Der Unterschied ist deutlich sichtbar: AutoCAD ist bei Vierecken nicht in der Lage, den zwei Teildreiecken unterschiedliche ...
|
| In das Form AutoLisp wechseln |