Aller au contenu

Modificatiosns d\'attributs !


Messages recommandés

Posté(e)

Salut,

 

je cherche à modifer les attributs d'un cartouche. Le cartouche est déjà insérés, je veux modifiés les attributs pour effectuer un changement d'indice.

 

Si j'écris le code ci-dessous, çà va me réinserer un cartouche :

 

Private Sub cmdGrandFormat_Click()

Dim objCartouche As AcadBlockReference

Dim PtInsert(0 To 2) As Double

 

PtInsert(0) = 0: PtInsert(1) = 0: PtInsert(2) = 0

 

Set objCartouche = ThisDrawing.ModelSpace.InsertBlock(PtInsert, "R:\0-DAO-Gestion\Cartouches\04-Cartouche direct.dwg", 1, 1, 1, 0)

 

objCartouche.GetAttributes(0).TextString = nomduplan1

objCartouche.GetAttributes(1).TextString = nomduplan2

objCartouche.GetAttributes(2).TextString = numerodaffaire

objCartouche.GetAttributes(3).TextString = Typedeplan

objCartouche.GetAttributes(4).TextString = numerodeplan

 

Unload Me

 

End Sub

 

Le bouquin que j'ai ne m'en explique pas d'avantage, je veux seuleument modifier les attributs déjà dans le block.

 

Merci

 

Le DOC

Posté(e)

Hello Le Doc sans amour

dans l'exemple qui suit

je créée un jeu de sélection,

avec Filtre sur le nom du bloc

je place dans des variables ce que je trouve en valeurs d'attributs

 

admettons qu'il existe une

Userform1

avec des

TEXTBOX

 

ensuite, je place dans cette feuille, les valeurs extraites et j'affiche la feuille

là, tu remplaces, dans cette feuille, les valeurs que tu souhaites.

ne pas oublier de mettre un bouton pour fermer la feuille,

je reviens donc dans le VB,

lecture des valeurs de la feuille

et mise à jour du bloc.

voilà c'est fini

 

Set ObjSset = ObjAcad.ActiveDocument.SelectionSets.Add("JEU_SEL")

Codes(0) = 0: Valeurs(0) = "INSERT"

 

Codes(1) = 2: Valeurs(1) = "NomDuBloc"

Call ObjSset.SelectOnScreen(Codes, Valeurs)

For Each Elem In ObjSset

Array1 = Elem.GetAttributes

Attribut1 = Array1(0).TextString

Attribut2 = Array1(1).TextString

Next

ObjSset.Delete

 

UserForm1.TextBox1.Value = Attribut1

UserForm1.TextBox2.Value = Attribut2

 

UserForm1.Show

 

Attribut1=Userform1.TextBox1.value

Attribut2=Userform1.TextBox2.value

 

With ThisDrawing.Utility

Array1(0).TextString = Attribut1

Array1(2).TextString = Attribut2

 

End With

en espérant avoir été explicatif,

je t'en souhaite un bon usage

amicalement

 

Posté(e)

Merci pour ces explicatifs, mais je ne vois pas comment l'adapter à mon probleme.

 

En fait il y a déjà une userform dans lequel j'ai entré les nouvelles valeurs d'attributs. Quand je valide, je voudrais que çà me change directement les attributs, sans avoir à selectionner le bloc ( le bloc aura tjs le même nom). Le probleme que je rencontre, c'est que :

 

 

dim obj cartouche as acadblock , alors je ne peux pas utiliser la fonction getattributes

dim objcartocuhe as acadblcokreference, alors je peux utiliser la fonction getattribute, mais je n'arrive pas à selectionner mon objet via set :

Set objCartouche = ThisDrawing.Blocks ("Cartouche") -> erreur

 

C'est assez complexe, j'espère que tu auras compris sinon c'est pas grave, je bosserai sur plus sur la méthode que tu me proposes.

 

Bonne nuit

Le DOC

  • 4 mois après...
Posté(e)
bonjour

il y a une solution, si ton bloc est

UNIQUE

dans le fichier.

c'est de créer un Jeu de Sélection

avec les filtres que je t'ai montré

mais avec un SelectAll

au lieu du SelectOnScreen

comme çà, tu n'as pas à faire de sélection à l'écran.

amicalement

 

Bonjour,

 

Je souhaite savoir si il y a la possibilité d'accéder directement à un attribut quelqu'il soit dans un bloc en le sélectionnant directement en vba. Je parviens à le faire en lisp mais je n'aii pas la soluce en vba.

 

d'avance merci.

 

DOCKEE

Posté(e)

Bonjour à tous...

 

tous les exemples que j'ai pu voir pour la modification d'attributs d'un cartouche (par exemple) parle de création d'un tableau...

 

Est-il possible de modifier les attributs d'un cartouche en partant de valeur se trouvant dans un tableau Excel ?

 

Quelle serait la fonction ?

 

 

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é