|
AutoLisp : Einfügen eines Blockes Draller
Brischke am 15.01.2005 um 18:37 Uhr (0)
AD Zitat: Original erstellt von distance: Nochmals vielen Dank für die schnallen Postings!!! Ich habe da nochmal eine "dumme" Frage: Wie kann ich mit einer Lisp Datei eine Farbnummer eines Elements einlesen und diese dann dannach einem anderen Element zuordnen? Es tut mir wirklich leid, aber ich stehe am Anfang!! Nur mal ein Hinweis: Eh hier der Eindruck entsteht, dass du dir hier nur fertige Lösungen machen lässt, solltest du deinen Code hier mit einstellen, und konkret beschreiben, an welcher Ste ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Ursprung für alle Layouts
Brischke am 16.08.2004 um 11:14 Uhr (0)
Hallo CeZet, mal eine andere Variant, welche auf das Durchlaufen der Zeichnungsdatenbank verzichtet. Code: (defun c:ExAll (/ as ssla sslao cmdold) (setq cmdold (getvar CMDECHO )) (setvar cmdecho 0) (foreach LAYOUT (mapcar cdr (vl-remove-if-not (lambda (E) (= (car E) 3) ) (entget (cdr (assoc 350 (member (3 . ACAD_LAYOUT ) (entget (namedobjdict)) ) ) ) ) ) ) (command _Layout _se LAYOUT) (setq as (ssget _X ...
|
| In das Form AutoLisp wechseln |
|
ADT Architectural Desktop : Wandzuordnung
Brischke am 31.08.2004 um 11:19 Uhr (0)
Zitat: Original erstellt von Beyss Architekten: ...Ich hätte lieber jemanden, der mal einen Tag ins Büro kommt. Wir sagen wie wir uns die Projektarbeit vorstellen und haben konkrete Fragen und derjenige setzt die Vorgabe um. ... Hallo Maike, diese Verfahrensweise kann ich nur unterstützen. Mit dr-nikolai (Mario Billep) hast du hier auch schon den richtigen Mann an der Hand. Er war bereits mehrfach in unserem Haus. Das dann nicht nur zur Schulung, sondern auch immer mal einen Tag zur Unterstützung/B ...
|
| In das Form ADT Architectural Desktop wechseln |
|
Rund um Autocad : Ellipse -> Kreis
Brischke am 21.08.2002 um 08:49 Uhr (0)
Hallo Gunnar, anbei die Lösung in Lisp (defun c:el- k (/ ALISTE) (setq ALISTE (ssget "X" ((-4 . " and") (0 . "ELLIPSE") (-4 . "and ") ) ) ) (if ALISTE (mapcar (lambda (el) (aust_el_k(apply append(mapcar (lambda (liel) (if (member(car liel) (-1 8 10 11)) (list liel) ) ) (entget el) ) )) ) (bau_elemli ALISTE) ) ) (princ) );defun (defun bau_elemli (asatz / n elemli) (setq n 0) (repeat ( ...
|
| In das Form Rund um Autocad wechseln |
|
Lisp : Doppelte Elemente einer Liste finden...
Brischke am 10.05.2004 um 12:45 Uhr (0)
Hallo Marc,Ok, habe es nicht getestet, nur überflogen und dann geschrieben.Hier deshalb das ganze ohne (vl-..) und so wie du es benötigst. Ich habe das ganze dann auch so gemacht, dass du mal dies und mal jenes als Ergebnis erhältst.Code:(defun DOUBLES? (LST WIE / RETVAL CHECK);|WIE - T = Liefert die doppelten Einträge der Liste LSTWIE - nil = Liefert die nicht doppelt vorhandenen Einträge der Liste LSTBSP:(DOUBLES? (0 1 2 3 4 5 6 6 7 8 9 6 11) T); - (6)(DOUBLES? (0 1 2 3 4 5 6 6 7 8 9 6 11) nil); - (0 1 ...
|
| In das Form Lisp wechseln |
|
Rund um Autocad : Bauteile erstellen
Brischke am 28.03.2004 um 10:00 Uhr (0)
Hallo Simson02, Es gibt verschiedene Möglichkeiten .. von Hause aus kann das AutoCAD jedoch nicht, wenn nicht bestimmte Bedingungen erfüllt sind. Entweder du machst dir die Arbeit und legst für jedes Bauteil einen Block an, der alle Informationen als Attribut enthält. Diese kannst du dann mit Attributsextraktion auswerten. oder schreibst dir ein Programm, was das Ganze ohne diese Vorleistungen macht. oder lässt dir ein entsprechendes Programm schreiben. EDIT: Ich sehe gerade, dass du Mechanical hast. ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : substring
Brischke am 03.11.2004 um 15:32 Uhr (0)
Hallo, Ich würde das mit einer INI-Datei machen. In etwa so: [CURRENT] SPRACHE=D [SPRACHEN] DEUTSCH=D ENGLISCH=E SPANISCH=S [PUNKT] D=Punkt wählen E=Select Point S=KEINE Ahnung wie die Spanier sagen [OBJECT] D=Objekt wählen E=Select Object S=KEINE Ahnung wie die Spanier sagen ... Diese Datei kann man ohne große Probleme um viele Sprachen erweitern, ohne, dass am Programmcode auch nur eine Zeile geändert werden müsste. Durch [CURRENT]SPRACHE=D wird festgelegt in welchem Modus die Programme laufen, weshalb d ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : block tauschen gc2
Brischke am 14.10.2003 um 15:13 Uhr (0)
Hallo Georg, Ein INSERT ist ein Verweis auf einen BLOCK, die Darin enthaltenen ATTDEF s werden beim Einfügen kopiert und sind dann ATTRIB s. Im BLOCK sind die Geometrieelemente und auch als Besonderheit die variablen Elemente, die ATTDEF s, gespeichert. Mit Deiner Vorgehensweise schaffst du da Unterschiede, die Acad manchmal eben nicht so sehr mag. Egal was du machs, achte immer darauf, dass die Blockdefinition die gleichen Daten beinhaltet wie die Insert s, ansonsten fällst du damit auf die Nase. Um das s ...
|
| In das Form AutoLisp wechseln |
|
Autocad VBA : Auslesen von Blockeigenschaften mittels VBA möglich?
Brischke am 05.11.2004 um 14:20 Uhr (0)
Hallo, ja, so ist es. Was sollte denn sonst der Unterschied zum manuellen Arbeiten sein? Dem Anwender sollte es doch so ziemlich egal sein, wie die Datei heißt, vermutlich kann sich das (bei mehr als 20 verschiedenen Bauteilen) sowieso kein Mensch merken. Das was du dir vorstellst scheint für mich nur das Nachprogrammieren des Explorers zu werden, der die dateien nicht öffnet, sondern gezielt einfügt. Dieser Vorgang ist allerdings das allerkleinste Problem bei dieser Aufgabenstellung. Deshalb noch einmal d ...
|
| In das Form Autocad VBA wechseln |
|
Rund um Autocad : Wie benennt Ihr Plandateien systematisch?
Brischke am 09.06.2004 um 10:06 Uhr (0)
Zitat: Original erstellt von CB_: wenn ich diese Dateiname sehe dann LOL. ich auch .. Ich habe das Ding nicht verbrochen, ein Externer hat das vorgeschlagen und unser QM, die damit keinesfalls arbeiten werden, hat das ohne Rücksprache mit denen, die damit arbeiten werden, verabschiedet. Meiner Meinung nach reicht eine vernünftige Ordnerstruktur in Kombination mit einem Kürzel für den Planinhalt und den Indexstand. Damit keine Dopplung der Dateinamen in den unterschiedlichen Projekten passiert, sol ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : punkt -> linie
Brischke am 16.09.2003 um 10:00 Uhr (0)
Hallo, der Geometrierechner, stellt ja schon eine Funktion zur Verfügung, die genau diese Aufgabenstellung erfüllt. Anbei ein paar Code-Zeilen, die dir die Anwendung zeigen. In der Hilfe gibts zu dem Gemetriezeugs, was in meinem Beitrag zuvor steht, sogar ein Bild. Da kannst du dir das Prinzip einmal anschauen, Ob allerdings der Geometrierchner in LT+Extender funzt - keine Ahnung?? Das kannst du ja mal posten, denn ich denke daraus resultiert die Anforderung auf (vl-irgendwas zu verzichten) Code: ;Nächs ...
|
| In das Form AutoLisp wechseln |
|
Autocad VBA : Mittelpunkt suchen?
Brischke am 05.11.2004 um 14:27 Uhr (0)
Hallo Moony, wozu soll der Layer aktiviert werden? Moony, zuerst musst du dir erstmal die Struktur einer AutoCAD-Zeichnung ansehen. Ein Layer ist ein nicht grafisches Element. Das kann man nicht auswählen. Es ist einfach nur ein Container bestimmter Eigenschaften, der von grafischen Elementen referenziert wird. Du musst einen Auswahlsatz bilden, der nur Elemente enthält, denen bestimmte Eigenschaften zugewiesen wurden . Dann erst kannst du beginnen diese Elemente zu analysieren. Soll heißen, aus den P ...
|
| In das Form Autocad VBA wechseln |
|
AutoLisp : INITDIA / ATTDIA
Brischke am 17.02.2003 um 13:36 Uhr (0)
Hallo Marvin, schau dir mal die Systemvariablen ATTREQ und ATTDIA an. Zitat: ATTREQ Typ: Ganzzahl Gespeichert in: Registrierdatenbank des Systems Ausgangswert: 1 Legt fest, ob der Befehl EINFÜGE während des Einfügens von Blöcken vorgegebene Attributeinstellungen verwendet. 0 Übernimmt die Vorgaben für die Werte aller Attribute 1 Aktiviert Eingabeaufforderungen oder ein Dialogfeld für Attributwerte entsprechend der Einstellung von ATTDIA Zitat: ATTDIA Typ: Ganzzahl Gespeichert in: Registrierdat ...
|
| In das Form AutoLisp wechseln |