|
Lisp : (command _rotate)
Dorfy am 13.10.2009 um 08:11 Uhr (0)
Zitat:Original erstellt von cadplayer:was mich allerdings hieran stört:-man muss vorher Winkeldrehung im Uhrzeigersinn ausstellen (gibt es da eine Systemvariable ?)-man kann mit entget immer nur ein aws erhalten, wie lässt sich da ssget implementieren ?Hallozum ersten Punkt probier mal angdir 1 (ungetestet)zum zweiten Punkt schau dir mal die Sub bau_elemlian, als Rückgabe erhälst du eine List, welche du über ein Schleife auswerten kannst. ------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Progra ...
|
| In das Form Lisp wechseln |
|
Lisp : Texte einfügen
Dorfy am 19.05.2011 um 10:52 Uhr (0)
@cadplay bis zum mittag?! na so kompliziert ist es doch nicht?! quick and dirtyCode: (vlax-for x (setq #SS (vla-get-activeselectionset *AcadDoc*)) (cond ((eq (vla-get-objectname x) "AcDbArc") (setq #Len (+ #Len (vla-get-ArcLength x))) (setq PKT (cdr(assoc 10 (entget(vlax-vla-object-ename x))))) (command "text" PKT "0.375" "" #Len ) ) ((vl-position (vla-get-objectname x) ("AcDbLine" "AcDbPolyline")) (setq #Len (+ #Len (vla-get-Length x))) (setq PKT (cdr(assoc 10 (ent ...
|
| In das Form Lisp wechseln |
|
Lisp : Tabelle RowType ändern
Dorfy am 01.07.2010 um 14:41 Uhr (0)
Zitat:Original erstellt von CADlsp:Jetzt habe ich eine Tabelle mit dem ganzen Excel Inhalt aber alle Reihensind vom Typ Daten, obwohl der "Standard" Tabellenstil dies anders vorsieht.GC280 und gc281 sind gesetzt?nimm die mal raus... dann sollte Zeile 1+2 (bzw 0 und 1) Titel und Kopf acTitleRow and acHeaderRow) enthaltenAber so richtig verstanden hab ich dein Anliegen noch nicht...Ne Beispielzeichnung und deine Systeminfo wäre ggf auch hilfreich------------------Mfg Heiko Elefantenjagd in Afrika "... LISP ...
|
| In das Form Lisp wechseln |
|
Lisp : Verzeichnis erstellen ergibt immer NIL
Dorfy am 02.04.2010 um 10:50 Uhr (0)
Morgen,Code:(defun mkdir (dirname / pos mddir) (if (and (setq pos (vl-string-position 92 dirname)) (setq mddir (substr dirname 1 pos)) ) (while pos (setq pos (vl-string-position 92 dirname (+ pos 1)) mddir (substr dirname 1 pos) ) (if (not (vl-directory-files mddir)) (vl-mkdir mddir) ) ) ))(mkdir "C: est est1 est2")(mkdir deinstring )ein paar Abfragen und Rückmeldungen fehlen noch...------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern ...
|
| In das Form Lisp wechseln |
|
Lisp : Blockattribute bearbeiten
Dorfy am 25.08.2011 um 12:06 Uhr (0)
Zitat:Original erstellt von cadplayer:wie soll ich weiter mit entnext vorgehen, um an die Attribute zu kommenna du erhältst ein entity - was kann man damit machen?löschen, verschieben, kopieren und wieder löschen versuch doch mal die entity liste von dem entnext entity zu erhalten (mit entget)und schau dir diese an...und dann die nächste ... usw ... bis gc 0 seqend kommt...wo ist das attribut und wo ist der wert und ...steht oben alles im code ------------------Mfg Heiko Elefantenjagd in Afrika "... L ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : Attribute verschieben sich doppelt so weit
Dorfy am 27.06.2011 um 16:15 Uhr (0)
@Andreas die Attribute in deinem Block sind doppelt vergeben bei gleichem handle gc5 - siehe auch Meldung beim speichern.meine erste Theorie - persistent reactor mit gelöschten Objekten bei noch existierenden reactor hab ich verworfen, da beim Neueinfügen scheinbar alles ok ist und die Fehlermeldung ihmo beim Öffnen kommt.also hast du dein block "verhunzt" - dran-rum-geproggt ;-)doppelt gc5 - cool ------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klamm ...
|
| In das Form Rund um AutoCAD wechseln |
|
Lisp : Listen vergleichen
Dorfy am 11.03.2010 um 14:52 Uhr (0)
Zitat:Original erstellt von Andreas Kraus:Allerdings ist das schon Fummelei ....Hmmm...so richtig glücklich bin ich damit noch nicht, aber wenns schneller geht ... mal probiern.Ein wenig Bastelarbeit wird es schon werden, so oder so...siehe Beitrag von Tom - mit der Variante Vorher-Nachher-Vergleich, ist der Aufwand enorm.Und so brauchst du nur wenige Listen (drei ggf. vier Gesamtprotokoll)beim neu/ändern/löschen je nach Vorgang prüfen und ändern.------------------Mfg HeikoElefantenjagd in Afrika "... LIS ...
|
| In das Form Lisp wechseln |
|
Lisp : Schnittpunkt ermitteln
Dorfy am 24.01.2012 um 13:22 Uhr (0)
Zitat:Original erstellt von cadplayer:phanominal, das hatte ich auch noch nicht: obwohl die var "erg" nicht klar definiert ist, erfüllt sie den Zweck (bloss ungleich 0 von was) erg = nil wenn nicht deklariert(/= erg 0) -- T somit ist die Bedingung immer erfüllterg deklariert (alles außer 0)(/= erg 0) -- Terg deklariert mit 0(/= erg 0) -- NILund dann schau dir nochmal cond in der Hilfe an!oder teste unter cond mal als erstes auf((/= erg 0)(alert "Lines no parallel")) ... klar?------------------Mfg Heiko El ...
|
| In das Form Lisp wechseln |
|
Lisp : Diplomarbeit
Dorfy am 09.12.2010 um 15:48 Uhr (0)
Zitat:Original erstellt von skyzem:Super, genau solche Sachen wollte ich Lesen.Seht ihr eventuell schon einen groben Stolperstein oder sonstige Übermannungen meinerseits? Zitat:Original erstellt von skyzem:Ps. Von AutoLISP habe ich im Moment noch keine grossen Kentnisse. Darum auch die Bitte um Ansätze und eher weniger Codebeispiele - das soll ja meine Aufgabe bleiben. ... den Stolperstein hast du doch schon allein gefunden ------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer baue ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : Ordinatenbemassung, tausche X-Daten gegen Y-daten
Dorfy am 10.08.2009 um 16:19 Uhr (0)
Hi,mal was auf die Schnelle...(defun c:xy-ord (/ en SelSet) ;; (xy-ord) (princ "
X-Koordinatenbemaßung ") (if (setq SelSet (ssget ( (-4 . "AND") (0 . "DIMENSION") (70 . 102);(-4 . "&" ) (70 . 6 ) (-4 . "AND") ) ) ) (foreach x (mapcar (function cadr) (ssnamex SelSet)) (setq en (entget x)) (entmod (subst (cons 1 (strcat (cdr (assoc 1 en)) "X= " (rtos (car (cdr (assoc 13 en))) 2 2) " " "Y= " (rtos (cadr (cdr (assoc 13 en))) 2 2) ) ) (assoc ...
|
| In das Form Rund um AutoCAD wechseln |
|
Lisp : Diplomarbeit
Dorfy am 09.12.2010 um 14:53 Uhr (0)
hihört sich ja nach viel Arbeit an ;-)du kannst von einer Polylinie Anfangs- und Endpunkt ermitteln,den Endpunkt kannst du als Auswahlpunkt für die nächsten Objekte (Kabel) nutzenAlle Objekte die du findest kannst du natürlich filtern und aussortieren.Je nach arbeitsweise wären Layer oder andere eindeutige Kennzeichnungen (xdata) nicht verkehrt - ein kleines Beispiel zur Veranschaulichung schadet auch nicht.mit Angaben zum ist und zur Länge bzw welche Infos du abgreifen willst...na dann viel Spaß -------- ...
|
| In das Form Lisp wechseln |
|
Lisp : Gruppen auflösen
Dorfy am 21.07.2006 um 17:03 Uhr (0)
Hallo Leute!Erstmal allen DankeRE: Jörn ... werde mich mal versuchen an dem Code ... , bei gelingen poste ich dann auch ... .RE: Caladis ... ja, genau diesen Beitrag bzw. Code meinte ich ... .RE: Frederik ... nicht für LT (LISP einlesen und verwerten geht wohl mit dem Extender oder so ählich) sondern für AutoCad 2007.Ich meinte nicht einen "Gruppen-Auflösen-Code" für LT sondern in Anlehnung an LT. Sorry wenn ich mich oben nicht eindeutig ausgedrückt habe, hoffe mein Anliegen ist jetzt klarer.Tipps und Anre ...
|
| In das Form Lisp wechseln |
|
Lisp : Hilfe bei funktion
Dorfy am 11.05.2011 um 11:13 Uhr (0)
ich glaube sowas....Code:(defun c:mmm (/ dpost dpostold str) (setq dpostold (getvar "dimpost")) (initget "P S") (or (setq dpost (getkword "
[Prä- oder Suffix] P: ") ) (setq dpost "P") ) (if (and (setq str (getstring T "
Bitte String für Prä- oder Suffix eingeben: ") ) (= dpost "P") ) (setvar "dimpost" (strcat str "")) (setvar "dimpost" (strcat "" str)) ) (command "_dimlinear" ) (while (/= (getvar "CMDACTIVE") 0) (command pause)) (setvar "dimpost" dpostold) (princ))------------------Mfg H ...
|
| In das Form Lisp wechseln |