CadFrank
Membres-
Compteur de contenus
141 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par CadFrank
-
routine de Lee Mac
-
Bonjour à tous, Je cherche à créer une routine lisp pour faire le décompte d'item particulier. J'ai déja trouvé un program concu par Lee Mac qui fonctionne à merveille par contre il compte tous les blocs. Et moi je cherche à faire en sort qu'il ne compte que ceux qui sont important. J'aimerais si possible savoir ce que je devrais utilisé comme fonction pour y arrivé. Merci !
-
Bonjour, me voici a la recherche d'information concernant les attributs dans un block. Je suis capable de trouver le ou est la valeur avec (setq blk(vlax-invoke blk 'GetAttributes)) en inspectant blk il me retourne : (#<VLA-OBJECT IAcadAttributeReference 0000000040d51648>) Je sais que le TextString est la valeur que je veux changer. J'ai essayer avec Vla-get-TextString & Vla-put-TextString. par contre il me retourne toujours une erreur. Je crois qu'il me manque quelque chose. J'ai chercher un peu partout sur le net mais j'ai rien trouver. Donc j'aimerais votre aide si possible. N'hésité pas a me poser des question si je n'est pas ete asser claire. Merci d'avance.
-
Routine besoin d'aide.
CadFrank a répondu à un(e) sujet de CadFrank dans Pour aller plus loin en LISP
Bonjour usegomme, merci pour l'information donné en ce qui concerne le (vl-load-com) c'est seulement parce que je n'est pas ecrit tout mon code donc p-e ici il ne sert a rien mais dans le reste oui. Merci ! -
Bonjour, j'ai un code et j'aimerais faire en sorte qu'une des mes expressions soit pris en concidération si cette expression equivaut la meme chose que la valeur donnée d'une autre expression. Voici le code : (defun c:grue ( / R-fleche N-tour) (vl-load-com) (initget 1 "170 210 290 550") (setq typ-Grue (getkword "\n Donner le type de grue : \n [170, 210, 290, 550] ")) (if (= typ-Grue 170) (progn (initget 1 "60m 54m 50m 44m 40m 34m 30m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [60m, 54m, 50m, 44m, 40m, 34m, 30m] ")) ) (= typ-Grue 210) (progn (initget 1 "64m 60m 54m 50m 44m 40m 34m 30m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [64m, 60m, 54m, 50m, 44m, 40m, 34m, 30m] ")) ) (= typ-Grue 290) (progn (initget 1 "74m 70m 64m 60m 54m 50m 44m 40m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [74m, 70m, 64m, 60m, 54m, 50m, 44m, 40m] ")) ) (= typ-Grue 550) (progn (initget 1 "80m 74m 70m 64m 60m 50m 40m") (setq R-Fleche (getkword "\n Donner le rayon de la flèche : \n [80m, 74m, 70m, 64m, 60m, 50m, 40m] ")) ) ) ) (initget 1 "4 5 6 7 8 9 10 11") (setq N-tour (getkword "\n Donner le nombre de tour : ")) (Fleche) (Tour) (princ) );defun c Donc, pour compléter mon explication j'aimerais que par example si je repond a la premiere question 290 que le setq R-fleche de celui-ci soit activé. Alors que j'ai déja essayé plusieur chose je ne sais pas ou je devrais regarder pour aller plus loin. Donc, c'est pour cela que je fais appel a votre aide. Salutation et merci d'avance.
-
Visibility state & look up
CadFrank a répondu à un(e) sujet de CadFrank dans Pour aller plus loin en LISP
Voici le fichier autocad des 3 block dynamic. et voici l'extrait dee code que j'ai commencé : (defun c:Grue () (initget 1 "74m 70m 64m 60m 54m 50m 44m 40m") (setq B-Radius(getkword "\n Donner le rayon de la flèche : ")) (vl-load-com) (setq adoc (vla-get-activedocument (vlax-get-acad-object))) (vla-item (vla-get-blocks adoc) "LC CHARGE 290") ;(initget 1 "170 210 290 550") ;(setq tower-serie(getkword "\nDonner le modele de la grue : ")) (setq fleche (entlast)) (setq fleche (vlax-ename->vla-object fleche)) (vlax-dump-object fleche) (setq dbp (vla-getdynamicblockproperties fleche)) (setq dbp (vlax-variant-value dbp)) (setq dbp (vlax-safearray->list dbp)) (setq bp (car dbp)) (vlax-dump-object bp) (setq ListeAdmis (vlax-safearray->list (vlax-variant-value (vla-get-AllowedValues bp)))) (setq ListeAdmis (mapcar 'vlax-variant-value ListeAdmis)) (vla-put-value bp B-Radius) );defun c: -
Bonjour, Je cherche de l'information sur comment modifier le visibility state et le look up d'un block dynamic. En premier, il me faudrais savoir comment selectionné ses block, les mettres dans une list et ensuite les modifier. Donc je peux vous fournir plus d'information si nécessaire. Merci à lavance. Bon désolé pour le manque d'information j'ai été pris avec quelque chose d'urgent au bureau. Alors pour continuer a mieux expliquer. dans le fond j'ai 3 block avec la meme visibility state. Et je veux les changer en meme temps sans avoir a faire une sélection du genre ssget.
-
Notes Générale dans un cartouche
CadFrank a répondu à un(e) sujet de CadFrank dans LISP et Visual LISP
Merci pareil tes conseil mon quand meme aider. De mon coter je n'ai que 2 personne qui on acces au fichier -
Notes Générale dans un cartouche
CadFrank a répondu à un(e) sujet de CadFrank dans LISP et Visual LISP
J'ai bien saisi comment utilisé la ATTIN & ATTOUT. Mais je ne peux créer un lien qui m'envoie directement a un fichier excel Dans le font je veux transferer sans copier coller les valeur de mon excel a mon fichier txt. -
Notes Générale dans un cartouche
CadFrank a répondu à un(e) sujet de CadFrank dans LISP et Visual LISP
Ah apres quelque petite vérification je crois bien que je pourrais faire ce que j'ai besoin vu jai déja un excel de crée avec tout les données. Par contre, les données du fichier text ce modifi tel si je modifi mon fichier excel meme si je n'ouvre pas mon fichier text. -
Notes Générale dans un cartouche
CadFrank a répondu à un(e) sujet de CadFrank dans LISP et Visual LISP
je ne sais pas trop comment faire. j'ai essayer avec le property table. Mais tu peux quand faire un et j'en aurait besoin de plusieur. j'ai bien un excel avec tout ses valeurs. par contre je ne sais pas comment utilisé excel pour les transporter a mon dessin. Si tu aurait p-e un tutoriel quelque part qui expliquerais se que tu veux dire sa serait grandement apprécié Merci! Je cherche dans un premier temps la meilleur solution pour moi. Donc n'hésité pas a me donner plein d'idée! Salutation! -
Bonjour, J'aimerais savoir s'il y aurait un possibilité de rendre mon texte dans ma cartouche plus rapide d'utilisation. Dans ma cartouche j'ai plusieurs données qui. Pour vous mettre en context, je suis dessinnateur technique pour des grues a tour. Donc, dans mon texte les choses qui change sont les hauteurs de grue et le rayon de travail. C'est de élément réunit il donne les réactions de la grue. Je vous transmet ici le fichier dwg des note générale. Ce qui est en rouge est sujet a changer. Merci pour votre aide !
-
Bien Merci Gile. Par Contre un certain Lee Mac ma réferer sur TheSwamp sur cette page ici avant. Alors je te remerci doublement. Salutations!
-
Bonjour a tous, Je cherche une routine une peu comme Wipeout mais qui fais aussi des arcs. comme dans la commande pline avec le menu arc/halfwidth/lenght/undo/width y aurait-il une routine fessable pour cela. Merci d'avance!
-
Ouais j'avoue que sa fais beaucoup Donc tout les variables sauf les points c sa Je suis entrein d'étudier la fonction entmake voir si elle ne pourrais pas etre utilse dans ma routine ... Si je me trompe pas c'est comme sa qu'on apprend :)
-
Euh messemble qu'il est ds le fichier autocad que j'ai fourni a la fin du msg p-e j'ai ouble je vais vérifier. Mais j'aimerais savoir si j'ai bien localiser mes variable locale et mes arguments? svp :mellow:
-
Désolé j'ai pas penser avant de poster j'étais deja dans routine lisp. donc avec une virgule je peux créer plusieur calque en meme temps. Alors un gros merci
-
Bonjour à tous, Voici un routine que j'ai créer. Ce but consiste a coffrer les cotés d'une pourtre de béton. ma question est la suivante. Est-elle bien structuré ou y aurait-il un moyen plus rapide que la sélection de 2 point pour créer mon coffrage. Voici le code (defun NouveauCalque () (Command"_layer" "_n" "-LU BOIS" "_C" "41" "-LU BOIS" "" "") (Command"_layer" "_n" "-LU CONTREPLAQUÉ" "_C" "40" "-LU CONTREPLAQUÉ" "" "") ) (defun c:cofp (/ rep pt1 pt2 os) (setq pt1 (getpoint "\nPointez le premier point ! ")) (setq pt2 (getpoint "\nPointer le second point ! ")) (setq os (getvar 'OSMODE)) (setvar 'OSMODE 0) (initget 1 "G D") (setq rep (getkword "\nChoisir un côté de poutre [Gauche/Droite] ")) (if (= rep "G") (progn (setq pt3 (list (- (car pt2) 20) (- (cadr pt2) 20))) (setq pt4 (list (- (car pt1) 20) (cadr pt1))) (setq pt5 (list (- (car pt4) 90) (+ (cadr pt4) 20))) (setq pt6 (list (- (car pt4) 90) (cadr pt4))) (setq pt7 (list (car pt3) (- (cadr pt3) 38))) (setq pt8 (list (car pt3) (- (cadr pt3) 76))) (command "_insert" "2x4" pt6 "" "1" "") (setq blc1 (entlast)) (command "_insert" "2x4" pt7 "" "1" "") (setq blc2 (entlast)) (command "_insert" "2x4" pt8 "" "1" "") (setq blc3 (entlast)) );progn );if (if (= rep "D") (progn (setq pt3 (list (+ (car pt2) 20) (- (cadr pt2) 20))) (setq pt4 (list (+ (car pt1) 20) (cadr pt1))) (setq pt5 (list (+ (car pt4) 90) (+ (cadr pt4) 20))) (setq pt6 (list (+ (car pt4) 90) (cadr pt4))) (setq pt7 (list (car pt3) (- (cadr pt3) 38))) (setq pt8 (list (car pt3) (- (cadr pt3) 76))) (setq pt9 (list (+ (car pt6) 90) (cadr pt4))) (setq pt10 (list (car pt5) (- (cadr pt3) 38))) (setq pt11 (list (car pt5) (- (cadr pt3) 76))) (command "_insert" "2x4" pt9 "" "1" "") (setq blc1 (entlast)) (command "_insert" "2x4" pt10 "" "1" "") (setq blc2 (entlast)) (command "_insert" "2x4" pt11 "" "1" "") (setq blc3 (entlast)) );progn );if (NouveauCalque) (command "_rectangle" pt1 pt3) (setq rec1 (entlast)) (command "_rectangle" pt4 pt5) (setq rec2 (entlast)) (command "_rectangle" pt5 pt8) (setq rec3 (entlast)) (command "_chprop" blc1 blc2 blc3 rec3 "" "_la" "-LU BOIS" "" "") (command "_chprop" rec1 rec2 "" "_la" "-LU CONTREPLAQUÉ" "" "") (setvar 'OSMODE os) (princ) );defun c: voici ce qui est nécessaire pour tester la routine. Sincére salutations a tous !
-
Bonjour, En tant que nouveau lispeur j'aimerais connaitre la meilleur facon de creer des calques dans un lisp. soit la "_layer" que je connais et serais simple. par contre j'ai plusieur calque a creer alors y aurait-il une facon plus rapide. Merci de vos réponse.
-
Désolé, c'est peut-etre moi qui lit mal ou bien qui interpret mal se que tu veux explique. Si ce n'est pas trop demander aurait tu une autre facon de l'expliquer? sinon ce n'est pas trop grave je vais essayer de relire jusqu'a ce que sa me rentre dans la tete merci beaucoup pour ton aide elle est tres apprécié.. mes sincère salutations!
-
Merci pour ta réponse, quoi que je ne suis pas plus le comment choisir locale ou globale. c'est p-e moi qui pige pas le LISP comme il le faut. La seule chose que j'ai remarqué c'est que la commande spirale divague un peu et aboutti a une erreur apres avoir tourné en ronde sans comprendre pourquoi elle s'arrete Salutations!
-
Bonjour Gile, Finalement j'ai trouver l'erreur de mon code, ce qui se trouve entre parenthèse apres le defun ne sont pas des variables locales mais des arguments. j'ai quand même une question je comprend la différence entre une variable locale et une variable globale. Par contre, ce que me tracasse le plus est le quand es-ce que dans ma routine je decide quel est locale ou globale. Salutation et remerciment !
-
Bonjour Gile, J'ai commencer a lire le sujet dont tu me parle et je croit bien que c'est le type d'information que j'ai besoin pour m'instruire sur le LISP. Pour répondre a ceci non le bouquin n'explique rien sur les erreurs. Il donne plus de l'info sur les fonctions + des petites routines avec les fonctions inclu. Par contre je croit que en prennant le temps de lire quelque sujet sur ce site je réussirai a apprend bien vite. Merci encore te ton aide précieux.
-
Bonjour Gile, Bien que je comprenne ton point de vue sur mon apprentissage et que je la respecte. j'essaie de trouver des truc pour augmenter la vitesse de travail ou je travail. Malheureusement j'ai tout les idee de comment dans la tete et je veux les réaliser haha!! j'ai quand même réussi a faire une certaine partie des chose que je voulais avec ce que Maxence DELANNOY dit. je comprend un peut se que sa veux dire pas tout mais bon ca va venir. Bon sur ce bonne journée !
-
j'ai trouver un post qui donne la methode pour le faire le voici Et un gros merci!
