Aller au contenu

Modifier la valeur d'un attribut ou d'une propriété dynamique d'une référence de bloc


Messages recommandés

Bonjour,

 

j'ai trouvé comment insérer une référence de bloc dans le dessin grâce à un code de gile sur un autre forum.

 

 

1er problème : apparemment, le bloc inséré perd ses attributs.

-> Comment recréer les attributs du bloc ?

 

2eme problème : le bloc contient des propriétés dynamiques qui permettent de le personnaliser (longueur, largeur, ...).

-> Comment modifier ces données ? exemple : la propriété "longueur" du bloc par défaut est 1180, comment la faire passer à 900 ?

 

 

Merci pour votre aide.

 

Voici le bloc dans l'éditeur de bloc :

http://img15.hostingpics.net/pics/290699editbloc.png

Lien vers le commentaire
Partager sur d’autres sites

1. Tu dois retrouver toutes les définitions d'attributs se trouvant dans la définition du bloc et créer des références d'attributs.

 

foreach (ObjectId id in btr)
{
   var attDef = tr.GetObject(id, OpenMode.ForRead, false) as AttributeDefinition;
   if (attDef != null)
   {
       // Crée une référence d'attribut en copiant les propriétés de la définition d'attribut
       var attRef = new AttributeReference();
       attRef.SetPropertiesFrom(attDef);
       attRef.SetAttributeFromBlock(attDef, br.BlockTransform);
       if (attValues != null && attValues.ContainsKey(attDef.Tag))
           attRef.TextString = attValues[attDef.Tag];
       br.AttributeCollection.AppendAttribute(attRef);
       tr.AddNewlyCreatedDBObject(attRef, true);
   }
}

 

2. L'accès à ces propriétés se fait via la propriété DynamicBlockReferencePropertyCollection de la référence de bloc.

 

DynamicBlockReferencePropertyCollection props =
   br.DynamicBlockReferencePropertyCollection;
foreach (DynamicBlockReferenceProperty prop in props)
{
}

Maxence DELANNOY

Développement de compléments aux logiciels Autodesk : AutoCAD, Revit, Inventor, Vault, Navisworks... et autres logiciels de CAO

WIIP - http://wiip.fr

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é