coyotte Posté(e) le 8 février 2010 Posté(e) le 8 février 2010 Bonjour à tous, voila mon probléme. Comment selectionner un bloc dans un layout précis ? Je m'explique j'ai un bloc nommé "Cartouche" dans chacun de mes layouts. Comment selectionner ce bloc dans un layout précis pour mettre à jour ces attributs ? En esperant avoir été suffisament clair :) http://www.carpetdiem.netPlugins pour AutoCAD
Eric Posté(e) le 8 février 2010 Posté(e) le 8 février 2010 Bonjour, Cela doit être faisable en utilisant une combinaison de la commande CTAB pour choisir la présentation et -attedit pour modifier l'attribut. Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
coyotte Posté(e) le 8 février 2010 Auteur Posté(e) le 8 février 2010 Petite précision, je souhaite le faire en c#. Merci encore de vos réponses :) http://www.carpetdiem.netPlugins pour AutoCAD
Eric Posté(e) le 8 février 2010 Posté(e) le 8 février 2010 Petite précision, je souhaite le faire en c#. Ah alors je passse mon chemin :D Eric est formateur, revendeur sur AutoCAD LT, DraftSight, ZWCAD, SketchUp et PDF2CAD
(gile) Posté(e) le 8 février 2010 Posté(e) le 8 février 2010 Salut, Si c'est pour faire une sélection avec Editor.SelectAll, comme dit Eric tu peux utiliser le nom de la présentation dans un filtre de sélection :Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; TypedValue[] filter = { new TypedValue(0, "INSERT"), new TypedValue(2, "Cartouche"), new TypedValue(410, "Nom de l'onglet"), }; SelectionFilter selFilter = new SelectionFilter(filter); PromptSelectionResult result = ed.SelectAll(selFilter); ou, si tu n'as pas l'habitude des codes DXFEditor ed = Application.DocumentManager.MdiActiveDocument.Editor; TypedValue[] filter = { new TypedValue(DxfCode.Start, "INSERT"), new TypedValue(dxfCode.BlockName, "Cartouche"), new TypedValue(DxfCode.LayoutName, "Nom de l'onglet"), }; SelectionFilter selFilter = new SelectionFilter(filter); PromptSelectionResult result = ed.SelectAll(selFilter); Mais l'éditeur n'est accessible que pour un document ouvert dans la session.Si tu n'as pas accès à l'éditeur (que tu accèdes à la base de données avec ReadDwg() par exemple), il faut parcourir les objets du BlockTableRecord lié au Layout pour retrouver le BlockReference. Ou, autre solution, depuis la définition du bloc "Cartouche" (BlockTableRecord) récupérer les références insérées avec GetBlockReferenceIds() et contrôler le propriétaire du bloc (Layout) avec OwnerId. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
coyotte Posté(e) le 8 février 2010 Auteur Posté(e) le 8 février 2010 Merci de ta réponse, je vais tester tout cela :) http://www.carpetdiem.netPlugins 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