lolb75 Posté(e) le 20 décembre 2011 Partager Posté(e) le 20 décembre 2011 Bonjour a tous, Je remercie encore Didier pour son lsp d'hier qui me rend vraiment service.J'ose encore faire appel à vous, je sais j'abuse mais bon....J'ai besoin d'une commande qui puisse inscrire dans l'étiquette de mon blocla valeur du point nodal ou il est inseré.je joins un fichier avec 2 des blocs (j'en ai une centaine...). merci d'avance Amicalementessai bloc.zip Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 20 décembre 2011 Partager Posté(e) le 20 décembre 2011 Coucou tu fais exprès de compliquer les choses (hihi) dans le fichier que tu envoies il n'y a pas de point nodalce qui empêche de comprendre ça :la valeur du point nodal ou il est inséré. c'est quoi cette valeur qu'il faut prendre ? est-ce que tu veux insérer le bloc comme dans mon lispmais en regardant si à cet endroit (point nodal)il y a un bloc inséré et qui a une étiquette "identifiant" renseignée amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolb75 Posté(e) le 20 décembre 2011 Auteur Partager Posté(e) le 20 décembre 2011 Hello Didier, Houaou!! quelle rapidité! Decidement je fais n'importe quoi!il faudrait que le bloc "prenne" (en sélectionnant le bloc par exemple?)le Z du point nodal où il est inseré.Je ne sais pas comment expliquer autrement... Voilà un autre fichier en pièce jointe Amicalementessai bloc-1.zip Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 Coucou je t'ai retapé un truc aussi vite faittu me tiens au courant... amicalementlolb75 CadXP 02.LSP Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolb75 Posté(e) le 21 décembre 2011 Auteur Partager Posté(e) le 21 décembre 2011 hello Didier, 1000 merci, mais hélas ça ne fonctionne pas...voici le message: Choix des objets: 1 trouvé(s)Choix des objets:Choix des objets: 1 trouvé(s)Choix des objets:; erreur: type d'argument incorrect: numberp: nil mais la commande serait parfaite autrement... a+ Amicalement Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 Coucou comme je te le disais c'est vite fait, donc les contrôles sont absentsd'abord il faut sélectionner les points (points AutoCAD)ensuite sélectionner les blocs (qui contiennent un identifiant) ensuite ça devrait marcher seul tiens-moi au courant. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolb75 Posté(e) le 21 décembre 2011 Auteur Partager Posté(e) le 21 décembre 2011 :( ben heu c'est ce que j'ai fait!....et meme en recommencant plusieurs fois toujours le meme message....Désolé... A+ Amicalement Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 coucou est-ce que tu as bien un point au point d'insertion du blocmets un fichier sur dlfree pour que je regarde. parce que avec tests exemples ça fonctionnemais il n'y a que deux blocs alors c'est pas quantifiable. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolb75 Posté(e) le 21 décembre 2011 Auteur Partager Posté(e) le 21 décembre 2011 hello, et voilà le nouveau fichier!merci d'avance et si ça n'est pas possible, tant pis... Amicalementessai bloc-2.zip Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 Coucou dans le fichier que tu envoiesil y a des blocs qui n'ont pas d'identifiants. je demande au programme de copier cette valeurs'il n'y en a pas !!! plantageje te l'ai bien dit, pas de contrôles. si tu veux aller plus avant soit il faut que tu donnes un vrai fichier exemplesoit il faut que tu sélectionnes des objets qui contiennent les éléments attendus. en lisp on peut faire plein de trucs, mais pas se mettre dans la tête de celui qui a dessiné. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolb75 Posté(e) le 21 décembre 2011 Auteur Partager Posté(e) le 21 décembre 2011 hello, bon voici un autre fichier avec explication,j'espère que ça sera plus compréhensible?Pas facile d'expliquer se qu'on a en tête, surtout que dans la mienne c'est peu le bazar... :D merci encore A+ Amicalementessai bloc-3.zip Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 Coucou je te demande un effort j'en ferai un en retour. que faut-il faire EXACTEMENT tu demandes de trouver l'identifiant et de le coller dans l'attribut du bloc qu'on insère mais il n'y a pas d'identifiant dans les blocs dessinés (arbres, poteaux...) donc je te demande de décrire pas à pas ce qu'il y a à faireexempleprendre l'altitude du pointlire l'identifiant du blocdessiner un bloc (point topo) avec identifiant et altitude ou bien cliquer le bloc dessiné (arbres, poteaux...)clique le point nodaldéplacer le bloc dessiné à l'attitude du point nodal. franchement je ne comprends plus ta demande. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolb75 Posté(e) le 21 décembre 2011 Auteur Partager Posté(e) le 21 décembre 2011 re re hello J'ai besoin d'une commande qui puisse inscrire dans l'attribut "altitude"de mon blocla valeur du point nodal ou il est inseré. Peut etre: cliquer le bloc dessiné (arbres, poteaux...)(il ont tous des attributs)cliquer le point nodalet ça inscrirai le Z du point nodal dans l'attribut "altitude". heu apres je ne sais plus comment expliquer.... :( ci joint un autre fichier Amicalementessai bloc-4.zip Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 Coucou il semble que j'aie mal compris.j'ai fait une fixette sur les identifiants, sans doute à cause du premier lispil fallait me détromper plus tôt. essaie ce nouveau programmemais il faut qu'il n'y ait à l'écran que les points à traiter et les blocscar si tu sélectionnes un bloc où il y a deux pointsça va planter si ça te va on va pouvoir entrer dans les contrôles... amicalementlolb75 CadXP 03.LSP Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 Coucou pour mémoirequatre-vingt-dix-neuf pour cent des soucis proviennent d'une incompréhension entre les gens. à ne jamais perdre de vue. il est bien préférable d'expliquer en français dans le texte quitte à expliciter dans le détailque de croire que l'autre va comprendre de lui-même... amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 Salut Quelque chose dans ce style ?(defun c:alt(/ blo doc ent sui) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (while (setq ent (entsel "\nChoisissez le point nodal : ")) (and (setq ent (entget (car ent))) (eq (cdr (assoc 0 ent)) "POINT") (while (and (not sui) (setq blo (entsel "\nChoisissez le bloc associé : "))) (and (setq blo (vlax-ename->vla-object (car blo))) (eq (vla-get-objectname blo) "AcDbBlockReference") (progn (setq sui nil) (foreach att (vlax-invoke blo 'getattributes) (and (eq (strcase (vla-get-tagstring att)) "ALTITUDE") (progn (vla-put-textstring att (cadddr (assoc 10 ent))) (setq sui T) ) ) ) (or sui (princ "\nBloc sans l'étiquette \"ALTITUDE\"")) ) ) ) ) ) (vla-endundomark doc) (princ) ) @+ ps : le temps d'écrire le lisp et la réponse de Didier arrive ;) Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lolb75 Posté(e) le 21 décembre 2011 Auteur Partager Posté(e) le 21 décembre 2011 merci a tous les 2 le deuxième fonctionne très bien, malheureusement Didier le tiens me donne toujours le meme message... Mais merci a toi d'avoir été si patient et c'est vrai que quand on est dans son "truc" on ne fait pas forcement assez d'effort pour etre compris, le principal est de trouver une solution... Merci encore et c'est promis j'vous embête plus!...Enfin jusqu'a la prochaine fois.... :) A+ Amicalement Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 21 décembre 2011 Partager Posté(e) le 21 décembre 2011 coucou c'est cet esprit oui. j'ai juste fait une sélection par capturepuis je compare les coordonnées du point nodal et du point d'insertion du blocpour savoir sur quel bloc affecter le z du point nodalpuis une boucle passe au point nodal suivant. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
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