Aller au contenu

bazoul

Membres
  • Compteur de contenus

    116
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

bazoul a gagné pour la dernière fois le 29 novembre 2012

bazoul a eu le contenu le plus aimé !

Contact Methods

  • Website URL
    http://

bazoul's Achievements

Newbie

Newbie (1/14)

2

Réputation sur la communauté

  1. Je n'ai pas testé mais il semblerait que la fonction AddAllowedClass utilise une liste, donc en ajoutant appelant la fonction autant de fois que de type d'objet souhaité cela devrait fonctionner ... je vais vérifier mais sur le fond ... PromptEntityOptions peo = new PromptEntityOptions("\nSelectionner une fenêtre: "); peo.SetRejectMessage("\nSelection invalide..."); peo.AddAllowedClass(typeof(Viewport), true); peo.AddAllowedClass(typeof(Polyline), true); peo.AddAllowedClass(typeof(Polyline2d), true); PromptEntityResult per = Application.DocumentManager.MdiActiveDocument.Editor.GetEntity(peo); Après test cela fonctionne ...
  2. J'ai rencontré le meme problème mais uniquement avec un windows 64bits et incapable de le solutionner ... j'ai testé différentes manip dont celle exposé sur Through the interface mais rien de rien ...
  3. Tu peux éventuellement te saisir d'un lisp pour demander les paramètres nécessaire a ta fonction ... <Autodesk.AutoCAD.Runtime.LispFunction("Toto")> _ Public Function Toto(ByVal rb As Autodesk.AutoCAD.DatabaseServices.ResultBuffer) As String Dim args() As TypedValue 'Traitement args = rb.AsArray return "Test" End Function et dans le lisp tu appel la fonction de ta dll avec les paramètres : (setq Result (Toto Param1 Param2))
  4. En meme temps si les segments sont continu peut on dire qu'il y a intersection? Dans ce cas rajouter comme indiqué un test sur le point de départ et d'arrivée ou alors se faire un algo maison :D
  5. En effet mais avoueons que c'est quand même une bonne habitude a prendre surtout quand tu as plusieurs boucles imbriquées ...
  6. Si j'ai compris ce que tu veux faire essaie de faire ça : ( testé sur Acad2013 ) Dim dir As String = "C:\plans" For Each fichier As String In System.IO.Directory.GetFiles(dir, "*.dwg", SearchOption.AllDirectories) Using db As Database = New Database(False, True) Try db.ReadDwgFile(fichier, FileShare.ReadWrite, True, vbNullString) Using tr As Transaction = db.TransactionManager.StartTransaction db.Insunits = UnitsValue.Centimeters tr.Commit() End Using db.SaveAs(fichier, DwgVersion.Current) Catch ex As Exception End Try End Using Next MsgBox("Traitement terminé")
  7. Messieurs, Ya de ça quelque temps je m'étais amusé a refaire la fonction d'intersection de polyligne autocad et concernant la demande si dessous c'est le temps de traitement qui peche .... pour deux polylignes closes identiques composées de 11.000 arcs qui s'intersectent mon algo mettait 11minute là ou la fonction intersectwith d'autocad en mettait un peu plus de 33minutes .... Concernant une polyligne composée de 1.000arcs l'algo était 62fois plus rapide ... Les temps annoncés tenant compte du temps de conversion des objets autocad en objet ... le tout fait en VB.net. Mon but était de trouver tous les points d'intersections réel entre deux polylignes sélectionnés.. Au final dans mon exercice tous se résumait en calcul mathématique... en revanche j'ai laché le morceau quand j'ai voulu m'attaquer au arcs elliptique ^^
  8. J'arrive bien après la bataille mais .... normalement ya un fichier *.pdb dans le dossier de génération,c'est ce qui gère les points d'arrets si je ne dis pas de bétise,le supprimer devrait régler le pb ...
  9. Bonjour, Déja si tu es en mode SDI peut etre bien que sa peux poser problème ^^ Sinon pour fermer en enregistrant c'est : Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.CloseAndSave(CurrentFilePath) et pour fermer sans enregistrer c'est : Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.CloseAndDiscard() Cordialement,
  10. A mon sens le plus difficile dans le .Net,ormis la syntaxe,c'est la compréhension de la POO. Du moment où on a compris le principe,on s'en sort sans trop de difficulté a coup de recherche dans l'explorateur d'objet,de recherche sur le net et de recherche personnelle ... Au passage,a mon sens les API les plus pourris avec lesquel j'ai été amené de travailler reste encore les API microsoft,et notament celle de microsoft Visio ... Quoi qu'il en soit,comme dit précédemment,le temps est l'élément le plus important,comme dans toutes choses.
  11. bazoul

    ouvrir fichier en VBN.ET

    Penses à indiquer le sujet comme résolu. Bonne continuation B)
  12. bazoul

    ouvrir fichier en VBN.ET

    Remplace Application.ShowModalDialog(dlg) par dlg.ShowDialog(Autodesk.AutoCAD.ApplicationServices.Application.MainWindow) Tu devrais obtenir le même comportement mais sans l'erreur de contexte. PS: je pensais que tu avais fait un affichage non-modal(.show) au lieu d'un affichage modal(.showdialog) .. je n'avais pas pensé que tu avais utilisé la fonction ShowModalDialog PPS: ton document serai ouvert mais ne sera pas celui actif ...
  13. bazoul

    ouvrir fichier en VBN.ET

    L'utilisation de Path.Combine n'influt en rien le fonctionnement,cela te permet de ne pas te soucier du séparateur entre les deux chemins ^^ A priori en testant tu aurais fais un affichage non modale de ta boite de dialogue ... si tu as un frmdwg.Show(),remplace par frmdwg.showDialog() A toi de me confirmer Cordialement,
  14. bazoul

    ouvrir fichier en VBN.ET

    Bonjour pat06, Si tu me permet,je te conseillerai d'utiliser IO.Path.Combine(DirListBox1.Path, FileListBox1.Text) au lieu de DirListBox1.Path & "\" & FileListBox1.Text Ensuite,il est très certainement plus "propre" d'effectuer le traitement dans une classe et non directement dans le formulaire. Enfin,tu dis que ya un message d'erreur mais tu ne donnes pas d'information ... code erreur,ligne qui provoque l'erreur ... Mieux vaut trop de détails que pas assez ^^ Cordialement,
  15. En effet,démarche étrange,mais comme précisé,hier soir j'avais pas la motivation de créer un compte sur le site exmateria ... je suis tombé sur ce post avant de quitter mon travail,et j'ai préféré posté de suite avant d'oublier ^^
×
×
  • 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é