|
AutoLisp : nur teile eines String
CADmium am 03.06.2004 um 15:13 Uhr (0)
na wenn dann so (der Allgemeingültigkeit wegen ) (defun path- list (path) (while (or(vl-string-search "" path) (vl-string-search "/" path) ) (setq path (vl-string-subst "" "" "" path)) (setq path (vl-string-subst "" "" "/" path)) ) (read (strcat "("" path "")")) ) da Verzeichnisse in Lisp durch "" oder "/" getrennt werden können. Ansonsten muß ich dir rechtgeben. ------------------ - Thomas - [Diese Nachricht wurde von CADmium am 03. Jun. 2004 editiert.]
|
| In das Form AutoLisp wechseln |
|
Rund um Autocad : Texte auf Linienstärke 0 setzten
CADmium am 04.05.2005 um 09:34 Uhr (0)
Schnellauswahl - alle Texte - und dann im eigenschaftsfenster (_ properties )Linienstärke auf 0 oder als Anhänger der LISP-Fraktion: (defun c:TEXTLW- 0 (/ AUSWAHL) (if(or(setq AUSWAHL (ssget "I" ((0 . "*TEXT")))) (setq AUSWAHL (ssget ((0 . "*TEXT")))) ) (command "_change" AUSWAHL "" "_prop" "_lw" 0.0 "") ) ) ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung dessel ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um Autocad : Basispunkt bei Blöcken
CADmium am 09.02.2004 um 11:07 Uhr (0)
Also Ändern des Basispunktes per Refedit - funzt zwar, ist aber für meine Begriffe ganz schön aufwendig. Jedoch werden bei dieser Variante die Blockdefinition und die angewählte Blockreferenz, nicht aber andere evtl. in der Zeichnung vorhandene Referenzen des gleichen Blockes angepaßt!! . Und Referenzen innerhalb anderer Blöcke werden schon gar nicht berücksichtigt! Das kann es also nicht sein! Eine Weiterführung des Lisp s scheint mir da konsequenter! Mal melden, wer Bedarf hat! Gruß Thomas ------------- ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um AutoCAD : Vorherige Farbe wieder herstellen
CADmium am 02.04.2008 um 10:52 Uhr (0)
das mach am besten mit einem commandreaktor, der dir beim Xline-Befehl auf den entsprechenden Layer wechselt uund danach wieder zurück. Ein entsprechender Beispiel(Lisp)code sollte sich hier im Forum finden. alles andere ist Stückwerk, da bei z.B. einer Makrolösung und Befehlsabbruch , der Layer nicht zurückgesetzt wird.So ne Art Layerverwaltung könnte wie im Teil im Anhang implementiert ablaufen..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereit ...
|
| In das Form Rund um AutoCAD wechseln |
|
AutoCAD VBA : Mittelpunkt Bogen
CADmium am 01.03.2011 um 08:07 Uhr (0)
IMHO 0,5 * (ENDPARAM-STARTPARAM) .. aber gibts das Curveobjekt in VBA ?in Lisp wäre das(defun C:BMP(/ OBJ S E) (if(and(setq OBJ(car(entsel "
Bogen Wählen: "))) (setq OBJ(vlax-ename-vla-object OBJ)) (setq S(vlax-curve-getstartparam OBJ)) (setq E(vlax-curve-getendparam OBJ)) ) (vlax-curve-getpointatparam OBJ (*(- E S)0.5)) ))aber aus den anderen Bogeneigenschaften bekommt man das ja mit etwas Mathe auch raus.------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschre ...
|
| In das Form AutoCAD VBA wechseln |
|
Rund um Autocad : linienstärke mit farbe koppeln
CADmium am 30.05.2005 um 08:15 Uhr (0)
Ergänzung: Natürlich ist es aber auch möglich , im Nachhinein mittels eines Progs (Lisp oder so) alle Elemente der Zeichnung zu "scannen" und ihnen entsprechend ihrer Farbe eine Linienstärke zuzuweisen. Bei nichtverschachtelten Elmenten ist vielleicht auch schon die Arbeit mit der Schnellauswahl ( _qselect ) ausreichend. In den meisten Fällen ist aber die von Holger vorgeschlagene Arbeitsweise vorzuziehen ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Prob ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um Autocad : Nur ein bestimmtes Attribut mit attedit bearbeiten
CADmium am 13.10.2006 um 11:46 Uhr (0)
Zitat:Original erstellt von Plotter:geht es denn überhaupt mit Lisp attedit aufzurufen und nur eins von vielen Attributen anzuzeigen und zu bearbeiten?jaein.. mit attedit gehts nicht.aber z.B. mit (cdr(assoc 1(entget(car(nentsel)))))kanst du den Wert auslesen ... mit subst und entmod kannst du ihn verändern und wenn du einen schönen DCL-Dialog rumbastelst hast du dann ein schönes Tool..------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die ...
|
| In das Form Rund um Autocad wechseln |
|
Lisp : Änfängerfrage zu mapcar, lambda
CADmium am 29.10.2008 um 12:59 Uhr (0)
2 Möglichkeiten ..1. Einen Auswahlsatz bilden mit mehreren möglichen Textstrings.. also einfach dein 1. Lisp aufrufen mit (mltest "F90,F80,F70")oder2. oder so (defun mltest (stringliste) (mapcar (lambda(STRING / AS) (if(setq as (ssget "x" (list (cons 0 "TEXT") (cons 1 string)))) (command "._change" as "" "Eigenschaften" "_color" "2" "") ) ) STRINGLISTE ) (princ))-- aufruf mit (mltest ("F90" "F80" "F70"))------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende ...
|
| In das Form Lisp wechseln |
|
Rund um Autocad : Layerstruktur
CADmium am 07.03.2005 um 10:20 Uhr (0)
Mach dir am Besten ein Lisp, was dann u.a. diese Zeilen enthalten könnte: (command _layer m meinlayer fa 4 ltyp verdeckt2 ) lad ist mit der acaddoc.lsp oder deiner *.mnl und pack s dir auf n Button, bzw. lass es auch in der acaddoc.lsp ausführen. gibt auch die Variante mit entmake oder ActivX, aber versuch dich mal erstmal daran. Evtl. auch vorher die entsprechenden Linientypen erzeugen, - Siehe hier ------------------ - Thomas - Bei 99% aller Probleme ist die umfassende Besc ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um Autocad : öffnen/speichern nur noch in Befehlszeile
CADmium am 03.04.2007 um 09:53 Uhr (0)
Zitat:Original erstellt von CADdog: http://ww3.cad.de/cgi-bin/ubb/search.cgi?action=intro .wollt ich auch gerade drauf hinweisen ... aber noch ne Frage? Was ist das denn für eine Lisproutine? Du willst ja schließlich die Ursache für das Verstellen von Filedia beseitigen.Und noch was: Ihr habt sicher Virenscanner, Firewall ect. und dann wird sich ohne Kenntnis der Interna jedes Lisp gedownloadet und gestartet?------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Proble ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : Additions-LISP erweitern
CADmium am 19.07.2004 um 12:21 Uhr (0)
Ok! Ersetze (setq OBJEKTDATEN (subst(cons 1 (if (= OP + )(rtos (+ Z2 Z1) 2 2)(rtos (- Z2 Z1) 2 2))) (assoc 1 OBJEKTDATEN) OBJEKTDATEN ) ) durch (setq OBJEKTDATEN (subst(cons 1 (strcat = (if (= OP + )(rtos (+ Z2 Z1) 2 2)(rtos (- Z2 Z1) 2 2)) ü.A. ...
|
| In das Form AutoLisp wechseln |
|
Rund um Autocad : hilfe bei einem lisp-programm
CADmium am 29.06.2006 um 22:15 Uhr (0)
Zitat:Original erstellt von workman:Fällt dir dazu was ein?.. mir sicher .. aber eigentlich soll dír ja was einfallen, oder?aber mal ein paar Anstöße(acad_colordlg 1) liefert dir die Farbnummer(setq OBJEKT (ssget "_:s")) liefert dir ein Objekt(command "_chprop" OBJEKT "" "_c" FARBNUMMER "") ändert die Farbe ..alles andere findest du unter F1 (die Stichworte haste ja ) bzw. auf Mapcars Seiten------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr al ...
|
| In das Form Rund um Autocad wechseln |
|
Lisp : Layer löschen
CADmium am 08.05.2014 um 12:28 Uhr (1)
ja .. das geht bei 2d-Polylinien .... umwandeln in LW-Polys sollte das Problem beheben,ansonsten Tool .. vielleicht reicht ja auch via vla-put-layer die 2D-PL einmal auf Layer "0" und wieder zurückzuschalten, kann sein, das ACAD dabei die VertexLayer anpasst ... (ungestestet)bloß wenn der Layer ein einem endblk Objekt hängt kommt man (via Lisp) nicht um eine Blockneudefinition herum------------------Also ich finde Unities gut ... und andere sicher auch--------------------------------------- - Thomas - ...
|
| In das Form Lisp wechseln |