|
AutoLisp : Lisp Kontextmenü
CADmium am 02.05.2005 um 14:54 Uhr (0)
(defun c:Mybreak (/ osmode_save t_2 vla-t_2 abst schn) (vl-load-com) (setq osmode_save(getvar OSMODE )) (setvar OSMODE 15743) (setq Voreinstellung 100) (if(and (setq t_2 (car(entsel
Linie wählen : ))) (setq vla-t_2(vlax-ename- vla-object t_2)) (or(setq abst(getdist (strcat
Abstand wählen (rtos Voreinstellung 2 2) : ))) (setq abst Voreinstellung) ) (setq schn (getpoint
Punkt wählen )) ) (progn (setvar OSMODE 0) (command _brea ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Lisp in PowerCad Ver 7 Pro
CADmium am 02.09.2009 um 16:42 Uhr (0)
Zitat:Original erstellt von Fey:Weiss einer vielleicht Wie der Menüaufbau bei PowerCad Ver 7 Pro ist.Ist der Aufbau so wie In AutoCad ???M.F.G. J.FeyDas fragst du nun schon in allen irgendwie in Frage kommenden Foren ... wenn du selbst beide Programm hast, kannst du dir selbst die Antwort geben , ansonsten mußt du schon etwas spezeiller werden : Auf wleche ACAD-Version bezieht sich die Frage? CUI oder MNU als Menüdefinitionsdatei? ..Sollen die Menu-Definitionsdateien direkt austauschbar sein? Oder gleich ...
|
| In das Form Lisp wechseln |
|
Lisp : eattext und -eattext unterschiedlich im Ergebnis
CADmium am 03.07.2006 um 11:04 Uhr (0)
zu Sebastians Ausführung mal ein (ausbaufähiges) Beispiel in Normalo-Lisp(defun Getattribs (INSERT / OBJEKTDATEN LISTE ATTNAME ATTVALUE) (if(and(=(type INSERT)ENAME) (=(cdr(assoc 0 (setq OBJEKTDATEN(entget INSERT)))) "INSERT") (assoc 66 OBJEKTDATEN) ) (progn (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN))))) (if(and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB") (setq ATTNAME(cdr (assoc 2 OBJEKTDATEN))) (setq ...
|
| In das Form Lisp wechseln |
|
Lisp : Civil3d API progn mit Vlisp C#
CADmium am 09.11.2012 um 09:41 Uhr (0)
Jedes Programm hat Funktionen und Proceduren .... einige werden nut intern genutzt, sind also privat, andere erlauben auch die Nutzung / Steuerung von "außen" werden als public bezeichnet = die API , Com und die c#/.Net-Klassen gehen in der Bekanntmachung der funktionen halt nur einen etwas anderen Weg. Und was dem internen Lispinterpreter "bekannt" gemacht wird liegt an Adesk...Du kannst dir auch in Lisp eine API= Funktionsbibliothek schreiben, ist halt bloß nicht mitgeliefert und .. ok .. an einige Sach ...
|
| In das Form Lisp wechseln |
|
Rund um Autocad : Auswahl mittels Lisp-Ausdruck
CADmium am 04.07.2005 um 14:10 Uhr (0)
(sssetfirst (setq A(ssget _X (list(cons 8 (cdr(assoc 8 (entget (car (entsel)))))))))A) (entsel) wählt das Element und gibt Klickkoordinate und Element zurück (car(entsel)) filtert das Element aus (entget (car(entsel))) liefert die Gruppencodliste des Elements (cdr(assoc 8(entget (car(entsel))))) liefert den LAYERNAMEN (ssget _X (list(cons 8 LAYERNAMEN))) liefert einen Auswahlsatz aller Elemente im aktuellen Layout auf dem entsprechenden Layer (sssetfirst AUSWAHL AUSWAHL) setz den auswahlsatz aktiv auf ...
|
| In das Form Rund um Autocad wechseln |
|
Lisp : Text Ändern in Block (Attribut) per Lisp
CADmium am 06.02.2018 um 07:15 Uhr (1)
Für Datum und Zeitstrings würde ich sowas nehmen :(menucmd "M=$(edtime,$(getvar,date),DD.MO.YYYY)")mit dem Formatstring DD.MO.YYYY kann man dann auch das Ausgabeformat beeinflussen wie man will(menucmd "M=$(edtime,$(getvar,date),DD.MO.YYYY - HH:MM:SS)") liefert z.B auch gleich die Zeit mit .. andere Möglichkeiten bitte ausprobieren oder googelnEdit ... der Vollständigkeit halber :(setq JAHR (menucmd "M=$(edtime, $(getvar, date),YYYY)") MONAT (menucmd "M=$(edtime, $(getvar, date),MO)") MONATNAME ( ...
|
| In das Form Lisp wechseln |
|
AutoLisp : rueckgabewert von acad befehl in variable
CADmium am 21.03.2005 um 13:29 Uhr (0)
@SEBZ: mal aus der Lisp-Hilfe zitiert : (command [arguments] ...) Arguments: AutoCAD commands and their options. The arguments to the command function can be strings, reals, integers, or points, as expected by the prompt sequence of the executed command. A null string ( ) is equivalent to pressing ENTER on the keyboard. Invoking command with no argument is equivalent to pressing ESC and cancels most AutoCAD commands. The command function evaluates each argument and sends it to AutoCAD in response to su ...
|
| In das Form AutoLisp wechseln |
|
Rund um Autocad : Umlaute mal wieder...
CADmium am 20.10.2004 um 15:16 Uhr (0)
.. keine Erklärung, aber vielleicht ne Lösung: (defun LAYER-RENAME (/ DOCUMENT LAYER FOUND) (defun ersetze ( STR ORG NEW / Dummy i) (setq i 1) (setq DUMMY ) (while ( = i(strlen STR)) (if(=(substr STR i (strlen ORG)) ORG) (progn (setq DUMMY(strcat DUMMY NEW)) (setq i(+ i (strlen ORG))) ) (progn (setq DUMMY(strcat DUMMY(substr STR i 1))) (setq i(1+ i)) ) ) ) DUMMY ) (vl-load-com) (vlax-for ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um Autocad : Layer
CADmium am 27.10.2005 um 08:43 Uhr (0)
Zitat:Original erstellt von Yvonne88:@ CADmiumja. Ich habe das mit "DRAWORDER" schon probiert aber das geht ja nur mit Objekten!!!Außerdem habe ich ACAD 2006!!!Mennö, bist du blond? ... einen Layer kannst du nicht sehen,anklicken oder weiß ich was.. nur die Objekte, die den Layer als Eigenschaft haben.. zu deutsch : Die Objekte, die auf dem Layer ,liegen kannst du sehen , anklicken , verschieben!!!Ein Layer ist einfach eine "Eigenschaftsgruppe", die Farbe, Linientyp usw.. enthält und die jedem Zeichnungse ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um AutoCAD : Farbe von Attributen im Block ändern
CADmium am 24.11.2009 um 14:08 Uhr (0)
Zitat:Original erstellt von xem:Hallo,ich habe hier einen Block der mich schon einige Zeit ärgert.Ich möchte gern die Attribute auf Farbe 7 und dazu nicht alles einzeln bearbeiten.Weiß zufällig jemand wie ich die Farbe schnell und einfach ändern kann?bei Einfach und schnell fällt mir immer-- TOOL ein .... wie man an die Atts einer Referenz rankommt , und wie man die Farbe von Objekten ändert ist hier im Forum aber nun schon öfter diskutiert und dokumentiert worden .. wie weit bist du denn inzwischen mit d ...
|
| In das Form Rund um AutoCAD wechseln |
|
Rund um AutoCAD : Ausgabe Koordinaten
CADmium am 19.07.2008 um 16:46 Uhr (0)
die weißen Punkte sind im ACAD auch Proxy-Objekte .. d.h. es handelt sich um Objekte, die mit einer Applikation erstellt wurden.Wenn du diese Proxies mit _explode auflöst, erhälst du einen Kreis, einen Text und eine Polylinie mit Länge 0.Für diese Proxies und auch Null-Längen-Polylinien sind die von dir verwendeten Lisp nicht geeignet.Wenn du nicht im Besitz der die "Punkte" erzeugenden Applikation bist , du trotzdem die Koordianten automatisch auslesen willst, brauchst du was spezielleres, das die Proxies ...
|
| In das Form Rund um AutoCAD wechseln |
|
Rund um Autocad : Schnittpunkt
CADmium am 07.09.2005 um 16:23 Uhr (0)
ein kleines Lisp zum Thema:(defun c:Testus(/ OBJ1 OBJ2 VOBJ1 VOBJ2 PKTS POINTS PKT) (if(and(setq OBJ1(car(entsel "
Objekt1 : "))) (setq OBJ2(car(entsel "
Objekt2 : "))) (setq VOBJ1(vlax-ename-vla-object OBJ1)) (setq VOBJ2(vlax-ename-vla-object OBJ2)) (setq PKTS(vla-intersectwith VOBJ1 VOBJ2 acExtendNone)) (setq PKTS(vlax-safearray-list(vlax-variant-value PKTS))) ) (progn (repeat (/(length PKTS)3) (setq POINTS(cons(list(car PKTS)(cadr PKTS)(caddr PKTS))POINTS)) (setq PK ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um AutoCAD : Attributtext ändern bei Skript-Programmierung
CADmium am 13.02.2011 um 13:54 Uhr (0)
Du hast eine Blockdefinition mit einer Attributsdefinition ... Davon kannst du mehrere BlockReferenzen mit den entsprechenden Attributen haben. Mit Lisp würde ich ne Möglichkeit sehen :(defun ATTUPDATE ( BLOCKNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN) (setq AUSWAHL (ssget "_x" (list (0 . "INSERT")(66 . 1)(cons 2 BLOCKNAME)))) (setq INDEX -1) (repeat (sslength AUSWAHL) (setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX))))) (if (assoc 66 OBJEKTDATEN) (while (/ ...
|
| In das Form Rund um AutoCAD wechseln |