|
Lisp : Lisp Befehl - _aiselall funktioniert nicht
cadffm am 24.03.2017 um 10:39 Uhr (1)
Die Funktion könntest du ja selbst schreiben Dann bist du auch nicht abhängig von anderen Dateien.Im Original ist der befehl WAHL verwendet, in Lisp würde man es mit SSGET umsetzen.Aber dennoch: ai_selall ist eine Lispfunktion, welche in der originalen acadnnnndoc.lsp definiert ist.Offensichtlich wird diese in deiner aktuellen Situation/Einrichtung nicht geladen (darüber könnte man mal nachdenken)(findfile "acad2016doc.lsp")liefert dir entweder nichts oder nicht die Originale (da es eine Systemdatei ist, ...
|
| In das Form Lisp wechseln |
|
Lisp : Lisp Befehl - _aiselall funktioniert nicht
cadffm am 24.03.2017 um 11:06 Uhr (1)
hmmDu bist dabei ein Progrämmchen zu schreiben und kennst SSGET nicht?SSGET ist für gewöhnlich die erste Lispfunktion die man kennenlernt.Es ist die entsprechende Lispfunktion zum Befehl WAHL, auf deutsch:Die (AutoCAD-)Objektwahl.Die zentrale und am häufigsten verwendete Funktion in jedem CAD-Programm.also: F1 öffnet die Hilfeals Tutorial für Lisp empfehle ich http://www.tutorial.autolisp.info/ (wäre aber gut wenn du dir zwei Wochen ohne konkretes Ziel nimmst, einfach stumpf die Basics vorwärts und rückwär ...
|
| In das Form Lisp wechseln |
|
Lisp : Lisp Befehl - _aiselall funktioniert nicht
cadffm am 24.03.2017 um 11:14 Uhr (1)
Nachtrag: "Acad meldet einen Unbekannten Fehler."Bist du dir ganz sicher? Ich glaube nicht so recht an diese Aussage, schau besser noch mal nach Dann vermute ich:(findfile "acad2016doc.lsp") in 2016(findfile "acad2017doc.lsp") in 2017findet doch sehr wohl die Dateien? andernfalls gibt der Ausdruck nil zurück.Einfach in die Befehlzeile eingeben: (findfile "acad2016doc.lsp")------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Exception occurred: 0xC0000005
cadffm am 28.03.2017 um 15:58 Uhr (1)
Translate: Keinen = AutoDeskDie Anwender interessiert es natürlich. Im hier besprochenen Fall als Beispiel bereits seit über 10Jahren.Und "Keiner" hat es bis heute (nicht) dokumentiert oder Abhilfe geschaffen.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Polylinie auf Globale Breite setzen
cadffm am 29.03.2017 um 23:52 Uhr (1)
Die Objektwahl ist nach wie vor SSGET, ist gut dokumentiert und erstellt einen Auswahlsatz. Autocad bietet für Änderungen von Polylinien den Befehl PEDIT Die Option BReite sollte Polylinien die Breite global ändern.Du würdest also noch keine eigene Funktion programmieren müssen.Die Befehlsfolge erarbeitest du dir in der Befehlszeile,für dein Lisp baust du die Eingaben in einen (command ..) ein.Du müsstest dabei beachten: Peditaccept (Sysvar) wenn es mal nicht nur um Polylinien geht.Und daran denken: Objekt ...
|
| In das Form Lisp wechseln |
|
Lisp : Polylinie auf Globale Breite setzen
cadffm am 30.03.2017 um 00:59 Uhr (1)
Dein letztes Posting hatte ich nicht gelesen, daher als Ergänzung zu meiner letzten Antwort:Oh, du bist mit VL unterwegs?Wenn ich deine bisherigen Postings richtig deute, dann tust du dir damit nicht unbedingt einen Gefallen.Dir fehlt dazu einfach jegliches Basiswissen, zumindest liest es sich in deinen zwei Threads so, da wird eine Beschreibung zu möglichen Lösungen nicht helfen.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Mit Lisp prüfen, ob DLL geladen wurde
cadffm am 30.03.2017 um 10:40 Uhr (1)
Wenigstens hast du dieses Mal direkt .NET/DLL erwähnt: Déjà-vuWenn du den Inhalt der DLL selbst im Giff hast, dann könntest du mit laden der DLL eine Merkmal setzen welches mit Lisp auswertbar ist,ohne weiter darüber nachzudenken, einfach mal in den Raum geworfen.Dies wäre wohl die TopLösung für den eigenen Zugriffsbereich, eigene Programme.Ansonsten fällt mir zu reinem Lisp nichts ein. Wenn man mal Google anwirft kommt man schnellzu diesem BlockBeitrag: Getting the list of .NET assemblies loaded into Auto ...
|
| In das Form Lisp wechseln |
|
Lisp : ID abfragen
cadffm am 30.03.2017 um 15:29 Uhr (1)
Grundsätzlich: JaWenn dir bekannt ist wo die Daten stehen, dann wird sich auch ein Weg finden diese auszulesen.UmgebungsvariablenRegistryisw.Der Computername ist zum Beispiel eine Umgebungsvariable, die bekommst du einfach mit (getenv "computername")oder über Wscript / Network (vlax-get-property(vlax-create-object "WScript.Network") "ComputerName")PS: Man darf aber auch die Hintergründe zu einem Thread erzählen, dann bekommt man ab und an mehr Infos und ggf. auch passendere zur Aufgabe.------------------CA ...
|
| In das Form Lisp wechseln |
|
Lisp : nil Meldung nicht anzeigen
cadffm am 31.03.2017 um 09:57 Uhr (1)
Das Tutorial behandelt auch diese grundlegenden Dinge.Alle Ausdrücke haben eine Rückgabe und wenn diese nicht wahr ist, dann ist diese nil.Du kannst das "Problem" also beheben in dem du dafür sorgst dass die letzte Rückgabe eine andere ist, also den letzten Ausdruck ändern.(princ) bietet sich an:(defun bsp nil (+ 1 2)) = 3(defun bsp nil (+ 1 2)(princ)) =------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Gelöschte Handent macht Probleme
cadffm am 06.04.2017 um 12:08 Uhr (1)
Der gepostete Code liefert dir doch keinen Abrruch zurück, , sondern ein ENAME?Der Abbruch wird bei der Weiterverarbeitung geschehen die uns nicht bekannt ist.Das war schon immer so und ist nicht neu.(entdel (handent "271")) liefert doch sicher keinen Abbruch sondern zaubert das Objekt zurück, richtig?nil kommt nur zurück wenn das Handle unbekannt ist,ein gelöschtes Entity ist aber noch bekannt.Erzähle also mal etwas mehr (und genauer) und korrigiere meine Aussagen, wenn nötig. ------------------CAD on de ...
|
| In das Form Lisp wechseln |
|
Lisp : Gelöschte Handent macht Probleme
cadffm am 06.04.2017 um 13:23 Uhr (1)
Wenn es um AutoLisp geht, dann würde man bei ENTGET ein NIL erhalten(entget (handent h)) - nilNachtrag zur Vervollständigung des Threads:Auch würde sich von dem ENAME her kein VLA-Objekt ermitteln lassen:(vlax-ename-vla-object (handent h))Wenn man ein VLA-Object hat und testen möchte, dann gibt es eine extra-Funktion dafür:(vlax-erased-p obj)------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Gelöschte Handent macht Probleme
cadffm am 06.04.2017 um 16:48 Uhr (1)
Jedem der in Lisp programmiert "sollte" das bekannt sein.Es ist genau so in der Hilfe dokumentiert, also auch gewollt.So funktioniert dann auch der Hoppla-Befehl.Also "aufgefallen" ist das vielen. Aber man vergisst auch mal Der Programmierer hat es in der Hand.Sobald zwischen Objektdaten spichern (Handle, Ename, Entityliste) und der Weiterverarbeitung die Möglichkeit besteht dass es dieses Objekt "nicht mehr gibt", muß eine Überprüfung stattfinden.------------------CAD on demand GmbH - Beratung und Program ...
|
| In das Form Lisp wechseln |
|
Lisp : Xaml help file mit url verknüpfen
cadffm am 06.04.2017 um 20:34 Uhr (1)
Ich denke ja nicht das Peter wissen wollte wie man eine Erweiterte Hilfe mir dem Menüobjekt/Befehl verknüpft, dafür würde es zu dem F1 geben.Viel mehr fragte er wohl nach dem Plug&Play Beispiel eines Xaml-Beispieles.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |