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. as tu toujours besoin d'aide ? (2011 le topic XD bon ben on verra XD)
  2. je deterre ce topic : tu cherches toujours à importer tes points ? je veux bien mais je te propose de gérer tes options depuis autocad et non depuis excel comme ça tu vas chercher ton fichier de point depuis autocad ! j'attends ta réponse
  3. Mmmm... si tu as X barres ou plaques de telle dimension comment sortir un maximum de piece ? Je veux bien tester la programmation d'un problème comme celui ci ^^
  4. Bonojur, je ne sais pas si vous connaissez ce jeu solo pour les etudiant en étude qui s'ennuie... On fais une grille de 5x5 puis on dois la remplir de 1 à 25 mais en respectant des déplacements pour poser le numéro suivant ! attention il y a un fichier TEMP.xls c'est pour jouer au fichier "jeu du 25" en lecture seul si le fichier est deja ouvert par quelqu'un d'autres sur un réseau et enregistrer le score :-) ! allez dite moi ce que vous en pensez ! je ne l'ai pas inventé j'ai juste digitalisé ce jeu en excel xD JEU DU 25.zip
  5. je pose la question avant mais je peux te faire ça => En VBA, ça t'irais ?
  6. Mmm.. oui mais si tu veux mesurer faut le faire automatiquement et suivant plein de paramètres (calque, propriétés, Extraire ce qui t'interresse etc etc...) et donc pas coupé ce qui ne doit pas l'être... et d'ailleurs pour les métrés je l'ai deja ;-) donc bon... du coup, je vais prendre la même base de code l'améliorer et faire l'inverse ^^ (pour l'extérieur du polygone) Là, c'est plus pour faire un nouvel outil avec une autre fonction qui est beaucoup plus simpliste ^^ on est dans le forum de programmer en s'amusant hein =)
  7. Bonjour, Je me lance dans différents "challenge" pour la programmation de modules sur autocad (en VBA car je sais que vous n'aimez pas ça XD). J'ai réussi à calculer les longueurs de certains réseaux dans un polygone, et extraire les longueurs qui sont à l’intérieur dans un tableur (oui un peu comme pour les IC-OL)... Mais, il m'arrive parfois de travailler sur des dessin dwg très (trop) grand et plûtot que de mettre en reference mes fonds de plan et de les délimiter (rassurez vous c'est ce que je fais mais bon là : c'est pour le jeu). Les règles : Créer une forme : Tous les objets en contact avec cette polyligne seront coupées ! Tout ce qui est à l'extérieur de cette forme sera effacer ! Avancement : 1°) Détecter les objets dans une polyligne 2°) Couper les intersections 3°) Supprimer les objets à l'exterieur 4°) PRET ! 5°) J'ai aperçu un petit problème ! vous pouvez le télécharger pour voir où est le bug si le coeur vous en dit ! A appeler : SUPP_EXT_FEN.dvb!SUPP_EXT_FEN.SUPP_EXT_FEN SUPP_EXT_FEN.zip
  8. mmm... sur Covadis je sais pas... par contre en VBA c'est possible.. et surement en Lisp (mais je connais pas le Lisp...)
  9. VBA interdit ?
  10. Bonjour à tous, Je programme souvent de mon coté et je n'en fait profiter personne... car le vba blabliblablo... Je vais donc tester de vous partager un Work in Progress qui sera utile (pour peut-etre plein de monde). Avant les critiques : je signale que je vais faire du VBA pour ce projet et Je vous invite à aller voir mes outils...Si la curiosité vous en dit...(voir ma signature) Pas de référence à ajouter (histoire que cela circule) en piece jointe l'interface ! que je me permettrais de mettre à jour en fonction de vos avis ! Je mettrais ce topic à jour dès que mon programme évoluera ! Données : L'idée est de réaliser un explorerateur sans référence. Alimenter une liste avec les documents favoris à ajouter dans le programme. et si vous avez d'autres idées n'hésitez pas ! Avancement : 1°) L'interface est créée (du moins la première version) 2°) Le code pour extraire les noms des dossiers dans le dossier courant (liste de gauche est faite) Le code pour extraire le nom des fichiers du dossier courant (liste de droite est faite) 3°) La naviguation fonctionne grâce au bouton retour ! (Vous pouvez coller votre chemin pour y accéder plus vite si besoin ! et cliquer sur le label "Dossier Courant") 4°) Les chemins favoris peuvent etre enregistré dans une liste (avec un nom que vous choisirez) 5°) Le chemin courant peut etre ouvert (ajout d'un bouton d'ouverture) 6°) Ajout d'une liste pour sélectionner un chemin réseau et y accéder (utile pour les serveur en local) 7°) Ajout d'un bouton retour... (pour revenir au dossier précédent qui n'est pas le parent par exemple) 8°) Possibilité de sélectionner plusieurs fichiers.. en controlant qu'il n'a pas été deja sélectionné 9°) Voir les infos des fichiers au survol de la souris du fichier sélectionné en dessous (Date de modification et taille du fichier suivant l'unité la plus raisonnable !) 10°) Verification si un fichier est deja sélectionné 11°) Retour au dossier précédent jusqu'au dossier source 12°) Installation manuelle ou par code : ThisDrawing.Application.LoadDVB DossierDudvb & "\Explorer.dvb" une démonstration sans son : DEMONSTRATION de l'outil en exclusitivé (SANS VOIX) Important la fonction à cibler : USF_EXPLORER.fichiers_liste et renvoie la liste des fichiers en liste dans la page option Mon mail et mon site(toujours en construction) sous dispo et sont cliquable. utilité ? - Boite de dialogue indépendante plus besoin de passer par uneboite de dialogue externe via excel acess ou autre... - Import de fichiers de points - Envoie de mail directement via Autocad avec des pièces jointes - Import de Xref ou d'image - créer des dossiers favoris pour "juste" les ouvrirs (meme utilité que windows sauf qu'il peuvent etre appellé par une entrée clavier !) Explorer.zip
  11. tu peux ajouter un format personnalidé avec DWG to PDF !
  12. Curlygoth

    Besoin d'une bible des VRD

    je développe des modules de smon cotés si tu as besoins je te laisse lire ma signature ^^ je te laisse découvrir ma chaine :
  13. Curlygoth

    Profilstypes assainissement

    heu un truc comme ça ?
  14. pour infos : tu peux le programmer facilement en VBA il suffit juste de creer 2 bloc : ton nord et ta "croix" Tu choisi ton echelle, ton ecart, ton ecart entre les points Ensuite tu fais 2 boucles l'une pour les coordonnées X l'autre pour les cordonnées Y tu sélectionnes ta polyligne et tu verifies que le point est dans ta forme. ensuite tu insert ta "nuée" de carroyage
  15. La meme chose existe en VBA (code) : Function Point_dans_Polyligne(PolyLigne, Pt1) As Boolean Dim Pt1(0 To 2) As Double Dim Pt2(0 To 2) As Double Dim Droite As AcadRay Dim Points As Variant Pt2(0) = Pt1(0) + 1 Pt2(1) = Pt1(1) Pt2(2) = Pt1(2) Set Droite = ThisDrawing.ModelSpace.AddRay(PT_TEST, Pt2) Droite.Update PointsINT = PolyLigne.IntersectWith(Droite, acExtendNone) Droite.Delete Dim NbrePoints As Integer NbrePoints = UBound(PointsINT) / 3 Point_dans_Polyligne = False If NbrePoints Mod 2 = 0 Then Point_dans_Polyligne = False Else Point_dans_Polyligne = True End If End Function
  16. pour apprendre le VBA la base c'est Excel ^^ (les Methodes sont bien plus simple et tu trouveras beaucoup plus d'aide) pour autocad le VBA est moins intuitif mais une fois que je gérera bien sur excel tu verras q'uil n'y aura plus beaucoup de difficulté faut connaitre autocad par coeur par contre en anglais c'est un plus ;-) moi si je devais copier coller en vba d'un dessin à un autre, je ferais surement la methode de gile en VBA ensuite du pete le bloc et tu as tes objet. sinon tu crées un groupe que tu passes a un autre dessin ;-) un peu comme quand tu copies une shape d'un tableur execl à un autre ^^
  17. il n'y a pas QUE le Lisp qui ajoute des fonctionnalités ;-)
  18. A ce point ? x) Ne sois pas si allergique, il a peut être eu des bons exemples ;-p En gros, tu veux copier chaque Objet de ton dessin ? (vu que tu sélectionnes tout) ? tu peux envoyer des objet vers un autre dessin si tu veux (en un créant un).
  19. Hello, pour ma part, j'ai créé un module sur Autocad pour dessiner et extraire des données pour tout types de dessin ! Vive les bibliothéques dynamique ! renseigne toi mais je pense que tu peux te faire quelque chose de facile en Lisp ou VBA ^^ surtout pour de l'extraction !
  20. Si je peux me permettre : renseigne toi aupres de la programmation tu auras ce que tu veux, tes rendus personnalisés (Covadis et autres) sont payants et "bridés" (non modifiable). alors qu'apprendre est gratuit et rapide ! suivant les clients (ou domaine comme le dit mon VDD) : je dois rendre des documents sous support différents et la programmation est heureusement la pour ça ! Au début : on commence petit : extraire les longueurs et surface par rapport au calque dans une fenetre puis les entrées dans un txt => puis dans un excel => puis un pdf => puis envoie direct par mail ...etc etc Ensuite, tu vas y faire des stats puis la génération de fichier dwg et gestionnaire calque qui reflechira à ta place. a la fin tu ne ferais plus de dessin mais c'est ton programme qui fera 90% de ton boulots ^^ et ça n'aura pas couté 1€ ^^
  21. Hello, Alors personnellement je peux te proposer ce qui va suivre. Il faut parcourir le dessin et compter le nombre de fois que tu as ton blocs et enfin remplir ton tableau. met ça en fonction : tu pourras boucler sur tous tes nom de blocs ca va te donner des listes Function NB_BLOC(NOM_BLOC) For i = 0 To ThisDrawing.ModelSpace.Count - 1 Set entity = ThisDrawing.ModelSpace.Item(i) NOMCALQUE = entity.Layer If entity.ObjectName = "AcDbBlockReference" Then Set blocref = entity if blocref.effectivename = NOM_BLOC then cp1 = cp1 + 1 else end if next i NB_BLOC = cp1 et ensuite la table sub remplir_tableau ... 'Remplir une table en bouclant sur la function ... Point = ThisDrawing.Utility.GetPoint(, "Selectionner l'endroit où implanter la table ") NBLIGNE = NB_BLOC_TOTAL + 1 'Pour le titre de ton champ) NBCOL = 3 'nombre de colonne Dim MyModelSpace As AcadModelSpace Set MyModelSpace = ThisDrawing.ModelSpace Set MT = MyModelSpace.AddTable(Point, NBLIGNE, NBCOL, H_LIGNE, L_COLONNE) 'H_LIGNE Hauteur de la ligne / L_COLONNE la largeur de la colonne On Error Resume Next MT.Layer = "0" MT.Layer = Calque MT.StyleName = "Standard" MT.StyleName = STYLE_TABLE On Error GoTo 0 MT.SetText 0, 0, "TON TITRE" MT.SetText 1, 0, "NOM" MT.SetText 1, 1, "QTE" MT.SetText 1, 1, "BLOC" 'Tu fais une boucle pour remplir le tableau en fonction de ta table: L = 'ta ligne C = 'ta colonne MT.SetText L,C,VALEUR 'et tu remplis avec les corrdonnées
  22. Curlygoth

    Exploitation CSV sur Excel

    Bonjour, Je sais pas si je peux t'aider car le lisp. (J'ai du mal... (Peut être trop de parenthèse ?) Par contre en VBA, je sais créer des fenetres pour générer et nommer tes présentations plutot que de le faire manuellement. et les parcourirs pour recupérer des infos dans tes blocs 'parcours les présentations (meme l'onglet Model) For each layout in ThisDrawing.Layout If layout.name = "Model" then 'si la présentation s'appelle Model on passe else For b = 0 To ThisDrawing.PaperSpace.Count - 1 'on parcours les objets qui sont dans la présentation Set Entity = ThisDrawing.PaperSpace.Item(B) If Entity.ObjectName = "AcDbBlockReference" Then 'on verifier que l'objet est un bloc Set blockRefObj = Entity if blockRefObj.EffectiveName = "NOM_BLOC" then 'on verif le nom du bloc de ton cartouche 'code sur ton bloc For Each Att In blockRefObj.GetAttributes 'on parcours les attribut du bloc If Att.TagString = "ATTRIBUT1" Then 'On rechecrhe l'attribut de nom ATTRIBUT1 VAR1 = Att.TextString 'on met les valeurs dans une variable temporaire Else End If If Att.TagString = "ATTRIBUT2" Then 'On rechecrhe l'attribut de nom ATTRIBUT2 VAR2 = Att.TextString 'on met les valeurs dans une variable temporaire Else End If '.... etc c'est vrai c'est pas sexy mais tu peux te faire une fonction avec l'attribut a extraire par exemple ! Next Att TEXTE = TEXTE & VAR1 & ";" & VAR2 & chr(10) 'donc tu mets par exemple tes colonnes separées par un ";" VAR1 = "" VAR2 = "" else end if else end if end if next 'EDIT On peut creer un CSV ou le mettre directement dans Excel ! CHEMIN = ThisDrawing.Path & "\" & "Mon fichier texte dans le répertoire que le dessin.csv" Set fs = CreateObject("Scripting.FileSystemObject") Set A = fs.CreateTextFile(CHEMIN, True) 'on créé le fichier A.WriteLine TEXTE 'On ecris dans le fichier A.Close 'on ferme le fichier TEXTE = "" Voila je ne l'ai pas tester mais bon si tu as des soucis on développera pour télécharger le module : Lien vers module VBA oui contrairement au lisp le vba n'est pas natif dans autocad mais les posibilités sont les mêmes (ou à quelques détails prêt ?)
  23. Curlygoth

    Routines Carto VBA

    Alors : Ce n'est pas du VBA mais à mon avis du .NET En gros c'esta avec Visual Studio qui pourra te permettre de voir les code dans les Form etc... j'ai pas tout ça sur moi XD SBar.SimpleText = Sbar doit avoir une propriété qui s'appelle SimpleText CMD.Action = un évenement ??? CMD.FileName = Renvoie le nom du fichier de l'objet CMD et donc ça ne marche pas car peut etre que c'est pas bien régler au niveau de version autocad ... regarde ici avec quel framework tu dois compiler pour tel ou tel version d'autocad... je sais pas si ça marchera apres mais bon faut essayer ^^ http://cad.kerlom.fr/developpement_vb.php
  24. Curlygoth

    Routines Carto VBA

    c'est vrai que je ne vois pas la partie qui calcul tes dégrader pour chaque face ... tu n'as pas d'autres modules ?
  25. Curlygoth

    Routines Carto VBA

    c'est quoi le but de ton programme ? j'utilise uniquement les méthodes ActiveX. Que souhaites tu faire ?
×
×
  • 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é