Bred Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 tout les blocs dynamiques sont identiquesJe ne sais pas si j'ai compris :Le truc c'est que je fait un test de la taille du bloc.Si son dynamisme lui permet d'être plus petit (A3->A4 par ex), malheureusement le code récupèreras sa taille de "base"... (j'imagine)Mais je ne connais rien au bloc dynamique, donc peut-être (surement) il y a une solution.... Si tu as ce genre de bloc (et si j'ai compris le coup du "bloc identique") si tu as un bloc du genre à joindre, je veux bien tenter.... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Patrick_35 Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 Salut Bred En regardant ton lisp, je ne comprends pas pourquoi tu transformes les coordonnées de la boundingbox pour ensuite les re mouliner en vl ?Et aussi une astuce pour éviter un vl-cmdf est d'utiliser plottodevice dans (vla-get-plot ...) Mais je ne connais rien au bloc dynamique, donc peut-être (surement) il y a une solution....De sélectionner tout les `*U* et ensuite de tester par effectivename. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
mdsv31 Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 Un bon exemple vaut mieux qu'un long discour. Voici un fichier test avec le bloc BIGC-ROMU ici le fichier test Mais ce n'est pas grave, car si on à 80 feuillets avec 4 affichage different, on lance 4 fois ton lisp est c'est toujours mieux que de faire 80 tracer. @+MDSV31 Je viens de me relire est je me suis pas bien compris. Quand je dis 4 affichages, cela veux dire que le blocs à plusieurs options de vue et rotation intégrer dans le bloc. Bon je m'enfonce de plus en plus, le fichier joint devrais etre plus comprehansible.[Edité le 24/6/2008 par mdsv31] [Edité le 24/6/2008 par mdsv31] Dessinateur Indépendant
Bred Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 Re,merci Patrick_35 je jette un coup d'œil sur tes remarques.mdsv31 : je regarde ça. Voici ci-dessous le lisp permettant de créer un onglet par cadre (identique) sélectionné.A toi de me dire, BIGC-ROMU, si c'est bon... - Voir Message 23 page 4 - [Edité le 7/7/2008 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Bred Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 pourquoi tu transformes les coordonnées de la boundingbox pour ensuite les re mouliner en vl ?Parce que la boundingbox me donne tes coordonnées 3D, et que vla-setwindowtoplot n'accepte que des points 2D.Et je n'ai pas trouvé un autre moyen de les convertir... une astuce pour éviter un vl-cmdf est d'utiliser plottodevice dans (vla-get-plot ...)Ben j'avais un problème pour les imprssion en pdf, et je n'avais pas la barre de défilement, mais en faisant une recherche ici, j'ai trouvé ton post, ou on ta proposé une solution, je vais la tester ! De sélectionner tout les `*U* et ensuite de tester par effectivename.Oui, mais il faut aussi que je traite tous les blocs "normaux", pas que les dynamique....(si le cadre est un bloc "simple" il faut que ça fonctionne)mais tu as raison, je dois pouvoir mieux filtrer... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Bred Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 Re, Re, Alors, voici un truc un peu plus fini pour le lisp d'impression de tous les cadres (bloc) sélectionné :- J'ai suivis les conseil de Patrick_35 pour éviter le vl-cmdf- J'ai réparer le problème posé par mdsv31 dans son exemple- J'en ai profiter, car ce précédent exemple posais le problème, de gérer le mode paysage ou portrait selon l'orientation du cadre... A tester.... ; imprime tous les cadre/bloc identique d'un page - par BRED - (defun c:impt (/ ACDOC B BACKGROUNDPLOT C I P1 P2 SEL XMIN YMAX PLT) (vl-load-com) (while (not sel) (setq sel (car (entsel "\n Choix du cadre (Bloc) :"))) (if sel (if (not (equal (vla-get-ObjectName (setq b (vlax-ename->vla-object sel))) "AcDbBlockReference")) (setq sel nil))) ) (setq sel (ssget '((0 . "INSERT"))) AcDoc (vla-get-activedocument (vlax-get-acad-object)) BACKGROUNDPLOT (getvar "BACKGROUNDPLOT")) (setvar "BACKGROUNDPLOT" 0) (repeat (setq i (sslength sel)) (if (equal (vla-get-effectivename (setq c (vlax-ename->vla-object (ssname sel (setq i (1- i)))))) (vla-get-effectivename b)) (progn (vla-GetBoundingBox c 'xmin 'ymax) (setq p1 (vlax-make-safearray vlax-vbdouble (cons 0 1)) p2 (vlax-make-safearray vlax-vbdouble (cons 0 1))) (vlax-make-variant (vlax-safearray-fill p1 (list (car (vlax-safearray->list xmin)) (cadr (vlax-safearray->list xmin))))) (vlax-make-variant (vlax-safearray-fill p2 (list (car (vlax-safearray->list ymax)) (cadr (vlax-safearray->list ymax))))) (if (> (- (car (vlax-safearray->list ymax)) (car (vlax-safearray->list xmin))) (- (cadr (vlax-safearray->list ymax)) (cadr (vlax-safearray->list xmin)))) (vla-put-PlotRotation (vla-get-activelayout AcDoc) ac90degrees) (vla-put-PlotRotation (vla-get-activelayout AcDoc) ac0degrees)) (setq plt (vla-get-plot AcDoc)) (vla-put-PlotType (vla-get-activelayout AcDoc) acWindow) (vla-setwindowtoplot (vla-get-activelayout AcDoc) p1 p2) (vla-plottodevice plt (vla-get-configname (vla-get-activelayout AcDoc))) ) ) ) (setvar "BACKGROUNDPLOT" BACKGROUNDPLOT) (princ) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
mdsv31 Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 Salut BRED, Bon tout est OK chez moi (AAC2008) Je regade le lisp pour faire les presentations plus tard. Merci Beaucoup. @+MDSV31 Dessinateur Indépendant
BIGC-ROMU Posté(e) le 24 juin 2008 Auteur Posté(e) le 24 juin 2008 je ne sais pas si la proposition de x_all te conviens,Il semblerais que tous leurs dessins sont superposés dans l'EO, et ce n'est pas cela que je souhaite... Voici ci-dessous le lisp permettant de créer un onglet par cadre (identique) sélectionné.A toi de me dire, BIGC-ROMU, si c'est bon... C'est exactement ça l'idée... Par contre sur chaque onglet j'ai 2 fenêtres:- une grosse centrée sur la page, à une échelle batarde et qui représente tous l'EO (grosso modo, un onglet créer avec Nouvelle Présentation)- Une petite à l'echelle 1 située en bas à gauche de chaque onglet et affiche bien un bloc différent dans chaque onglet. Et je ne sait pas comment fair pour régler par défaut mon format d'impréssion avant de lancer le lisp, car je n'ai que des présentations A4... Pour Ie lisp Impt, j'ai rien à dire pour le moment, il faut que je le teste un peu... A+
lili2006 Posté(e) le 24 juin 2008 Posté(e) le 24 juin 2008 Bonsoir à toutes et tous, Que quelqu'un me sorte une seul réflexion dans un post ou j'ai fais des remarques désobligeante, ce serait bien pour moi, car je ne m'en suis pas aperçu.... Jamais eu l'occasion de voir ça, et moi aussi, j'traine un peu sur ce forum,.. Pour te rassurer, j'apprécie ta participation, le partage de ton expérience et t'en remercie.Je suis même époustouflé par ta progression en développement en lisp/vlips, tu es vraiment un passionné, comme certain autre membres d'ailleurs (ils se reconnaitront) Pas mieux que Bonuscad en ce qui me concerne,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
x_all Posté(e) le 25 juin 2008 Posté(e) le 25 juin 2008 Il semblerais que tous leurs dessins sont superposés dans l'EO, et ce n'est pas cela que je souhaite... en fait, un carnet de détail, ça ressenble à ça en EO... http://img247.imageshack.us/img247/4162/ecrancarnetyv6.jpg les cadres sont des polygone isolé dans un calque "mise en page" et ce sont ces polygones qui sont imprimé "a l'ancienne" en mode fenêtre... je vais essayer le lisp de Bred, si j'ai un peu de temps, mais je sais pas trop si c'est judicieux de créer une 100taine d'onglets de présentation... à voir...ça me permettrai peut etre avec "ong" de gérer mes différente impression en réglant les propriété des onglets... car là j'ai un lisp par format (en fait j'ai 4 lisp pour A4, A3, en NB et en couleur) quelques trucs sur autocad
Bred Posté(e) le 25 juin 2008 Posté(e) le 25 juin 2008 Salut,je vais essayer le lisp de Bred, si j'ai un peu de temps, mais je sais pas trop si c'est judicieux de créer une 100taine d'onglets de présentation...ça ne va pas fonctionner, si tes cadres ne sont pas des blocs. PS : merci lili2006. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
mdsv31 Posté(e) le 25 juin 2008 Posté(e) le 25 juin 2008 Bien le bonjour tous le monde. Bred,Aprés test de ton lisp CED, cela crée des fenetre mais je pense qu'il y a un ptit probléme d'echelle qui à mon avis de non programme n'est pas réalisable sans un tres gros travail. Voici un fichier avec le résultat donné ICI @+MDSV31 Dessinateur Indépendant
lili2006 Posté(e) le 25 juin 2008 Posté(e) le 25 juin 2008 Bonjour à toutes et tous, Je vois que tu as covadis d'installé et que c'est lui qui te génére les profils. Utilises alors la fonction de covadis qui permet le tracé en série des profils,...Désolé je n'ai pas le progiciel sous la main et ne me rapelle plus de mémoire la manip à faire.Eventuellement, repost ta question sur le forum Covadis, Thierrygarré , ou un autre te répondra rapidement,... Mais je vais aussi tester le lisp de Bred Ps: C'est normal Bred, au vu de tout ce que tu fais pour ce forum (et pour moi également,...). [Je tente de revenir sur le "bug" rencontré sur la v2009 dans la journée,...] Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
x_all Posté(e) le 25 juin 2008 Posté(e) le 25 juin 2008 slt lili2006, si c pour moi que tu dis Je vois que tu as covadis d'installé et que c'est lui qui te génére les profils. Utilises alors la fonction de covadis qui permet le tracé en série des profils,... ben oui, je sais le faire... mais je parlais du lisp qui reprend cette fonctionnalité hyper pratiquesur l'exemple que j'ai mis, c'est effectivement un fichier covadis, mais on se sert du lisp pour sortir les carnets de ferraillage qui on exactement le même aspect sur des postes de bétonneux qui n'ont pas covadis. je suis le seul a trainer sur cadxp dans la boite, mais les 3 dessinateur béton qui sortent des cahiers de ferraillage (courrament 60 à, 100 pages) ont appris a remercier lovcraft dans leur prières ... et ceux malgrés les bugs de l'imprimante DWGtoPDF qui nous polue de petits décalages aléatoires pour mémoire le sacrosaint bout de code qui nous fait gagner des heures... quelques trucs sur autocad
lili2006 Posté(e) le 25 juin 2008 Posté(e) le 25 juin 2008 Re, En effet x_all, c'est bien à toi que je m'adressai (désolé !). En revisionnant le post que tu met en lien, je me rapelle avoir testé aussi.En fait, je préfère crééer une vue dans l'EO, ensuite je la lie avec une présentation.L'ensemble sous forme de gabarit et je n'insère que les vues qui m'intéresse dans le projet en cours, puis je lance la publication et pendant ce temps, je continu mon travail,...Bien sûr, les onglets de présentation sont déjà réglés à l'echelle, verouillés et paramétrés sur l'imprimante,..(Idem pour les grands formats d'ailleurs !) Exemple ci-joint Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Bred Posté(e) le 26 juin 2008 Posté(e) le 26 juin 2008 Salut,pour en revenir à la seconde demande : création d'un onglet par cadre en EO.(mais pas la demande spécifique de 2 fenêtres avec plan total + détail : on verra plus tard....) J'ai pondu un truc, mais j'ai un bug bizarre : l'échelle n'est pas bonne... Le principe :Vous devez avoir au moins 1 présentation paramétrer correctement (traceur, échelle....) - Vous sélectionnez un cadre (bloc) en EO- Vous sélectionnez tous les cadres identiques que vous voulez traiter- Vous donnez un nom d'onglet (qui sera incrémenter de +1)- Si vous avez déjà plusieurs présentation existantes, vous devez rentrer le nom de celle qui serviras de base pour le traceur et l'échelle (mais c'est là que c'est bizarre...)- Vous validez. Merci d'avance pour vos éventuels tests. PS : J'ai repiquer et retravailler une routine de récupération de style de traceur fait par Patrick_35. - Voir Message 23 page 4 - [Edité le 7/7/2008 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bonuscad Posté(e) le 26 juin 2008 Posté(e) le 26 juin 2008 ça ne va pas fonctionner, si tes cadres ne sont pas des blocs. Vu la "gueule" des cadres, il lui est facile de créer un bloc créer d'un rectangle et de l'appliquer en mode "Réseau" ("_.-ARRAY") "Rectangulaire" ! Après j'ai pas essayé ta routine Bred... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 26 juin 2008 Posté(e) le 26 juin 2008 Bonjour à tous. Bred :Pour recopier la config, tu as pris un ancien lisp que j'ai amélioré ensuite avec vla-copyfromSyntaxe : vla-copyfrom Layout_Destination Layout_Origine. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
BIGC-ROMU Posté(e) le 1 juillet 2008 Auteur Posté(e) le 1 juillet 2008 Bonjour à tous, désolé d'avoir délaissé se post quelque jours... en fait, un carnet de détail, ça ressenble à ça en EO... désolé X-all, je suis passé trop vite sur ton poste...mais je souhaite utiliser des blocs dynamiques, et apparament ton lisp ne fonctionne qu'avec des polygones. L'impression par les onglets permet d'imprimer des feuillets avec des folios d'orientations différentes et dans l'ordre souhaité.De plus l'impréssion par les onglets permet de créer des fichiers DWF de plusieur pages d'un seul coup. Ce qui permet d'éviter de fusionner divers fichiers DWF dans l'explorateur windows, qui nécessite aprés coups une réorganisation des pages dans le DWF finale.Concernant le temps de publication, je la lance en arriére plan (outils => options => tracer et publier => options de traitement en arrière plan) ce qui me permet de continuer à travailler.Dans le cas d'urgence, je remet le tracé en avant plan. Bred , aprés test de CEP, moi aussi j'ai un problême d'échelle..Ma présentation de départ contient une fenêtre à l'échelle 0.2...Tandis que les nouvelles présentations créées avec CEP contiennent une fenêtre à l'échelle 1000... Oups, mais celles-ci semble axées sur leurs présentations (en pin's)... Tiens moi au courant ... A+
grand_sapin Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Bonjour, tout d'abord merci Bred d'avoir élaboré cette routine qui me fera gagner énormément d'HEURES !!! Cependant, est-il possible quelle ne fonctionne pas sous AutoCAD 2005 ? Il me semble que c'est au moment de la création des onglets qu'il me met ce message : Commande: cep Choix du cadre (Bloc) : Choix des objets: Spécifiez le coin opposé: 45 trouvé(s) Choix des objets: Nom des Onglets à Créer :PT-1 ; erreur: no function definition: VLA-GET-EFFECTIVENAME Commande: Saurais-tu d'où cela peut provenir ? Merci Rémy
Bred Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Salut Patrick_35Pour recopier la config, tu as pris un ancien lisp que j'ai amélioré ensuite avec vla-copyfromSyntaxe : vla-copyfrom Layout_Destination Layout_Origine.En effet (et je t'ai cité, encore merci) Pour le vla-copyfrom, c'est vu, j'ai corrigé (ci-dessous).encore merci. [surligneur]Question : Je n'ai pas trouvé le moyen de travailler dans chaque onglet sans l'activer...Y-a t'il un moyen ? - merci -[/surligneur] BIGC-ROMU :Ma présentation de départ contient une fenêtre à l'échelle 0.2...Tandis que les nouvelles présentations créées avec CEP contiennent une fenêtre à l'échelle 1000... Oups, mais celles-ci semble axées sur leursmmm... je triche en fait, c'est moi qui passe l'échelle de la fenêtre à 1000....C'était pour tester, et j'ai plus fais gaffe....C'est corrigé. (ci-dessous) grans_sapin :Cependant, est-il possible quelle ne fonctionne pas sous AutoCAD 2005 ? ça devais être à cause du vl-load-com oublié dans la sous-routine... mais on n'en a plus besoin dans cette nouvelle version : - Voir Message 23 page 4 - [Edité le 7/7/2008 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Patrick_35 Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 En effet (et je t'ai cité, encore merci)J'ai remarqué et je t'en remercie ;) [surligneur]Question : Je n'ai pas trouvé le moyen de travailler dans chaque onglet sans l'activer...Y-a t'il un moyen ? - merci -[/surligneur]Surement, c'est pour faire quoi ?Juste une indication si elle répond à ta question.Dans un layout, tu remarqueras que tu as la propriété block. Un vlax-for du block de donneras tous les éléments présents dans ton layout (dont le premier élément est le fameux viewport "général" de la présentation, celui qui nous embête avec un (ssget "x" '((0 . "VIEWPORT"))) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
BIGC-ROMU Posté(e) le 1 juillet 2008 Auteur Posté(e) le 1 juillet 2008 mmm... je triche en fait, c'est moi qui passe l'échelle de la fenêtre à 1000.... Serait il possible que l'on puisse choisir notre propre facteur d'échelle avant la création des onglets? On se rapproche du but final!!!!
Bred Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Surement, c'est pour faire quoi ?C'est pour améliorer mon lisp ci-dessus : quand je crée la fenêtre dans une présentation, je n'arrive pas à le faire sans l'activer...vla-AddPViewport n'a l'air de prendre en object que "PaperSpace collection"... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
grand_sapin Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Re, Désolé de t'importuner encore Bred, mais la routine bloque toujours au même endroit. Cela viendrait-il du fait que dans AutoCAD 2005, les blocs dynamiques n'existaient tout bonnement pas ? et par conséquent, tu as utilisé des variables ou des commandes inconnues de ma version ? j'ai testé sur une version 2006, tout fonctionne super, c'est génial, puis j'ai testé sur une autre version 2005, et l'erreur est la même. voila l'état de la chose. Merci encore
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