Aller au contenu

Chrisfs

Membres
  • Compteur de contenus

    34
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Chrisfs

  1. Salut, dans le VBA d'autocad, il faut utiliser la propriété "hasattributes" pour verifier qu'une reference de bloc possède des attributs, ensuite, utiliser la méthode "Getattributes" pour les manipuler. Ci dessous un bout de code que j'utilise pour dupliquer entre 2 reference de blocs, ce que j'ai mis comme valeur d'attribut "PROJET" (par exemple) : TAGSTRING est la propriété pour le 'nom' de l'attributs TEXTSTRING est la propriété pour la 'valeur' de l'attribut. voila, ce petit bout de code, te permettra de comprendre comment manipuler les attributs en VBA. Salutations,
  2. Chrisfs

    Impression sous vba à l\'aide

    Salut, Pour ta routine VBA, le mieux est de redefinir de A à Z l'impression . Voici un bout de ma routine d'impression de carnet de détails, pour que tu puisse comprendre comment fonctionne l'impression en VBA : *** ThisDrawing.Activelayout.ConfigName = "PDF995.PC3" ThisDrawing.ActiveLayout.CanonicalMediaName= "A3" ThisDrawing.ActiveLayout.PaperUnits= acMillimeters ThisDrawing.Regen acAllViewports ptz1(0) = pt1(0) ptz1(1) = pt1(1) ptz2(0) = pt2(0) ptz2(1) = pt2(1) ZoomWindow ptz1, ptz2 ThisDrawing.ActiveLayout.SetWindowToPlot pt1, pt2 ThisDrawing.ActiveLayout.PlotType = acWindow plotech = ScaleCart(numerocart) * blkscale * Scale01 ThisDrawing.ActiveLayout.SetCustomScale 1, plotech ThisDrawing.ActiveLayout.PlotRotation = AngCart(numerocart) ThisDrawing.ActiveLayout.CenterPlot = True On Error Resume Next Select Case StrAcadVer Case "ACAD2002", "ACAD2004" ThisDrawing.Plot.PlotToDevice Case "ACAD2006" ThisDrawing.SetVariable "BACKGROUNDPLOT", 0 ThisDrawing.Plot.PlotToDevice ThisDrawing.SetVariable "BACKGROUNDPLOT", 1 Case Else End Select *** Explication : Je définis l'imprimante, le papier, et en millimetres Pt1 et Pt2 sont les 2 points limites d'un cartouche de dessin. J'en récupere les coordonnées x,y de chaque points (cela devient Ptz1 et Ptz2). Je fais un zoom sur la zone à imprimer. Je définis une impression de type fenêtre, avec les points Pt1 et Pt2 Je regle l'echelle d'impression suivant l'echelle du cartouche (suivant les projets, je change l'echelle d'un cartouche pour faire rentrer completement mon dessin). Je centre le dessin sur le papier. Je verifie la version d'autocad et je lances l'impression. En effet, suivant les dernieres versions d'autocad, il y a la fonction impression en arrière-plan. avec la variable BACKGROUNDPLOT, je la desactive. *** Cette routine fonctionne parfaitement (ça fait + 6 mois qu'elle tourne sans problème sur les 2 postes de dessinateur de l'agence où je suis). Cette routine couplée à une autre qui scanne le dessin complet à la recherche de blocs "Cartouches", et je passe au maximum 2mn pour imprimer un carnet de détails de 25 pages :D Voila, si besoin de plus de conseil, n'hesite pas... Christophe Rosé, Dessinateur-metreur Etanchéité bon, je retourne à ma p'tite routine de nettoyage de fichier DA
  3. Chrisfs

    Trou de mémoire xrefs...

    y a aussi la commande REDIR (du menu express) qui est sympa quand il y a un paquet de xref dans le dessin. Christophe :P
  4. Chrisfs

    Pince-mi, pince-moi

    On à eu les 2 modèles (taille standard et ceux de 12cm). Par contre ça pince très très fort :) pour inf, les modèles standard sont commandable à 8€ le pack de 6 pinces, et il y a 13 coloris au choix. les kutchs aussi sont sympa... Profitez du prochain BATIMAT pour visiter leurs stands (si vous êtes sympa, ils en offre)
  5. Chrisfs

    Pince-mi, pince-moi

    Salut, Comme client de ce fournisseur (et de garde-corps) d'aluminium, on l'a en cadeau dans ma boite :) :) :) assez pratique comme pour tenir une photo.
  6. Chrisfs

    Solin??????

    Bonsoir, Dans mon métier, l'étanchéité béton, le solin est un mastic qui permet d'empecher le ruissellement de l'eau sur les façades et ainsi de "glisser" sous l'étanchéité qui est appliqué sur la dalle béton, voir le crobard pour mieux comprendre : http://www.website-chris.fr/details_etanch.jpg Par contre, dans le VRD, c'est peut-être autres choses.
  7. Bonsoir, Selon moi, avec cette commande, tu ne "scannes" pas les réferences de blocs de l'espace objet ou papier, mais plutôt la "base de données" des blocs du fichier autocad. pour cela il faut plutôt faire : For Each objBloc in ThisFrawing.Modelspace (ou Paperspace). qui là, va scanner les réferences de blocs insérer dans le dessin. Voila Christophe Rosé
  8. Chrisfs

    Impression automatique

    Bonsoir, Sous Autocad 2006, il y a une modification pour l'impression (voir si c'est pareil pour 2005), il faut passer la variable "BACKGROUNDPLOT" à 0 en VBA. Si elle est a 1, on obtient ce message d'erreur. --- ThisDrawing.SetVariable "BACKGROUNDPLOT", 0 ben, sinon, le tracage se mets en arriere-plan, et tant que l'impression n'est pas faite, cela bloque la fonction impression, mais VBA ne le voit pas et continu de faire tourner la routine pour imprimer le cartouche suivant. Pour ma part, je suis parti sur une programmation vba en 2 partie : - 1 fichier Excel qui liste les differents blocs "Cartouche" avec les coordonnées, le type de cartouche (Portrait, paysage). Comme les clients exige leur PDG, je doit jongler entre plein de cartouches différents. - en VBA, il scanne dans l'espace selectionné, les blocs cartouches, fait un calcul rapide des points pour la fenetre d'impression. Il regarde l'echelle du cartouche, et regle la mise a l'echelle à l'impression. Ensuite il lance l'impression. Pour l'instant, cette routine me suffit, bien que je vais la perfectionner (il me faut trouver le moyen de selectionner en VBA l'imprimante et le format de papier suivant les cartouches). Comme à la maison, j'ai une vieille version que celle que je developpe au boulôt, je la mettrais en ligne la semaine prochaine. voila,
  9. Bonjour à tous (enfin ceux qui bossent en Juillet ;) ) Voici un petit bug que j'ai eu cette après midi : http://maisonrose.no-ip.info/acad/Erreur_Autocad2.jpg J'pense qu'il a un besoin de vacances. Salutations, Christophe Rosé Dessinateur-Projeteur ( et developpeur en VBA)
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité