LISP

  Caractéristiques principales >

LISP

Previous pageReturn to chapter overviewNext page

CADEditorX User Interface supporte environ une demie de commandes LISP (plus de 50) dont fonctions récursives et les celles qui ont fonctions en tant que argument. Si vous connaissez  LISP, vous pourrez étendre les possibilités de CADEditorX User Interface par utilisant des fonctions. Un débogueur intégré est utilisé afin de déboguer LISP dans CADEditorX User Interface, vous pouvez le trouver sous Avancé > Lisp > Lisp Debugger.

Le progiciel inclue deux fichiers qui montre comment on ajoute de nouvelles fonctions LISP: functiongraph.lsp et sqr.lsp. Après installation du logiciel les exemples sont ajoutés au dossier c:\Users\USER_NAME\Documents\CADEditorX 10\Demos\Lisp\...

functiongraph.lsp


L'exemple montre comment on ajoute la fonction draw-graph qui trace des graphes.

(defun draw-line (p1 p2)

  (command "_line" p1 p2 ""))

 

(defun square (x)

  (* x x))

 

(defun rational (x)

   (/ 1 x))

 

(defun draw-graph (min max step f)

  (setq x min)

  (setq p (list x (f x)))

  (while (<= x max)

     (draw-line p (setq p (list x (f x))))

  (setq x (+ x step))))

 

Afin d'appeler la fonction draw-graph dans la ligne de commande, veillez entrer :

(load "С:\Users\USER_NAME\Documents\CADEditorX 10\Demos\Lisp\functiongraph.lsp")

Charge le fichier functiongraph.lsp au fichier courant

(draw-graph -10 10 0.5 square)

Trace le graphe de la fonction y=x2

(draw-graph -10 10 0.5 sin)

Trace le graphe de la fonction y=sinx

(draw-graph -10 10 0.5 cos)

Trace le graphe de la fonction y=cosx

(draw-graph -10 10 0.5 atan)

Trace le graphe de la fonction y=arctgx

Voici le résultat de la commande :

Command: (draw-graph -10 10 0.5 square)

sqr.lsp


Ajoutela fonction SQR qui trace un carré.

(defun SQR (/ pt1 pt2 pt3 pt4 len ang)

  (setq pt1 (getpoint "First corner: "))

  (setq pt2 (getpoint "Length of one side: "))

  (setq len (distance pt1 pt2))

  (setq ang (angle pt1 pt2))

  (setq pt3 (polar pt2 (+ ang (/ PI 2.0)) len))

  (setq pt4 (polar pt3 (+ ang PI) len))

  (command "_PLINE" pt1 pt2 pt3 pt4 pt1 "")

)

 

Voici un exemple:

(load "С:\Users\USER_NAME\Documents\CADEditorX 10\Demos\Lisp\sqr.lsp")

Charge le fichier sqr.lsp au dessin courant

(sqr)

Demande deux points, la distance entre eux sera une côté du carré.

Voici le résultat de la commande effectuée:

Command: (sqr)

First corner: (0,0)

Length of one side: (10,5)  //au lieu de la longueur on a entré les coordonnées du deuxième point.


LISP Debugger

Go to CADEditorX