|
AutoLisp : Schriftfeld mit Dateiname & Datum, die 99zigste :-)
Brischke am 27.09.2003 um 21:45 Uhr (0)
Hallo CAD Tötti, willkommen im Forum. Nun zu den Attributen. Um das zu machen, solltest du dich mit der DXF-Referenz beschäftigen. Daraus kannst du den Zeichnungsaufbau erkennen. Du suchst dir mit (seta as(ssget _X ((0 . INSERT )(2 . HEAD )))) erst einmal den Schriftfeldblock. mit (setq blel (ssname as Nr)) bekommst du den INSERT als ELement. Die Attribute folgen in der Elementreihenfolge der Zeichnungsdatenbank immer dem Insert, weshalb du mit (setq att1 (entnext blel)) an das erste Attribut k ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Mandelbrot
mapcar am 26.03.2004 um 16:21 Uhr (0)
In der Zeile (if (setvar z (complex x y))... hast du doch so einen Fall: (defun complex(real imag / )(list real imag)) (defun realpart(cmplx / )(car cmplx)) (defun imagpart(cmplx / )(cadr cmplx)) (setq myC(complex 3 2)) = (3 2) (realpart myC) = 3 (imagpart myC) = 2 Bis dahin ist das doch allerbanalstes Lisp. Wie gesagt, soweit wird doch noch gar nix gerechnet. Erst bei + , aber das hier: (+ (3 2) 1.5734462) funktioniert nun mal nicht so. Und es kommt noch mehr: (setq z (complex x y) ... (setvar ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Lisp warten lassen
joern bosse am 15.12.2008 um 07:36 Uhr (0)
Hallo CADchup,ich habe das mal so ähnlich wie Andy vorgeschlagen gelöst, solange, wie vl-file-rename nil zurück gibt ist die Datei am "Arbeiten" (in diesem Fall ein RAR-Archiv).Code:(if (and (vl-file-rename (strcat pfad A) (strcat (substr (strcat pfad A) 1 (vl-string-search "." (strcat pfad A))) ".exe") ) (findfile (strcat (substr (strcat pfad A) 1 (vl-string-search "." (strcat pfad A))) ".exe")) ) (progn (startapp (strcat (substr (strcat pfad A) 1 (vl-string-search "." (strcat pfad A))) ".exe" ...
|
| In das Form Lisp wechseln |
|
AutoLisp : ATTSYNC: als command in Lisp, (acet-attsync) usw.
Peter2 am 16.11.2005 um 17:31 Uhr (0)
Hoi Marcin der Zwischenzeit bin ich wieder etwas schlauer:a) der schwierige Aufruf und die Abstürze:Das ist anscheinend bekannt. Gefunden bei http://ww3.cad.de/foren/ubb/Forum54/HTML/008359.shtml#000004 - letzter Beitrag von Mapcar.b) die Schleife:Das habe ich auch hier im Forum gefunden (Link leider vergessen) - sie ist wirklich sinnlos, weil man mit "*" alle Blöcke updaten kann. Das ist blöderweise in der Hilfe nicht dokumentiert, sondern es wird extra von Instanzen eines bestimmten Blocks gesprochen - ...
|
| In das Form AutoLisp wechseln |
|
Lisp : prüfen, ob Funktion vorhanden - ansonsten Meldung
tappenbeck am 13.01.2016 um 08:05 Uhr (1)
Moin !wer kenn sie nicht, die Anweisung eine bestimmte Datei zu laden, wenn eine Funktion nicht verfügbar ist um diese dann zu starten:Code:^C^C^P(if(not c:3dstiftschrauben)(load"tools")(princ));3dstiftschraubenMeine Aufgabe geht nun in eine etwas andere Richtung. Gebe eine Meldung aus, wenn eine Funktion nicht verfügbar. Wenn vorhanden, dann selbstverständlich ausführen. Im Grund wäre das dann Code:^C^C^P(if(not c:3dstiftschrauben)(alert "Funktion steht nicht zur Verfügung")(c:3dstiftschrauben))Nun möchte ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Layereinstellung funktioniert nicht sauber
marc.scherer am 10.05.2004 um 18:11 Uhr (0)
Hi ABDN, das Acad unter irgendwelchen Umständen ab so ca. 2002 Probleme mit dem setzen der Sysvar CLAYER aus AutoLisp heraus hat, kenne ich schon. Habe schon seit Jahren ein Lisp im Einsatz, welches mir Layer so setzt, wie sie aus ner externen Parameter-Datei kommen. Lief immer bestens mit setvar clayer am Ende bis irgenwann (R2002??) sporadisch die Fehlermeldung: Fehler: Einstellung für AutoCAD-Variable zurückgewiesen: CLAYER kam. Daraufhin habe ich mein Tool abgeändert. Den aktuellen Layer stell ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Verschachteln von Dialogfenstern
Brischke am 06.10.2004 um 12:23 Uhr (0)
Hallo snafu, sorry für meinen Ausdruck, aber was fummelst du denn am (start_dialog) rum? Das hat damit überhaupt nichts zu tun. Wenn der erste Dialog direkt zugehen soll, wenn du etwas gewählt hast, dann ist die Herangehensweise ganz anders. folgendes schreibe ich hier aus dem Hut, ist also ungetestet und somit auch nicht 1:1 zu übernehmen. Code: (action_tile KEY_1 (done_dialog 2) ) (action_tile KEY_2 (done_dialog 3) ) (action_tile KEY_3 (done_dialog 4) ) ... (setq ns (start_dialog)) (unload_di ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Polylinien abhängig vom Startpunkt versetzen
m.hacker am 28.08.2015 um 13:52 Uhr (1)
Hallo,wo ich stehe?Natürlich ganz am Anfang!Polylinien sind nicht immer geschlossen, kann aber vorkommen.Die Linien müssen immer 1.00m versetzt werdenMir schwebt folgende Lösung vor.Alle Polylinien wählen die versetzt werden sollen. Dann müsste für jede Polyline dieser Ablauf passieren. 1. Startkoordinaten (A) der Polylinie auslesen 2. Erste Segmentkoordinate(E) der Polyline auslesen 3.Linie zeichnen auf neuem Layer "temp" von A zu E mit einer Länge 1/2 AE 4.Linie drehen mit Basis A und Winkel 1 G ...
|
| In das Form Lisp wechseln |
|
Lisp : Punktkoordinaten aus Datei auslesen
alfred neswadba am 25.11.2008 um 11:18 Uhr (0)
Hi,Willkommen in CAD-de!Deine Aufgabe erinnert mich an einen vor kurzem eingestellten Thread mit einem Titel ähnlich Sichtweiten == kann es sein, dass Du an gleichem/aehnlichem arbeitest?Zusammenfassend zur Verwendung des Forums, punktuelle Hilfe ist hier jederzeit möglich, also wenn Du beim Zeichnen, oder in Deinem Lisp irgendwo hängst und dann für diese Situation Hilfe brauchst == GERNE!Bitte aber ein Forum, in dem viele Ihre Zeit (kostenlos) zur Verfügung stellen, um Hilfestellung zu geben nicht mit kos ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Konstruktionslinien versetzen von einer Linie in einem Block
Brischke am 20.10.2003 um 20:47 Uhr (0)
Hallo CAD-Tötti, ob ein Layer vorhanden ist kannst du mit (tblobjname..) prüfen. Siehe dazu dort: http://ww3.cad.de/foren/ubb/Forum145/HTML/000261.shtml Einen Layer erzeugen solltest du innerhalb eines Reactors mit (entmake ..) Das könnte dann so aussehen: Code: (entmake (if ( 14 (atoi(substr (getvar acadver ) 1 2)));AutoCAD-Version abfragen (list (0 . LAYER ) (100 . AcDbSymbolTableRecord ) (100 . AcDbLayerTableRecord ) (cons 2 ltbs_name);Name als String (70 . 0) (cons 62 ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Pfad der Plotstiltabelle via Lisp ändern!?
Erwin Fortelny am 18.11.2003 um 08:04 Uhr (0)
Hallo! Zitat: Original erstellt von CAD-Tötti: sei mir nicht böse, ... Brauchst keine Angst haben ... Zitat: Original erstellt von CAD-Tötti: ... aber bei 186 PC?-Dateien würde ich den Hebel ganz woanders ansetzen: [...] Tja, ich sage nur : der Kunde ist König! Und da wir sehr oft von Kunden die Grundriß-CAD-Pläne bekommen und auch oft dort hinein zeichnen müssen, müssen wir auch mit Deren Stiftzuordnung leben, dass bedingt schon mal pro Projekt mind. Eine, dann hat man ja auch noch of ...
|
| In das Form AutoLisp wechseln |
|
Lisp : sssetfirst und Attribute
cadffm am 20.10.2011 um 11:50 Uhr (0)
Also OK, dann wollen wir mal sagen das es sich in Lisp 100% genau so verhalt wie auf ganz normalerAnwenderebene.Hat man die Attribute gewählt und gibt sie zB. der _Copy-Funktion zum Fraß, so wird Acad einemauc hdie Inserts kopieren und nicht die Attribute.. Und genau so verhalt sich der Auswahlsatz auch -im Auswahlsatz sind ebenfalls die übergeordneten Objekte (die Insert) enthalten !Das Besondere ist eben das sich AutoCADbei jedem Auswahlsatz auch genau merkt wie dieser erstellt wurde,Und in deinem Fall h ...
|
| In das Form Lisp wechseln |
|
Lisp : Punkte mit Linien verbinden
Dorfy am 13.02.2012 um 21:16 Uhr (0)
in deiner repeat schleife gehst du die Punkte durch und suchst dir den Text im näheren Umfeld(Fehlerbetrachtung iwan noch bedenken -- kein Text, mehr als ein Text...)somit hast du Punktnummer und Koordinaten -- die "kleine Liste" (punktnummer . (koordlist))(ich würde ihmo auf cons zurückgreifen... für die kl. Liste) diese kleinen Listen hängst du dann munter aneinander mittels cons oder append((punktnummer1 . (koordlist1))(punktnummer2 . (koordlist2))(punktnummer3 . (koordlist3))...(punktnummern . (koordli ...
|
| In das Form Lisp wechseln |