|
Lisp : backslash in Zeichenkette
cadffm am 01.09.2016 um 16:25 Uhr (1)
Alleine durch das lesen im Forum verstehe ich zwar nicht wiso das nötig ist,aber ich antworte halt einfach mla nur auf dein Problem:Auf der verlinkten Seite gibt es doch bereits eine fertige Funktion, warum nutzt du diese denn nicht?Wenn die Funktion STR-SUBST geladen ist, dann:(setq str (str-subst str "" "/"))oder(setq str (str-subst str "/" ""))Was auch immer du haben möchtest.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : backslash in Zeichenkette
cadffm am 01.09.2016 um 16:37 Uhr (1)
Jetzt habe ich gesehen was du gemacht hast.. du hast den Inhalt der Funktion kopiert,ohne recht zu wissen wofür das letzte "str2" gut ist.Auch wenn es schrecklich ist, dein Code leicht geändert:(defun c:Test( / Hyper Str i la str2 ) ;Hyperlink auslesen(setq Hyper (cdr(assoc "PE_URL"(cdr(assoc -3(entget (car(entsel "
Objekt picken:")) (list "PE_URL")))))) Hyper (car Hyper) ;auf ersten Eintrag reduzieren Hyper (cdr Hyper) ;auf rechten Teil des ersten Eintrags reduzieren Str (strcat "copy " Hyper " z:/l ...
|
| In das Form Lisp wechseln |
|
Lisp : Variable von .Net nach Lisp übergeben
cadffm am 02.09.2016 um 08:44 Uhr (1)
Wenn du eh schon Sendcommand nutzt, dann kannst du auch die Variablen darüber setzen,Lisp-Ausdrücke versteht die Befehlszeile direkt.(oder wird das häufig gestartet/Performace?)Ansonsten: Hast du den Quellcode? Dann ändere doch das Programm und verwende Users1&Users2 Variable,oder eine Umgebungsvariablen, die kannst du mit.Net sicher lesen und schreiben?Oder schreibe doch gleich einen Funktionsaufruf dem man beides Angaben direkt übergeben kann:(defun TESTLISP (BlockPfad BlockName) (alert (strcat BlockPfa ...
|
| In das Form Lisp wechseln |
|
Lisp : Variable von .Net nach Lisp übergeben
cadffm am 04.09.2016 um 21:39 Uhr (1)
Dirk, wir gingen die ganze Zeit davon aus das du dich etwas mit Lisp auskennst, dem ist wohl nicht so.In meiner Antwort oben ist bereits eine mögliche Lösung.Nun versuchen wir es noch mal (falls ich richtig liegen sollte):Hier die Änderung für den Fall das es auch noch wie bisher laufen soll:Bisher:(defun c:test (/ vieleichtsteht hier was)(setq Blockname ..)(setq Blockpfas ..)Und vieles mehr)nehme die beiden setq-Zeilen raus und die erste Zeile bist du um:(defun test (Blockname Blockpfad / vielleichtstehth ...
|
| In das Form Lisp wechseln |
|
Lisp : Multileader edaten, Position, Value
cadffm am 20.09.2016 um 18:10 Uhr (1)
Zitat:Original erstellt von cadplayer:Richtig alla Werte sind vorhanden !Mir kam es jedoch sehr umständlig vor, die Werte so abzufragen, die Frage daher ob es vielleicht einen einfacheren Weg gibt.Naja, eine andere mögliche Variante hast du ja bekommen ------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Nuke / Xnuke Transparenz auf vonBlock
cadffm am 21.09.2016 um 13:26 Uhr (1)
Welchen Wert hast du denn angegeben? "VonBlock" ist ein String, der gc440 enthält aber einen Integer.(440 . 16777216)Würde VonBlock entsprechen (assoc 440 (entget(car(entsel))))------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Nuke / Xnuke Transparenz auf vonBlock
cadffm am 21.09.2016 um 20:03 Uhr (1)
Nächstes Jahr zu Pfingsten bin ich HH, akzeptiere Astra. Alternativ: CAD.de-Unities ------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Block beschriftung ändern
cadffm am 06.10.2016 um 10:17 Uhr (1)
Du hast doch 2012 oder höher(2015), da kannst du ganz einfach das oben erwähnte setpropertyvalue für die Eigenschaft "annotative" verwenden,natürlich auf den Block und nicht auf die Blockreferenz wie oben gezeigt.Ein Einzeiler im fertigen Code.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : String in Variable umformen
cadffm am 12.10.2016 um 10:16 Uhr (1)
String-Handling Functions Reference (AutoLISP)Entweder die Zeichen ersetzen (nur wenn sichergestellt ist das dies " die einzigen im String sind)oder nur den String ab dem 2.Zeichen bis zum vorletzten(= 2. von hinten) ausgeben lassen.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : String in Variable umformen
cadffm am 12.10.2016 um 11:05 Uhr (1)
Was in deinem Textwert steht hast du alleine in der Hand.Ich erzeuge einen Textstring mit Anführungszeichen am Anfang und Ende:(setq mystr ""Wow"")Das ist also dein IST-Stand ? (alert mystr)(alert (substr mystr 2 (-(strlen mystr)2)))(alert (vl-string-subst "" """ (vl-string-subst "" """ mystr)))(alert (vl-string-left-trim """ (vl-string-right-trim """ mystr)))------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Sichtbar/Unsichtbar feststellen
cadffm am 28.10.2016 um 10:03 Uhr (1)
Na entweder unterstützt das Objekt den aktuellen Maßstab, oder nicht.Also Maßstab des aktuellen Ansichtsfensters vergleichen mit den unterstützten Maßstäben des Objektes.PS: Ich warte schon seit dem 25. Augus, spätestens seit dem 6.Oktober auf diese Fragen ------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Sichtbar/Unsichtbar feststellen
cadffm am 28.10.2016 um 11:13 Uhr (1)
neben gefrorenen Layern und den genannten Punkten gibt es die Beschriftungsfunktionalität.Wenn nicht alle gleichzeitig dargestellt werden (AnnoAll..) kommt es also darauf an ob das Objekt den aktuellen Maßstab unterstützt oder nicht.Hat das Objekt nur den Maßstab 1:1 und es ist 1:50 aktuell, wird es also nicht angezeigt.Die Info hängt aber nicht am Objekt, sondern im genannten Dictionary.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Sichtbar/Unsichtbar feststellen
cadffm am 28.10.2016 um 10:36 Uhr (1)
Es geht um die zugewiesenen Maßstäbe der Referenzen, die haben nichts mit der Blockdef zutun.-Und um herauszufinden welchen Maßstäben das Objekt zugeordnet ist,wird das Dictionary "ACDB_ANNOTATIONSCALES" durchsucht.Heute keine Silbertabletlösungen, die gibt es aber genug im Netz und wären nur Wiederholung,"ACDB_ANNOTATIONSCALES" lautet das Stichwort/Suchbegriff.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |