capde06 Posté(e) le 1 mars 2010 Posté(e) le 1 mars 2010 dans une fonction j'utilise la calculatrice d'autocad calex: (setq pt12 (cal "plt (pt1,pt2,0.5)"))ca marche tres bienle problème est qu'il faut, taper CAL dans la fenêtre de commande avant de lancer mon progsinon ca ne marche pasquestion :comment charger ce module en lispl'ai essayé LOAD APPLOADca ne marche pas Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
Tramber Posté(e) le 1 mars 2010 Posté(e) le 1 mars 2010 (c:cal expression) Extrait de l'aide ! Sinon je pense qu'il aurait fallu invoquer cal avec un command mais cette indication devrait suffire. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
capde06 Posté(e) le 1 mars 2010 Auteur Posté(e) le 1 mars 2010 merci trambermais ca ne marche pas. dans le doute voila le code (defun c:eau () (setvar "osmode" 0) ;;selection de la face3D (setq ent (entget (car (entsel))) pt1 (trans (cdr (assoc 10 ent)) 0 1) pt2 (trans (cdr (assoc 11 ent)) 0 1) pt3 (trans (cdr (assoc 12 ent)) 0 1) ) (setq pt12 (c:cal "plt (pt1,pt2,0.5)")) (setq pt23 (c:cal "plt (pt2,pt3,0.5)")) (setq centre3d (c:cal "ill (pt1,pt23,pt12,pt3)")) (command "point" centre3d) )le but est de creer un point au centre d'une face3D Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
(gile) Posté(e) le 1 mars 2010 Posté(e) le 1 mars 2010 Salut, (cal expression) devrait fonctionner mais il faut que l'arx GeomCal soit chargé,il est chargé automatiquement au premier appel de la commande CAL (AutoArxLoad) mais ne se charge pas s'il est appelé depuis une expression LISP.On peut le charger s'il ne l'est pas déjà avec l'epression :(if (not (member "geomcal.arx" (arx))) (arxload "geomcal") ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 1 mars 2010 Posté(e) le 1 mars 2010 Re, Pour calculer le centre d'un triangle, il suffit d'ajouter les 3 points (comme des vecteurs) et de diviser le résultat par 3... (setq centre3d (mapcar '(lambda (x1 x2 x3) (/ (+ x1 x2 x3) 3.)) pt1 pt2 pt3)) Et si tu utilises entmake plutôt que command, tu n'as pas besoin de traduire les points dans le SCU courant, tu n'auras aucun souci avec les accrobj et tu peux du même coup attribuer des propriétés à ton point :(entmake (list '(0 . "POINT") (cons 10 centre3d))) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
capde06 Posté(e) le 1 mars 2010 Auteur Posté(e) le 1 mars 2010 bravotout marche nickel et merci pour la leçon sur les vecteurs Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
Tramber Posté(e) le 1 mars 2010 Posté(e) le 1 mars 2010 Je pensais que le c:cal appelerait l'ARX. pour cela je n'en parlais pas. Mais avec (arxload "geomcal") .... (setq pt1(list 0 0)pt2(list 10 10)) (setq pt12 (c:cal "plt (pt1,pt2,0.5)")) Fonctionne bien en transparence chez moi. La sortie est propre. Ton programme fonctionne aussi. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant