|
CoCreate Programmierung : Lisp Schleife
clausb am 05.09.2011 um 22:50 Uhr (0)
Und zur endgültigen Abschreckung jetzt die Schleife samt funktionierender Übersetzung des Zuweisungsversuches:Code:(setf winkel_1 1)(setf winkel_2 2)(setf winkel_3 3)(setf winkel_4 4)(setf winkel_5 5)(setf winkel_6 6)(setf DM_Unten 42)(loop for i from 1 to 6 do (let ((new-symbol (make-symbol (format nil "UBOGEN_~D" i)))) (setf (symbol-value new-symbol) (* 0.5 (symbol-value (find-symbol (format nil "WINKEL_~D" i))) DM_Unten)) ))Diese Variante hat aber mehrere Nachteile. Erstens verstehen sie wohl nur wen ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Lisp Schleife
clausb am 06.09.2011 um 13:13 Uhr (0)
Ich habe gerade beide Beispiele nochmal in CoCreate Modeling geladen. Keinerlei Fehler. Habs auch ohne Probleme in zwei alternativen Lisp-Implementierungen ausprobiert (SBCL, CLISP).Vielleicht mags ja jemand zur Verifikation mal in seinem Modeling ausprobieren (Codebeispiele als Lispdatei abspeichern, reinladen - wenn kein Fehler angezeigt wird, hat es funktioniert).------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/[Diese Nachricht wurde von clausb am 07. Sep. 2011 editiert.]
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Aus CoCreate (V17) C#.NET (WindowsForms) Anwendung (mit Rückgabewert) zugreifen
clausb am 07.09.2011 um 21:22 Uhr (0)
Gemeint ist damit, dass es kein eigenes .NET-API für Annotation gibt. Wir haben damals kein eigenes Objektmodell für Annotation gebaut. Naja, jedenfalls war das noch so, als ich noch im CoCreate-Team war.Ist aber keine Katastrophe. Man kann man aus einem .NET-Addin beliebigen Lisp-Code rufen. Und der kann dann natürlich wiederum Annotation-Kommandos ausführen.------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Aus CoCreate (V17) C#.NET (WindowsForms) Anwendung (mit Rückgabewert) zugreifen
clausb am 19.07.2011 um 22:22 Uhr (0)
Vorab: Bin mir bei der Lizenz nicht ganz sicher, was aktuelle Versionen angeht, aber ich denke, Du brauchst keine spezielle.Das .NET-API in CoCreate Modeling unterstützt sowohl externe als auch interne Clients ("add-ins"). Welchen Clienttyp man wählt, das hängt von der konkreten Anwendung ab. Fragen, die man sich stellen muss (nur zur Anregung): Wie ist der Lebenszyklus der Anwendung? Braucht sie zur Erfüllung ihrer Aufgabe immer eine laufende Instanz von CoCreate Modeling? Soll die Anwendung auch auf Rech ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : LISP: Hundertstel Sekunden messen
clausb am 13.02.2012 um 23:24 Uhr (0)
Zitat:Original erstellt von der_Wolfgang: (symbol-package seconds-since-1970)sollte "es" liefernIch hätte vermutet, dass das grundsätzlich immer das aktuelle Package liefert, es sei denn vielleicht, man haette das Symbol vorher schon importiert.------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : per LISP bestimmtes Element in der Strukturliste suchen
clausb am 16.01.2013 um 09:02 Uhr (0)
Danke fuer den Hinweis. Auf meinem Webserver war .htaccess zerschossen, das ist jetzt behoben, und die FAQ-Liste ist wieder verfügbar (http://www.clausbrod.de/CoCreateModeling/). Lasst mich wissen, wenn Euch noch was auffaellt.Danke Claus------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Speicherauslastung in Lisp (room)
clausb am 08.04.2013 um 12:38 Uhr (0)
(memory-usage) liefert nicht einen einzelnen Wert, sondern mehrere. Angezeigt bekommt man sie beispielsweise mitCode:(display (multiple-value-list (memory-usage)))Die Funktion selbst ist undokumentiert, und das gilt auch für die Rückgabewerte.Neugierig: Welche Erkenntnisse erhoffst Du Dir denn von dieser und anderen Funktionen? Claus------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/[Diese Nachricht wurde von clausb am 08. Apr. 2013 editiert.]
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Speicherauslastung in Lisp (room)
clausb am 09.04.2013 um 08:35 Uhr (0)
Der Garbage Collector ist nicht spektakulär. Wie viele andere arbeitet er nach dem Mark&Sweep-Prinzip. Eine interessante Erweiterung wird Dir auffallen, wenn Du Modeling eine Weile ruhen lässt. Modeling merkt das und versucht dann die Ruhezeit für einen GBC-Lauf zu nutzen.Bedenke, dass Modeling Speicher sowohl für die Lisp-Welt als auch für Objekte in der C++-Welt braucht. In vielen Fällen überwiegen die C++-Objekte deutlich. Für sie ist der Garbage Collector nicht zuständig.------------------CoCreate Mode ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Api Hilfe
clausb am 15.04.2013 um 16:05 Uhr (0)
In einem C#-Addin hat man Zugriff auf das IApplication-Interface. Darin gibt es Funktionalität zum Aufruf von beliebigem Lisp-Code.Ein typisches Addin besteht aus einem Lisp-Anteil, der sich hauptsächlich um das UI kümmert, und einem Anteil in C# oder einer anderen .NET-Sprache. Daraus ergibt sich meistens, dass man von Lisp aus den C#-Code ruft, so dass diese Richtung der Kommunikation häufiger ist.An Tesselierungsdaten kommt man über das .NET-API heran.------------------CoCreate Modeling FAQ: http://www. ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Api Hilfe
clausb am 12.04.2013 um 20:10 Uhr (0)
Patrick,die Doku gibt es meines Wissens nicht online.Das Lisp-basierte Integration Kit und das .NET-API ergänzen sich gegenseitig, mit einigen Überlappungen. Man kann aus .NET-Addins heraus Lisp-Code rufen und umgekehrt - damit erschliessen sich die Möglichkeiten der jeweils anderen Welt.Eine eigene Lizenz braucht man meines Wissens nicht mehr für das .NET-API (das war anfangs mal anders)..NET-Addins kann man in jeder Sprache schreiben, für die es eine .NET-Implementierung gibt. Beispiele für Sprachen, die ...
|
In das Form CoCreate Programmierung wechseln |
|
PTC Creo Elements/Programmierung : Dialoge so pünktlich wie die Bahn
clausb am 30.07.2013 um 15:18 Uhr (1)
Tja, was soll ich sagen - ich hätte diese und andere Erweiterungen gerne selbst eingebaut, aber dazu hat es anno dunnemals nicht mehr gereicht.Für die SLIME-Integration hätte man Socket-Kommunikation, Threading-Support, Conditions, mindestens Teile von CLOS und andere allgemein nützliche Features einbauen müssen. Das wäre also ein großer Fortschritt für alle Lisp-Entwickler gewesen, ganz gleich, ob man nun SLIME selbst verwenden würde oder nicht. (Gaaanz weit im Hinterkopf hatte ich IDE-Pläne, die über SLI ...
|
In das Form PTC Creo Elements/Programmierung wechseln |
|
CoCreate Programmierung : oberstes Teil prüfen
clausb am 26.11.2013 um 21:37 Uhr (1)
Stellen wir mal "komplette" Beispiele nebeneinander, dann wird es vielleicht klarer. Bei Walters Vorschlag läuft es in etwa auf dieses hinaus:Code:(WHEN (AND (sd-inq-assembly-p MYTOPOBJEKT) (= 1 (length OBJECTSINTOPLIST))) (tu-was-mit MYTOPOBJEKT))Das "WHEN" ist also "zu Ende", wenn sich die korrespondierende Klammer schließt (wie Du ja auch vermutet hast). Wie das in Lisp halt eigentlich immer so ist. Das ganze jetzt ohne "WHEN":Code:(and (sd-inq-assembly-p MYTOPOBJEKT) (= 1 (length OBJECTSINTOPLIST)) ( ...
|
In das Form CoCreate Programmierung wechseln |
|
CoCreate Programmierung : Bogenförmiger Text
clausb am 04.12.2013 um 15:59 Uhr (1)
Freut mich, wenn ich helfen konnte! ClausPS: Schöner Lisp-Code übrigens, finde ich!------------------CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/
|
In das Form CoCreate Programmierung wechseln |