mateus
Membres-
Compteur de contenus
261 -
Inscription
-
Dernière visite
-
Jours gagnés
2
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par mateus
-
C'est quoi plaquer sur le MNT?
-
Il faut que ma polyligne soit en 3D pour que sa marche?
-
Je ne comprends pas comment elle focntionne ce module, es-ce que quelqu'un peut me guidé avec des images merci
-
je céer avec l'assistant ma plates formes?
-
Bonjour Donc voilà, je voudrais connaître une méthologie pour créer un bassin selon le MNT. Je ne connais pas le module et je voudrais partir sur de bonne méthode de travaille. merci
-
Création d'un programme éclairage public
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Une erreur qui est disparue magique ! Merci quand même ! ah le monde de la programmation je l'oublierai pas (rires forts) -
Création d'un programme éclairage public
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Bonjour voilà j'ai un problème que je n'avais pas vu avant mais que je vois maintenant bien sûr ! En fait le programme fonctionne lorsque le fichier lisp est chargé dans l’éditeur visual lisp d'Autocad mais lorsqu'il n'y ai pas et que par conséquent je tape directement dans la barre de commande le nom du programme , lors de l'insertion du bloc l'erreur suivante apparaît : ;; error nombre d'arguments insuffisants Je vois pas pourquoi l'erreur apparaît alors que quand le fichier est bien chargé, il n'y a aucunes erreurs :/ Merci :) -
Merci pour ta réponse !! :) C'était un vieux post que j'avais poster, depuis le temps j'ai réussi à récupérer la Dll manquante avec je ne sais plus quel logiciel . En tout cas merci pour ta réponse ! Vraiment pénible ces fichiers DLL
-
Création d'un programme éclairage public
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Oui avec cette remarque de Gile Je suis retourné dans le cours de Gile et j'ai convertis l'angle avec ces fonctions. Je vais l'incorporer dans le programme principal normalement ça devrait fonctionner. C'est dur de s'accrocher en programmation , je le fais bien par obligation parce que c'est assez casse tête ^^ Merci encore à vous ! -
Création d'un programme éclairage public
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
c'est bon j'ai réussi, j'ai du convertir avec "angtos" et "atof". donc (setq rot (atan (cadr fDir)(car fDir))) Donc ci-dessus "rot" vaut un angle en radian (setq rotDegre(atof(angtos rot 0 13))) converssion de l'angle en radian en degrés (command "_.-insert" "candelabre1" "_none" PT 1 1 (+ rotDegre 180) "") et du coup, la commande fonctionne comme celà . A priori elle devrai marcher même si les paramètres d'unités ne sont pas en degrés non? Merci encore pour l'aide ! -
Création d'un programme éclairage public
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Merci pour vos explications , le problème c'est que ça ne fonctionne toujours pas avec chacun des codes que vous me proposez :huh: Mon dessin courant est en "sans unité" "degré" "sens antihoraire" la variable "rot" vaut dans les 0.11 par là (valeur en radian) J'ai essayé de convertir la valeur de "rot" qui est en radian en degré avant de la faire passer dans la commande, rien. Ce que je comprends pas c'est qu'elle fonctionnait cette commande elle était de la même forme que celle ci: (command "-insérer" "candelabre1" PT 1 1 rot "") Désolé Bonuscad c'est moi qui avait oublié de mettre "rot" dans la commande (j'ai tellement fait de test) Voilà j'aimerai bien trouver une solution pourquoi l'orientation ne se fait pas bien ? (while (< D4 LongPoly2) ; Calcul du point à l'abscisse courante (setq PT (vlax-curve-getPointAtDist oVlaPoly2 D4)) ; calcule la parametre à ce point (setq param (vlax-curve-getParamAtPoint oVlaPoly2 PT)) ; calcule la tangente (vecteur directeur) à ce point (setq fDir (vlax-curve-getFirstDeriv oVlaPoly2 param)) ; calcul la tangente en ce point (setq rot (atan (cadr fDir)(car fDir))) ; insertion du Lampadaire (command "_.-insert" "candelabre1" "_none" PT 1 1 rot "") ;(command "_.-insert" "candelabre1" "_none" PT 1 1 (angtos ((if (zerop (getvar "ANGDIR")) - +) ang (getvar "ANGBASE")) (getvar "AUNITS") 13)) ; calcule la position de ce candélabre sur la poly3 (setq PtPro (vlax-curve-getClosestPointTo oVlaPoly3 PT)) ; calcul de l'abscisse de ce candélabre sur la poly3 (setq D5 (vlax-curve-getDistAtPoint oVlaPoly3 PtPro)) ; calcule le point début du V (setq PT2 (vlax-curve-getPointAtDist oVlaPoly3 (- D5 (* D2 0.5)))) ; calcule le point fin du V (setq PT3 (vlax-curve-getPointAtDist oVlaPoly3 (+ D5 (* D2 0.5)))) ; dessine la polyligne en V (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 8 "ECL_R") (cons 90 2) (cons 10 PT2) (cons 10 PT))) (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 8 "ECL_R") (cons 90 2) (cons 10 PT) (cons 10 PT3))) ; ajoute une valeur D3 (setq D4 (+ D4 D3)) ) Merci -
Création d'un programme éclairage public
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Merci Bonuscad pour ton post c'est vraiment sympas de votre part à tous les membres de ce site y compris toi Bonuscad d'aider les gens a mener à bien leur projet ! Le problème c'est que le code que tu me donnes je ne peux pas le mettre dans mon rapport , ce n'est pas moi qui l'a fait et de toute manière je ne pourrai pas expliquer le déroulement du programme car je ne comprends pas la moitié des choses. Par contre je pense que mon tuteur sera ravi d'avoir ce programme donc je pourrai à la limite lui passer après mon oral mais en aucun cas le présenter. Je préfère présenter ce que j'ai fais même si c'est beaucoup moins bien et moins finaliser que de présenter quelque chose que je n'ai pas fait et que je ne connais pas. Par contre ce qu'il serait intéressant pour moi c'est de pouvoir insérer mon bloc candélabre avec la bonne orientation dans mon code actuel: (while (< D4 LongPoly2) ;; boucle sur les abscisses depuis la position de départ par pas de l'équidistance entraxeCande (setq PT (vlax-curve-getPointAtDist polyCandeVla D4)) ;; Calcul du point à l'abscisse courante (setq param (vlax-curve-getParamAtPoint polyCandeVla PT)) ;; calcule la parametre au point PT (setq fDir (vlax-curve-getFirstDeriv polyCandeVla param)) ;; calcule la tangente (vecteur directeur) au point PT (setq rot (atan (cadr fDir) (car fDir))) ;; calcul la tangente au point PT ;(entmake (list (cons 0 "INSERT") ; (cons 2 "candelabre1") ; (cons 8 "ICI-RES-ECP-Candélabres") ; (cons 10 PT) ; (cons 50 rot) ; ) ;) (command "-insérer" "candelabre1" PT 1 1 "") Je veux bien utiliser la création du bloc dans le programme lisp comme tu as fait dans ton programme car ça je serai l'expliquer, j'ai compris le principe mais après cette création je souhaiterai l'insérer dans la boucle aux points "PT" et que l'orientation soit bonne parce que avec mon code actuel, j'ai essayé avec les deux bouts de code ci-dessus (entmake et commande insérer) et le bloc s'insère avec une orientation de "1". Merci Bonuscad -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
C'est bon cette fois ci, ils s'insèrent (j'avais mal écrite la commande)mais pas à la bonne rotation (command "-insérer" "candelabre1" PT 1 1 [b]rot [/b]"") Pk ne prend t-il pas en compte la variable rot qui est l'orientation? -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Je souhaite utiliser la solution la plus simple ce qu'il y a c'est que j'ai tellement touché mon programme que je sais plus à partir de quel moment les blocs ne s'insérait plus Je crois que j'étais parti avec cette commande toute bête : (command "inserer" "candelabre" PT 0 0 0 rot "") et ça marchait bien (à condition d'avoir mis le chemin de recherche dans le fichier support d'autocad --> ce que j'ai bien fait) Mais lorsque je lance la commande, il me dit qu'il a chercher partout dans le disque "D:" "C:" et dans les différents dossiers, et qu'il n'a rien trouvé, c'est pas possible vue que je le vois physiquement le bloc dans le dossier. A la limite j'ai pas besoin de le créer le bloc ce que je souhaite c'est juste qu'il s'insère et à la bonne orientation. Merci alala -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Bonjour alala merci pour ton aide c'est vraiment sympas, malheureusement il faut que je passe activement à mon rapport de stage donc je pense que j'aurai pas assez de temps pour résolver mon problème de raccordement :( S'il me reste un peu de temps j'essaierai de chercher une solution mais bon c'est mal parti... Par contre j'ai un problème au niveau de mes insertions de blocs , dans ma boucle j'insère mes blocs qui s'appelle "candelabre1" avec la fonction "entmake" mais le problème c'est que je ne vois pas apparaitre mes blocs au point "PT" et lorsque ça fonctionne ils sont mal orienté car il ne suivent pas la variable "rot" (entmake (list (cons 0 "BLOCK") (cons 2 "candelabre1") (cons 8 "ICI-RES-ECP-Candélabres") (cons 10 PT) (cons 50 rot) ) ) J'ai essayé avec cette solution (ci dessous) mais l'erreur suivante s'affiche : J'ai essayé sans le "." du "(10 . PT) rien n'y fait . J'ai juste besoin d'une solution stable pour insérer mes candélabres à ces points PT sachant que mon bloc est stocké dans un dossier support d'autocad et chargé au démarrage d'autocad. (if (not (tblsearch "BLOCK" "candelabre")) (foreach n '( ( (0 . "BLOCK") (8 . "0") (2 . "candelabre") (70 . 0) (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (10 . PT) (50 . rot) ) ( (0 . "CIRCLE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbCircle") (10 0.0 0.0 0.0) (40 . 0.053122) (210 0.0 0.0 1.0) ) ( (0 . "LWPOLYLINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbPolyline") (90 . 6) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 0.0689761 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 0.034488 0.059735) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 -0.034488 0.059735) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 -0.0689761 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 -0.034488 -0.059735) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 0.034488 -0.059735) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0) ) ( (0 . "LWPOLYLINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbPolyline") (90 . 5) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 -0.0260215 -0.0463123) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 0.0260215 -0.0463123) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 0.0260215 -0.294391) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 -0.0260215 -0.294391) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 -0.0260215 -0.0463123) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0) ) ( (0 . "ARC") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbCircle") (10 0.652129 -0.647202 0.0) (40 . 0.764437) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50 . 2.66187) (51 . 3.49555) ) ( (0 . "LINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbLine") (10 0.0649177 -0.912168 0.0) (11 -0.0649177 -0.912168 0.0) (210 0.0 0.0 1.0) ) ( (0 . "ARC") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbCircle") (10 -0.652129 -0.647202 0.0) (40 . 0.764437) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50 . 5.92922) (51 . 0.479719) ) ( (0 . "LINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbLine") (10 -0.082228 -0.434874 0.0) (11 0.082228 -0.434874 0.0) (210 0.0 0.0 1.0) ) ( (0 . "LINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbLine") (10 -0.0897754 -0.462971 0.0) (11 0.0897754 -0.462971 0.0) (210 0.0 0.0 1.0) ) ( (0 . "ARC") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbCircle") (10 0.514429 -0.667768 0.0) (40 . 0.656885) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50 . 2.53703) (51 . 3.56935) ) ( (0 . "LINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbLine") (10 0.0832687 -0.940265 0.0) (11 -0.0832687 -0.940265 0.0) (210 0.0 0.0 1.0) ) ( (0 . "ARC") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbCircle") (10 -0.514429 -0.667768 0.0) (40 . 0.656885) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50 . 5.85543) (51 . 0.604567) ) ( (0 . "LINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbLine") (10 -0.0832687 -0.940265 0.0) (11 -0.0649177 -0.912168 0.0) (210 0.0 0.0 1.0) ) ( (0 . "LINE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) (100 . "AcDbLine") (10 0.0832687 -0.940265 0.0) (11 0.0649177 -0.912168 0.0) (210 0.0 0.0 1.0) ) ( (0 . "ENDBLK") (8 . "0") (62 . 0) (6 . "ByBlock") (370 . -2) ) ) (entmake n) ) ) Merci par avance -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Deux polylines sur les trois crées sont des copier/coller de la première. Dsl -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Bonjour à tous J'ai fait un lisp test qui est celui joint où je créer les deux antennes et trois polylines. Deux polylines sont les trois sont des copier/coller de la premier polyline. Ce qui me permeterai (logiquement) de pouvoir faire les raccordements rayon de chacune de mes antennes avec les poly crées. J'ai essayé à multiples reprises de bien comprendre le fonctionnement et de comprendre pk ça ne fonctionnait pas, il en est vain Si quelqu'un pourrait m'aider d'une manière ou d'une autre afin que je puisse solutionner ce problème je vous en remercie. le schéma joint en #post 91 reflète la figure créée dans le lisp avec tous les points. Merci par avance #post91 raccordementRayon.lsp -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Pour essayer de remédier à ça j'ai copié dans la boucle 2 fois la polyline réseau pour raccorder mes raccordements aux polylignes crées directement mais rien n'y a fait, voici le bout de code (et le fichier lsp en fichier joint) : (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 8 "ICI-RES-ECP") (cons 90 2) (cons 10 PT2) (cons 10 PT) ) ) (setq entPtPt2 (entlast)) (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 8 "ICI-RES-ECP") (cons 90 2) (cons 10 PT3) (cons 10 PT) ) ) (setq entPtPt3 (entlast)) (command "_copybase" ptStart polyReseau "") (command "_pasteclip" ptStart "") (setq polyTemp1 (entlast)) (command "_copybase" ptStart polyReseau "") (command "_pasteclip" ptStart "") (setq polyTemp2 (entlast)) (setvar "filletrad" 0.5) (command "raccord" polyTemp1 entPtPt2) (command "raccord" polyTemp2 entPtPt3) Les copies de polylignes sont bien crées mais les raccords ne sont pas fait :o Amicalement testECL.LSP -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Comment faire alors ça fait 4 jours que je me prends le chou pour faire des raccords rayon j'en peux plus.. jsuis désolé alala c'est pas contre toi mais j'en peux plus de galérer pour ça -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
non alala maintenant je le fais avec une polyligne donc ça peut être une courbe c'est pour ça que je trace pas directement des lignes ou arcs ça serait trop long. la commande fonctionne mais pas dans la boucle "while" du lisp "ECL2" :unsure: -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
C'est bon la commande fonctionne mais alors maintenant c'est une nouvelle erreur et pour vous expliquez je ne sais comment ... ; erreur: groupe DXF incorrect: (10) Si quelqu'un aurait un peu de temps pour regarder le fichier joint "ECL2" j'ai mis des commentaires partout pour s'y retrouver mais je ne sais pas pourquoi il y a encore cette erreur... le premier raccordement est bien passé mais pas les autres ... :( ECL2.lsp -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Bonjour alala C'est exactement ce que j'ai fait mais ça ne fonctionne pas voici le code (test) que j'ai crée pour tester la fonction puis le schéma en fichier joint correspondant Merci coupure.lsp -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Voilà j'ai trouvé ce code sur un forum anglais : ;BREAKINT.LSP ;breaks line at an intersection ; ; Reviewed & revised for A2K by Guy Dow ; 03/05/01 ; (defun c:bi ( / ss point snap echo olderr) (setq snap (getvar "osmode")) (setq echo (getvar "cmdecho")) (setq olderr *error*) (setq *error* break_error) (setvar "cmdecho" 0) (while (not ss) (setq ss (entsel "\nSelect line to break: ")) );while (setvar "osmode" 32) (while (not point) (setq point (osnap (getpoint "\nSelect intersection to break at: ") "int")) );while (setvar "osmode" snap) (command "break" ss "f" point "@") (setvar "cmdecho" echo) (setq *error* olderr) (princ) ) (defun break_error (msg) (princ (strcat "\nError: " msg)) (setvar "osmode" 0) (setvar "cmdecho" 1) (princ) ) Et je comprends que la commande coupure demande un entsel (dans mon cas pour ma polyline réseau) et des "getpoint" pour obtenir les points de coupures. Seulement, dans mon programme la poly réseau est déjà mémorisé en variable ainsi que les points ou je désire coupé (PT2 PT3) comment faire pour faire fonctionner cette commande sans utiliser getpoint et entsel ? Merci -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Bonjour Olivier , (setvar "filletrad" 1.2)(command "_fillet" "p" "_l") cette combine là d'accord mon programme actuel est celui ci-joint "ECL2" Je ne comprends pas à quel endroit la placer. ECL2.lsp -
Problème gisement + Abscisse sur une droite
mateus a répondu à un(e) sujet de mateus dans LISP et Visual LISP
Escusez moi il y a eu un beug je recommence mon message : j'essaie d'utiliser la commande _break (coupure) avant de faire mon raccord (command "_break" polyReseau "1er" PT2 PT3) Les points PT2 et PT3 correspondent aux liaisons avec le réseau (voir schéma ci-joint). Le problème c'est que la commande ne reconnait pas les deux points, comment puis-je faire pour dire à la commande c'est à l'endroit de ces deux points que je désire couper la polyline. Merci à vous.
