marc54 Posté(e) le 10 août 2006 Posté(e) le 10 août 2006 Bonjour, Petit soucis vba : Je cherche à créer un texte avecSet MyText = MyView.Texts.Add("Truc", x , y) Jusque là c'est ok Ensuite je cherche à contrôler son angle avec MyText.Angle = angleText C'est ok si mon angle est inférieur à 90, sinon il modifie l'angle en ajoutant 180 pour que le texte soit toujours lisible ! C'est le même soucis en interactif, sauf que dans les propriétés du texte, on peut agir sur le 'retournement' pour corriger.Mais en vb je ne trouve pas cette propriété. Quelqu'un a déjà débroussaillé ce truc ? Marc Marc http://www.3dsys.fr
didier Posté(e) le 11 août 2006 Posté(e) le 11 août 2006 bonjour, je ne connais pas le logiciel CATIA,mais si le VBA est identique à TOTO CACAD,je veux bien essayer de répondre. mais pour cela, il faut avoir compris la question...ce n'est pas le cas, donc, si tu peux reformuler... amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
marc54 Posté(e) le 17 août 2006 Auteur Posté(e) le 17 août 2006 A mon avis c'est un problème 'pur Catia'.Je réexplique : 1- Je crée un texte avec Set MyText = MyView.Texts.Add("Truc", x , y)Mon texte est créé, c'est ok. 2-Ensuite je cherche à contrôler son angle :MyText.Angle = 45C'est l'orientation du texte, 45 degrés et là c'est encore ok. 3-De nouveau :MyText.Angle = 100Dans ce cas, je dépasse les 90 degrés et mon texte devrait se retrouver un peu 'tête en bas'. Catia doit alors considérer que ce n'est pas lisible, et affecte une propriété de 'Retournement automatique' qui visuellement modifie l'angle du texte (en ajoutant 180 degrés). Voilà. Marc Marc http://www.3dsys.fr
mooneck Posté(e) le 17 août 2006 Posté(e) le 17 août 2006 As tu essayer en mettant un angle négatif ? sinon tu peux aussi tourner l'écran, non je plaisante ! :cool: Je pense qu'il faut que tu passe en revue tous les parametres de l'objet TexteVoir bout de code que j'ai donner à G-CAD mais il faut l'adapter au 2D Voici un exemple de code qui passe en revue les parametres d'un composant : Dim listeParam As ParametersSet listeParam = ProduitEnCours.ParametersDim iParam, VAR As IntegerDim MonParam As Parameter For iParam = 1 To listeParam.CountDebug.Print "Parametre " & iParam; " : " & listeParam.ITEM(iParam).NameNext Si tu veux changer la valeur d'un parametre et si tu connais le nom du parametre (facile avec le Debug.print) voici le reste du code For iParam = 1 To listeParam.CountDebug.Print "Parametre " & iParam; " : " & listeParam.ITEM(iParam).NameIf listeParam.ITEM(iParam).Name Like "*\Nomduparametre" ThenSet MonParam = listeParam.ITEM(iParam)Exit ForEnd IfNext 'Affiche la valeur du parametremsgbox EtatActivation.ValueAsString 'Change la vakleur du parametre'EtatActivation.ValuateFromString "nouvelle valeur" Bon courage Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
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