Bonjour à tous,
Je suis à la recherche de la commande à utiliser dans ma macro SolidWorks pour récupérer dans une variable la valeur d'une dimension mais telle qu'elle est paramétrée (avec le même nombre de décimale) en spécifiant la dimension sous la forme "D1@Esquisse1@199999.SLDPRT".
Si vous avez une solution à me proposer, je vous en remercie d'avance.
Bonjour,
Il faut regarder du coté de GetSystemValue2.
L'exemple dans l'aide: Iterate Through Dimensions in Model Example (VBA)
Merci pour votre réponse.
GetSystemValue2 retourne 0.11092358101119 en mètre alors que GetValue2 retourne 110.92358101119 en mm ce qui est mieux mais comment faire pour que la commande retourne 110.92, en respectant le choix "Précision des unités" défini dans les option de la cote?
Et comment faire pour définir le nom de la cote ("D2@Esquisse1@@NomConfig@199999.SLDPRT") de laquelle je veux récupérer la valeur?
Bonjour,
Pour sélectionner la cote voulue, il faut faire ainsi:
boolstatus = swModel.Extension.SelectByID2("D2@Esquisse1@199999.SLDPRT", "DIMENSION", 0, 0, 0, False, 0, Nothing, 0)
Set swSelMgr = swModel.SelectionManager
Set swDispDim = swSelMgr.GetSelectedObject6(1, 0)
Set swDim = swDispDim.GetDimension
Debug.Print swDim.GetValue2("") 'Insérer le nom de la config entre les ""
Pour l'afficher avec une valeur à 2 décimales, il faut appliquer un traitement à la valeur retournée (SW renvoi la valeur réelle complète et non l'arrondi en fonction des paramètres)