Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 01/02/2017 dans Messages

  1. Bonjour, j'ai un projet avec plusieurs petits applicatifs LISP. J'ai créé un menu avec des commandes qui me permettent de lancer ces applicatifs LISP. Je dois également créer une commande qui charge automatiquement mes fichier LISP. J'ai créer cette commande seulement quand je rentre appload dans la macro le menu s'ouvre mais je dois aller sélectionner mes programmes à charger. Mon but est que cette sélection ce fasse automatiquement (je ne veux pas avoir à sélectionner mes fichiers manuellement)... Mon menu s'appelle chantier et la commande que je veux créer s'appelle Chargement fichier. Je joint une photo de la situation. Qqn serait faire cela ?
    1 point
  2. Bonjour, je pense aussi qu'il faut abandonner l'idée du réseau qu'on peut remplacer par une boucle itérative. C'est vrai que les places PMR sont souvent en bout de rangée, compte tenu qu'elles doivent être le plus près possible de l'entrée de l'établissement. J'ai fait quelque chose qui demande à quelle position on veut mettre ces places, mais on pourrait simplifier comme suggère arnaudalp en demandant simplement combien il y a de places handicapées, puis si elles sont au début ou à la fin. (defun C:parking () (setvar "cmdecho" 0) ;entrée des données (setq LISTENT nil) (setq nbplace (getint "\nNombre de places de parking :")) (if (or (= nbplace nil) (< nbplace 1)) (exit)) (setq I 1) (setq LREP nil) (while ;; définir les positions des places handicapées (and (< (length LREP) nbplace) (setq REP (getint (strcat "\nPosition place handicapée n° " (itoa I) " (entrée pour quitter) : "))) ) (if (member REP LREP) (alert "position déjà prise") (if (and (>= REP 1) (<= REP nbplace)) (setq LREP (cons REP LREP)) (alert "position non valable") ) ) (setq I (1+ I)) ) (setq p0 (getpoint "\nPoint de départ du parking :")) (setq pt0 p0) (setq ang0 (getangle pt0 "\nAngle d'orientation des places :")) (setq larg 2.3) (setq largh 3.3) (setq long 5.0) (setq I 1) (repeat nbplace ;calcul (setq pt1 (polar pt0 (+ ang0 (/ pi 2)) long)) (if (member I LREP) (progn ;; une place handicapée (setq pt2 (polar pt1 ang0 largh)) (setq pt3 (polar pt0 ang0 largh)) ) (progn ;; une place non handicapée (setq pt2 (polar pt1 ang0 larg)) (setq pt3 (polar pt0 ang0 larg)) ) );; fin if (command "_pline" "_non" pt0 "la" 0 0 "_non" pt1 "_non" pt2 "_non" pt3 "_cl") (setq LISTENT (cons (entlast) LISTENT)) (command "_text" "_j" "_BL" "_non" pt0 0.2 "_non" pt3 (itoa I)) (setq LISTENT (cons (entlast) LISTENT)) (setq I (1+ I)) (setq pt0 pt3) );; fin repeat ;texte (setq pt4 (polar p0 ang0 (* (distance p0 pt3) 0.5))) (setq pt4 (polar pt4 (+ ang0 (/ pi 2)) -0.20)) (setq pt5 (polar pt3 (+ ang0 (/ pi 2)) -0.20)) (setq index (strcat (itoa nbplace) " Place(s)")) (command "_text" "_j" "_MC" "_non" pt4 0.2 "_non" pt5 index) (setq LISTENT (cons (entlast) LISTENT)) ;; tout mettre dans un groupe (command "_.-group" "_create" "*" "Parking") (foreach EN LISTENT (command EN)) (command "") (princ) ) Amicalement Vincent
    1 point
  3. Tu ajoutes une demande utilisateur "Place PMR ?" Si oui : demande utilisateur "A qu'elle position ?" (PosPlace) Tu peux crées (setq largH 3.3) et tu fais une condition sur le numéro de place. Si numplace=PosPlace alors tu utilises largH sinon tu utilises Larg c'est une piste,
    1 point
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité