Aller au contenu

Curlygoth

Membres
  • Compteur de contenus

    813
  • Inscription

  • Dernière visite

  • Jours gagnés

    7

Tout ce qui a été posté par Curlygoth

  1. Curlygoth

    Adieu Patrick_35

    ouf.. triste nouvelle... comme beaucoup je l'ai lu dans des réponses... Généreux, il etait un homme de savoir... Paix à lui et courage à tous pour continuer (sans lui...)
  2. Curlygoth

    Script anciens indices

    Malheuresemlent je connais que le VBA... mais j'ai ça : LB_FICHIER 'Nom donner à une listbox ou combobox Sub BoucleFichiers() Dim Chemin As String, Fichier As String Chemin = 'chemin de ton dosser' 'Boucle sur tous les fichiers dwg du répertoire. Fichier = Dir(Chemin & "*.dwg") 'Utilisez la syntaxe suivante pour boucler sur tous les types de fichiers: 'Fichier = Dir(Chemin & "*.*") Do While Len(Fichier) > 0 'écrit le résultat dans la fenêtre d'exécution (Ctrl+G). LB_FICHIER.additem Fichier Fichier = Dir() Loop End Sub
  3. Plus simple ? ben j'ai plus simple : j'ai un bloc avec un attribut (ou plusieurs bloc) le programme parcours tous les blocs et mets en nom d'onglets l'attribut avec un cartouche, un zoom et l'rientation de ton bloc ^^' mais je ne passe pas par excel XD
  4. Curlygoth

    Script anciens indices

    Les puristes te diront de passer par du lisp ^^ Je fais du vba enfin j'essaye ^^ : DOSSIER = ThisDrawing.Path 'dossier du dessin' On error resume next 'creer le dossier3-ANCIENS INDICES s il n existe pas' Mkdir DOSSIER & "/" & "3-ANCIENS INDICES" Mkdir DOSSIER & "/" & "...REF indice" On error go to 0 ensuite je sais pas comment tu veux tes refs en automatique ? tes indice sont a la fin d'un nom de fichier ? je te conseil d'utiliser Right(nom_fichier, 4) et mets des conditions derriere le tout dans une boucle pour boucler sur les fichiers et les comparer les uns avec les autres pour gérer les nouveaux et les anciens ^^
  5. Importer un gabarit j'ai encore jamais fait.. Mais j'ai des codes pour insérer des blocs... et je créée des fenêtres dans mes blocs je pense que démarrer avec une boucle ça pourrait être bien : Voici un exemple : [NON TESTE] 'Le classique pour declarer autocad Dim acadApp As AcadApplication On Error Resume Next ' Essaie de se connecter à une instance d'AutoCAD en cours d'exécution Set acadApp = GetObject(, "AutoCAD.Application") If Err Then Err.Clear ' Pas d'AutoCAD en cours d'exécution, on en démarre un Set acadApp = CreateObject("AutoCAD.Application") If Err Then MsgBox Err.Description Exit Sub End If End If On Error GoTo 0 derlligne = Range("A" & Rows.Count).End(xlUp).Row NOMFEUILLE = ActiveSheet.name BLOCPRESENTATION = 'NOM_DU BLOC PRESENTATION peut etre un chemin vers un wbloc For i = 1 to derlligne 'Ajoute ton onglet NOM_ONGLET = Sheets(NOMFEUILLE).range("A" & i) Set lyt = acadApp.ThisDrawing.Layouts.Add(NOM_ONGLET) 'Insertion du BLOCPRESENTATION Point0(0) = 0: Point0(1) = 0: Point0(2) = 0 Set blockRefObj = acadApp.ThisDrawing.PaperSpace.InsertBlock _ (Point0, BLOCPRESENTATION, 1#, 1#, 1#, 0) 'Ppress : point centre de ta fenetre LARGEUR_FEN = 410 'largeur fenetre 'Taille pour A3 marge 5 HAUTEUR_FEN = 287 'Hauteur fenetre 'Taille pour A3 marge 5 'la fenetre Set Viewport = ThisDrawing.PaperSpace.AddPViewport(Ppres, LARGEUR_FEN, HAUTEUR_FEN) Next i Ensuite tu peux gerer le zoom/ l'orientation de ta vue dans le viewport... et/ou les attributs de ton bloc propriété dynamique ou nom
  6. Curlygoth

    Fichier VBA dvb

    Bonjour (gile) avec tout le respect que je vous dois (par votre travail et passion) je me permet de vous signaler que le lien ne dirige pas directement sur la page (il semblerait qu'un "http://" c'est incrusté a la fin de votre collage ^^ de votre lien Je me permets de corriger : ici
  7. [Résolu] Bonjour, Je suis actuellement sur pas mal de petit projet en VBA... j'ai bien compris que le lisp était plus performant et il n'y a pas photo (cf : Lisp : (gile) ) je suis en cours d'apprentissage mais c'est pas facile XD... Mais je souhaite tout de même rester sur du vba pour l'instant : Ce projet est de créer un foliotage de tous les Bloc "FOLIO" (de taille dynamique etc etc...) Le programme fonctionne pour un bloc et c'est deja super ! mais je veux aller plus loin et créer tous les folios d'un coup ! donc voici le code qui me permet de selectionner un Bloc du nom de "FOLIO" et de le mettre en surbrillance Dim blockObj As AcadBlock Dim blockRefObj As AcadBlockReference Sub PRESENTATION_ALL() ETAT = "TOUT" BLOC_NOM = "FOLIO" For i = 0 To ThisDrawing.ModelSpace.Count - 1 Set Entity = ThisDrawing.ModelSpace.Item(i) If Entity.ObjectName = "AcDbBlockReference" Then Set Blocref = Entity BLOC_TEST_NOM = Blocref.EffectiveName If BLOC_TEST_NOM = BLOC_NOM Then Entity.Highlight True Call PRESENTATION(ETAT) Entity.Highlight False Else End If End If Next End Sub et j'aimerais pouvoir récupéré l'entité en highlight exactement comme le code si dessous qui me permet de selectionner une entité de nom blockrefObj ThisDrawing.Utility.GetEntity blockRefObj, pt1, "Cliquez sur le bloc Folio :" NOM_BLOC_PRESENTATION = blockRefObj.EffectiveName Le résultat du code que j'ai réaliser si ça interresse en video : https://www.cjoint.com/c/IEjk5HIZiUr Merci de vos réponse PS : Je tiens à remercier (gile) / lecrabe / Denishen / Patrick_35 qui m'ont permis de réaliser certains projets sans poster un seul sujet ^^ Problème résolu.. j'ai ajouter la valeur de i pour récupérer le numéro de l'item dans le dessin... désolé pour la question bête...
  8. Curlygoth

    Fichier VBA dvb

    Bonjour, As tu essayer la commande appload ? Attention pour charger un projet VBA sur autocad il doit etre en .dvd
×
×
  • 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é