Bonjour,
Pour faire suite à ma 1ere question :
http://www.lynkoa.com/forum/2d/solidworks-macro-qui-pointe-vers-une-propriete#answer-641585
La macro proposé par .PL fonctionne mais avec quelque "limite" que je voudrai améliorer.
1) Cette macro ne comprend que des valeurs à chiffre entier, ce qui est compliqué pour faire des échelle 1:2 par exemple. Je souhaiterai pouvoir rentrer une échelle 0.5 et quelle soit prise en compte par la macro.
2) La macro va chercher la valeur de l'échelle dans les propriétés fichier de la pièce dans l'onglet "Personnaliser" avec comme type "Nombre". Je n'arrive donc pas à créer de relation entre ma propriété $PROPRIETE@ECHELLE qui se génère dans "Spécifique à la configuration" et non dans "Personnaliser". Est ce possible de faire pointer la source de l'échelle de la macro vers un type "Texte" ? Comme ça je pourrai créer une relation entre les deux onglets.
Merci
Hello,
J'utilise un petit bout de code pour de la modification d'echelle. Je penses que ça doit pouvoir se modifier pour ton cas (je fais tout en auto, mais avec une boite à question sur l'échelle, tu dois pouvoir modifier ça)
'Obtention echelle actuelle en format fraction (a:b)
Dim swView As SldWorks.View
Set swView = swdoc.GetFirstView
Dim ech As Variant
ech = swView.ScaleRatio
'On règle à l'échelle 1:1
ech1 = swSheet.SetScale(1, 1, True, True)
'on retourne à l'echelle initial ech(0) pour numerateur et ech(1) pour denomitateur
ech1 = swSheet.SetScale(ech(0), ech(1), True, True)
1 « J'aime »
Bonjour coin37coin
Peux tu me faire passer ta macro en fichier texte?
Je n'arrive pas à modifier le bout de code que tu m'as donné avec ma macro... (je ne suis pas très doué en macro)
Le copier-coller ne fonctionne pas ? Enfin tu la trouveras dans le fichier texte joint :)
Edit : tant qu'à la modification pour ta macro, je n'ai absolument pas suivit la construction de celle-ci. Je ne sais donc pas trop de quoi vous êtes partit pour allez où. C'était juste un bout de code pour que tu vois comment faire les fractions en echelle et l'intercaller dans ton VBA
Mais je suis sur que @.PL saura te guider dans les meandres dangereux de sa macro
obtention_echelle_actuelle_en_format_fraction.doc
1 « J'aime »
Salut,
Voilà un exemple pour les propriétés spécifiques à la configuration :
http://help.solidworks.com/2014/English/api/sldworksapi/Get_Custom_Properties_for_Configuration_Example_VB.htm
Les instructions à utiliser sont :
Set config = swModel.GetActiveConfiguration
Set cusPropMgr = config.CustomPropertyManager
Et ensuite, je crois que c'est :
lRetVal = cusPropMgr.Get5("ADATE", False, ValOut, ResolvedValOut, wasResolved)
Voir ici :
http://help.solidworks.com/2014/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ICustomPropertyManager~Get5.html
Et pour ton problème d'entier ajoute ceci au début :
Dim Echelle As Double
1 « J'aime »
.PL
Je suis désolé mais rien ni fait... Mon manque de connaissance en programmation en est surement pour quelque chose.
Le problème reste toujours le même...
C'est bon ça fonctionne,
En utilisant une esquisse comme échelle qui sert de référence dans mes propriétés fichier que je peux piloter.