|
Lisp : Exception occurred: 0xC0000005
Brischke am 25.03.2017 um 20:49 Uhr (1)
... das erste Beispiel läuft bei mir ohne Fehler durch.... dass das zweite zu einem Fehler führt, hängt mit der in 2015 eingeführten parallelen Befehlsverarbeitung zusammen, denn mit (command-s) funktioniert es ohne Probleme.Meine Erfahrung ist, (command ..) innerhalb eines (mapcar ..) macht seit 2015 Probleme - ich verwende das nicht mehr in solch einer Code-Situation.Grüße!Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.defun-tools Das Download-Portal f ...
|
| In das Form Lisp wechseln |
|
Lisp : Exception occurred: 0xC0000005
Brischke am 25.03.2017 um 21:19 Uhr (1)
(1) AutoCAD2016 pur engl.(2) (command-s ..) wurde mit AutoCAD 2012 eingeführt. Man hatte also Zeit sich darauf einzustellen. Blöd nur, dass es bis AutoCAD 2015 keinen Unterschied gemacht hat, ob man mit (command ..) oder (command-s ..) gearbeitet hat.Zum alten Code: Da ich nahezu ausschließlich nur noch mit c#.Net programmiere, habe ich mit altem Code nicht oft zu tun .. und alten Code zu migrieren ist für mich dann auch schnell erledigt, da ich nur in Ausnahmen überhaupt mit (command ..) gearbeitet habe. ...
|
| In das Form Lisp wechseln |
|
Lisp : Exception occurred: 0xC0000005
archtools am 27.03.2017 um 23:47 Uhr (1)
Zitat:Original erstellt von CADmium:Jo darf man .... aber leider wird das keinen interessieren ... helfen würde da nur eine Abstimmung mit den Füßen, bzw. Kaufverhalten.Das geschieht doch schon längst. Ich programmiere ja schon seit Jahren hauptsächlich für zwei größere Industriekunden, und die sind schon längst komplett mit mehreren hundert CAD-Arbeitsplätzen auf BricsCAD umgestiegen. Ich nehme an, dass das weitgehend überall ähnlich läuft. Auch die Neukunden meiner ArchTools sind mittlerweile bestimmt ...
|
| 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
AutoCADify am 29.03.2017 um 23:57 Uhr (1)
Hallo cadffm,vielen Dank für deine Schnelle Antwort.Ich bin momentan soweit, dass ich einen Befehl zusammen getaumelt habe. Nur was mir noch vorstellen könnte ist, dass er mich ohne zu fragen alle PL auswählt und auf GB = 0 stellt.Bisher muss ich ein Objekt wählen und nur eine PL wird dann conferted.Hast du da eine Lösung?Besten Dank!AutoCADify------------------Nichts ist unmöglich - AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Polylinie auf Globale Breite setzen
AutoCADify am 30.03.2017 um 00:12 Uhr (1)
*Als Ergänzung der Befehl bisher:(vla-put-ConstantWidth(vlax-ename-vla-object(car(entsel)))0)------------------Nichts ist unmöglich - AutoCAD
|
| 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 : Mit Lisp prüfen, ob DLL geladen wurde
Brischke am 30.03.2017 um 16:05 Uhr (1)
.. ich würde in der .Net-Routine einen Lispbefehl definieren, den man ja Lisp-Seitig abfragen kann, ob die Funktion existiert (type FuncName)Grüße!Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
|
| In das Form Lisp wechseln |
|
Lisp : ID abfragen
Brischke am 30.03.2017 um 16:15 Uhr (1)
... grundsätzlich benötigst du dann auch eine Liste der gültigen PC-Komponenten. Diesen Aufwand würde ich scheuen. Ich kann dir empfehlen, dich an den Domain-Namen zu hängen, der sollte in aller Regel über die Jahre fix sein. Noch leichter, ohne die ganze Hardware-Abfragerei, wäre das Prüfen auf Vorhandensein einer Datei, die auf einem Eurer Server liegt - UNC-Pfad reich ja, so dass der Ablagepfad den Anwendern auch nicht bekannt ist. Wenn in der Datei zur weiteren Prüfung eine wirre Zeichenkette gespeiche ...
|
| 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 |