PhilBat Posté(e) le 8 juillet 2011 Posté(e) le 8 juillet 2011 Bonjour à tousJe désire migrer du VBA au VB NETet je suis déjà confronté à des problèmes qui était pour moi simple en VBAJe cherche une solution pour inserer un bloc dans un dessin etéventuellement avoir accès aux attributs.Comment peux t-on avoir accès aux blocs contenus dans un dessin ?La plupart des exemples trouvés expliquent pour la création d'entitée (ligne,cercle, polyligne....)Merci d'avancePhil.
rom1_am Posté(e) le 8 juillet 2011 Posté(e) le 8 juillet 2011 Bonjour, J'avais commencé à travailler sur la question, j'ai regroupé des exemples ici:http://www.acadnetwork.com/topic-125.0.htmlhttp://www.acadnetwork.com/topic-126.0.html a+ _______________________________R.A.Développeur AutoCAD C#.netwww.danialu.fr
(gile) Posté(e) le 8 juillet 2011 Posté(e) le 8 juillet 2011 Salut, Tu trouveras un "pas à pas" concernant les insertions de bloc en .NET (C#, F#, VB) ici. Ce sujet aborde de manière progressive différentes problématiques concernant les insertions de bloc : - ajout d'un fichier DWG à la table des blocs - insertion dans l'espace objet avec prise en compte de : - - échelle - - SCU courant - - déplacemnt (point d'insertion) - - recherche dans la table ou import du DWG - - attributs - - rotation - - attribution de calque - - échelles non uniforme - - rotation des attributs Sinon, rapidement, pour savoir si un bloc est présent dans le dessin, il suffit d'utiliser la méthode BlockTable.Has(). Exemple (à verifier, je suis plutôt C# ou F#) : Using tr As Transaction = db.TransactionManager.StartTransaction() Dim bt As BlockTable = DirectCast(tr.GetObject(db.BlockTableId, OpenMode.ForRead), BlockTable) If Not bt.Has(blockName) Then ed.WriteMessage(vbLf & "Le bloc '{0}' n'est pas présent dans le dessin.", blockName) Return End If ' ... End Using Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant