Aller au contenu

bazoul

Membres
  • Compteur de contenus

    116
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par bazoul

  1. bazoul

    RECHERCHE PROGAMMEUR VB

    Yaurais moyen de développer un peu plus ton idée?
  2. Je t'explique, J'éxécute des commandes,mais sur ma ligne de commandes j'ai un certain nombre de ilgne vierge qui apparaissent ... je ne sais pas trop de ou sa viens et je voudrais que sa n'apparaisse pas
  3. Salut a tous, Je voudrais savoir si c'est possible en .Net de bloquer l'affichage sur la COMMANDLINE le temps de mon traitement ?
  4. Pour ma part pour insérer un bloc j'ai utilisé ceci: Dim db As Database = Nothing Dim tm As Autodesk.AutoCAD.DatabaseServices.TransactionManager = Nothing Dim tr As Transaction = Nothing Dim doc As Document Dim NewBlkId As ObjectId Dim bt As BlockTable Dim btr As BlockTableRecord = Nothing doc = Application.DocumentManager.MdiActiveDocument db = New Database(False, False) If Not Name.Contains(".dwg") Then Name = Name & ".dwg" tm = HostApplicationServices.WorkingDatabase.TransactionManager tr = tm.StartTransaction db.ReadDwgFile(Name, IO.FileShare.Read, True, "") bt = CType(tr.GetObject(db.BlockTableId, OpenMode.ForWrite, False, False), BlockTable) 'insertion de la nouvelle définition de bloc dans la table de bloc If bt.Has(Name.Replace(".dwg", "")) = False Then NewBlkId = doc.Database.Insert(Name, db, False) btr = CType(tr.GetObject(NewBlkId, OpenMode.ForWrite, True, True), BlockTableRecord) btr.Name = Name.Replace(".dwg", "") tr.Commit() End If If tr IsNot Nothing Then tr.Dispose()
  5. Arf,je suis en vb.net et j'ai pas acces a acdbEntGet ... J'ai remplacé acdbEntget par oldidptr qui a la meme valeur décimal que l'id de mon objet ... mais pas moyen de parcourir mon ResultBuffer qui n'a de toute évidence pas de TypeValue .... Je me repencherais sur le pb demain.... la méthode asarray chez moi plante ... j'ai encore de quoi a chercher !
  6. Je te remercie giles,je jettes un oeil demain ou en soirée ^^
  7. hey hey je m'expliques un peu plus bien J'ai un bloc dynamique,admettons une voiture ( 37 entités ) . dans ce bloc j'ai 3 vue différentes: - vue de face ( 15 entités ) - vue de coté ( 12 entités ) - vue de dessus ( 10 entités ) A chaque vu est associé des entités qui seront ou non visible. Je sais que chaque vu,lorsqu'elle est inséré dans le dessin corresponds a un bloc anonyme. Ce que je ne sais pas,c'est juste récupérer les entités qui sont visible dans la référence de bloc. A chaque fois je me retrouve avec les entités contenues dans la définition a savoir 37 entités au lieu de 15 entités ( je travaille dirons nous avec la vue de face ) . Je n'ai aucun paramètres de dimensionnement ou autre,c'est juste un bloc dynamique multi-vues. Voili voilo,merci giles ^^
  8. Salut, Voila& alors je travail avec un bloc dynamique et je voudrais récupérer la géométrie présente dans le dessin. Mais pour le moment j'ai juste réussi a récupérer toutes les entités présente dans la définition de bloc .... en faisant un explode de ma référence de bloc je me retrouve également avec toutes les entités présentes dans la définition de bloc .... Esce que quelqu'un aurait une idée? Ps : langage .NET
  9. Merci gilou ;)
  10. Non mais notre ami curt peut etre ;)
  11. Oui,une pirouette ... j'avais eu ya un an passé a sélectionné des blocs bien précisement pour les copié de autocad vers visio pour en faire des groupes et y collé en propriétés les attribut autocad ... et j'y étais passé par une commande lisp balancé sur la ligne de commande ... Etant certain que les blocs existaient je n'avais pas de probleme et aucun plantage Sinon oui c'est un On error Goto err err: on peux filtrer le type d'erreur aussi ( traitement ) err.clear resume next
  12. Je te propose une petite pirouette,je ne sais pas si ya mieux mais si sa peux aider : Dim mhandle as string ThisDrawing.SendCommand ("_PSELECT" & vbCr & "(handent " & Chr(34) & mhandle & Chr(34) & ")" & vbCr & vbCr) Cordialement,
  13. Je te permet ^^ Je me pose une question,a quoi sert de déverrouiller un document directement aprés avoir modifier des choses plutôt que de le laisser verrouiller pour effectuer peut être X modification et conclure par une fermeture du document ??
  14. 3# Using lockDoc As DocumentLock = MyDoc.LockDocument() ne sert a rien a part poluer le code utilise juste MyDoc.LockDocument() tu gagnera en lisibilité ( pas de using inutile )
  15. Pour ce qui est du document ya pas de dispose mais un close (interop) ,du collect ... enfin,je test le coup de la database dans quelques jours et je te dis quoi.
  16. Merci de ta réponse giles, Comme je bossais sur autre chose j'ai zappé le probleme,mais comme j'ai été ammené a utiliser la méthode readdwg je suis revenu sur ce post. La question que je me pose,c'est peut on effectuer des jeu de sélection? Car tous mes traitement sont sur la base de jeu de sélection....
  17. bazoul

    Ref externe en vba

    Euh la comme sa je dirais: - jeu de sélection sur les Xref - un erase sur le jeu de sélection - Création d'un dossier a l'emplacement du dwg,puis on ajoute un suffixe au nom réel du dwg pour enregistrement ...
  18. Je peux faire avancer le probleme en te disant qu'un tableaux est dans la base de données un bloc ... je chercherais ce soir comment a partir du tableau,remonter jusqu'au bloc ( avec un nom du genre *Tx ) Pour mon exemple j'ai pris un tableau simple : - Titre - 2 Lignes - 5 colonnes Un seul tableau donc pour moi son nom est *T1,Visible dans la liste des bloc et explosable. [Edité le 26/1/2010 par bazoul]
  19. Vue que la méthode explode n'est pas disponible pour les objet de type acadtable c'est tout a fait normal ... en revanche comment faire .... il chercher il cherche ....
  20. Salut a vous tous, Voila alors j'ai un pitit soucis avec la gestion de mon appli. Je suis en vb.Net, et j'ai un traitement a effectuer sur plusieurs plans.Sauf que lorsque je ferme le premier plan pour ouvre le deuxieme,la mémoire utilisé pour le premier plan n'est pas intégralement libéré. Ce qui fait que une fois une 15ene de plans traité je suis out of mémory. alors l'idée c'est de tuer mon application autocad a chaque plan. ( probleme avec les plans en lecture seule => récumpération a la réouverture ) . Je voudrais faire quelquechose de propre dans ma méthode bourine,a savoir plutot que de faire : For Each pProcess As Process In Process.GetProcessesByName("acad") pProcess.Kill() next je voudrais utiliser la commande : Process.GetProcessesById(Id de ma session autotad en cours). Mais voila,je ne parviens pas a obtenir l'id de ma session. L'idée c'est de fermer la bonne session autocad si jamais l'utilisateur a lancé sa propre session avant le traitement. Merci a vous ^^
  21. bazoul

    sos svp!!

    Alors: ' --------------------------------------------------- 'Section 4. Extraction des attributs. ' --------------------------------------------------- Dim mEntite As AcadBlockReference Dim listofatt() As AcadAttributeReference Dim mMatrice As Variant For Each mEntite In Selection If mEntite.HasAttributes Then Dim matt(1) As String mMatrice = mEntite.GetAttributes For i = 0 To UBound(mMatrice) - 1 ReDim Preserve listofatt(UBound(listofatt) + 1) Set listofatt(UBound(listofatt)) = mMatrice(i) Next i End If Next Je te propose ce qui précède,le résultat est une liste de référence d'attribut. En espérant que cela te contienne. [Edité le 29/10/2009 par bazoul]
  22. bazoul

    sos svp!!

    J'ai testé et ça ne plante pas a la ligne indiqué. Quel version autocad as tu? Tu veux récupérer tous les attribut dans un liste c'est bien sa? PS: Evite de faire trois sujets sur la meme question ...
  23. J'ai été amené a faire du lisp sur un programme de calcul de charge de grue semi-automatique,avec prise en charge des mannequins,des matériels,metré .... Ayant passé les trois langage de programmations,et étant actuellement toujours en apprentissage du .net, je suis pro .net bien entendu. Toutefois,je rapellerais que mon conseil;qui n'engage que moi; est qu'il se mette plutot au vba qu'au lisp ou au vb.net ... le besoin exprimé par Jerome.S devrait être parfaitement satisfait par le vb.Deplus le vba est exploitable depuis pas mal de logiciel,autodesk ou microsoft .... Oui je maintient que le lisp est merdique pour les parenthese,que le débogage est tout aussi merdique comparé au deux autres langages cité .... rien qu'entre le lisp et le vba on voit que le vba est plus simple en lisibilité,en compréhension... C'est bien la peine d'avoir un langage de programmation performant si c'est imbuvable,mon avis .... Vous ne pouvais pas nier messieurs que la manipulation par exemple des listes en lisp est bien plus contraignante qu'en vba ou en vb.net tout de même ?! Même si je vous entends déjà me dire qu'avec de la rigueur sa passe et on s'en accommode très bien ... Je trouve sa aussi moyen de pouvoir utiliser une variable en string,puis cette même variable en integer,en liste .... pour moi le typage des variables permet de rester structuré et de savoir avec quoi on travail ... pour moi le type variant en vba est une abération ... quelle idée d'avoir un type de variable dans laquelle on y met tous et n'importe quoi .... Attention,bien que ne préférant pas le lisp ce n'est pas pour autant que je le dénigre,il rends bien des services,est parfois bien pratique,mais je ne pense pas que ce soit le mieux pour débuter ... Je précise que je ne suis pas développeur lisp ou vba professionnel ... j'ai découvert le lisp a la fac,passé 3mois en stage a ne faire que du lisp 9H par jour ... idem pour le vba et cela fait 5mois que je suis passé au .net .... je ne maitrise pas pleinement les trois langages certes ( dailleurs je ne comprends pas du tout la fonction lisp mapcar par exemple et son utilisation possible) ... mais me permet de donner mon avis les concernant.
  24. Je me permet de donner mon avis sur le sujet ... J'ai été amené a faire du lisp,du vba,du vb.net .... et mon préféré reste le vb.net. Le lisp est en effet totalement adapté au petite routine,des programmes pas spécialement complexe.Je me permet de rebondir sur ce que disait giles,je trouve que le lisp est plus contraignant pour le typage inexistant des variables Le vba lui est plutot pas mal en effet pour la partie graphique,le plus par rapport au lisp est le typage des variables,il va planté si tu essais de mettre un objet type calque dans une variable de type décimal par exemple .... Le vb.net,qui est ni plus ni moins que du vba,lui reste mon préféré et notament si tu dois faire intéragir plusieurs applications entre elles .... le débogeur est plus pratique que celui de vba et surtout le vb.net peut etre utilisé aussi bien de maniere externe a l'application autocad qu'en interne ...... Utilisant les trois langage je dirais que d'un point de vue syntaxe -Le lisp est merdique,des parenthese dans tous les sens .... la limitation à une dizaine d'espion est également un frein.Comme mentionné il est utilisable qu'avec autocad. -Le vba est chiant également dans le sens ou il distingue les "object" comme un calque et les non-object comme les chaines de caractères ... adapté pour les projets moyens -Le vb.net considère que tous est object .... mais plutot une usine a gaz pour des choses simples. En bref,je te conseillerais quand meme de te mettre au vba car : -Il n'est certes plus livré de base avec autocad mais encore disponible dans la version 2010 en option et donc utilisable dans les versions antérieures. -Non non le vba n'est pas mort puisqu'il devrait être a terme remplacer par le vsta,qui est ni plus ni moins que du vba amélioré (vb.net) ou du C# (choix du langage utilisé) -Le vba est toujours utilisé dans d'autres produits que autocad
  25. bazoul

    Désactiver Macro en VB

    Question toute bête,en mettant la variable "FILEDIA" à 0 sa devrait normalement supprimer l'affichage de la boite de dialogue,as tu essayé?
×
×
  • 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é