[Résolu] Exportation cotation à partir d'une mise en plan

vos questions concernant les API SolidWorks

[Résolu] Exportation cotation à partir d'une mise en plan

Messagepar patte2kick » Mar 13 Mar 2012, 14:37

Bonjour à tous!

Je cherche à réalisé un API utilisant Visual Basic qui me permettrait d'extraire, lors d'une mise en plan, les différentes cotations et tolérances qui y ont été ajoutées.

L'idéal serait que j'arrive à l'aide d'un bouton sous Solidworks à créer un fichier Excel portant le même nom que ma pièce et dans lequel je retrouverais toutes les cotations apparentes ainsi que les tolérances par rapport à des références créées ou même des contraintes par exemple (et si possible bien entendu :lol: ) .

J'ai déjà épluché une tonne de forums pour réaliser ce que je souhaite mais impossible de trouver mon bonheur... On parle souvent de contrôle de côte d'excel vers solidworks mais très rarement l'inverse j'ai l'impression, mise à part l'exportation de propriété de masse par exemple et donc je me pose des questions quant à la faisabilité de mon programme.

C'est donc pour ça que je sollicite votre aide afin de savoir si ça a déjà été fait et comment (et aussi afin de conserver mes cheveux...)

Merci d'avance

--
SW version 2011
Dernière édition par patte2kick le Mer 14 Mar 2012, 17:05, édité 1 fois.
patte2kick
Ewok SolidWorks
 
Messages: 6
Inscription: Lun 12 Mar 2012, 16:27
Localisation: Auray (56), sw pro 2011 SP 5.0 et sw pro 2012 SP 2.0

Messagepar fred_ecai » Mar 13 Mar 2012, 15:01

Salut,

tout d'abord si tu peux, passe par la case présentation c'est sympa pour nous, et en plus on peut orienter les réponses ce qui est aussi un plus pour toi :wink:

en lisant ton problème, j'ai du mal a savoir ce que tu veux faire, mais ce que je pense comme ça vite fait c'est que les cotes on sait les mettre sur un calque. donc tu pourrais regardé de ce coté là :roll:
du style tu cliques sur un bouton, ça bascule les cotes sur un calque "toto". tu ouvres le fichier et les cotes qui ne sont pas sur toto peuvent etre d'une autre couleur....

enfin détail un peu plus :wink:

@+
Avatar de l’utilisateur
fred_ecai
Membres du Conseil SolidWorks
 
Messages: 1450
Inscription: Mar 22 Déc 2009, 9:09
Localisation: loire (42), Slw 2012 SP1.0 XP 64bit (in english please)

Messagepar patte2kick » Mar 13 Mar 2012, 15:35

Salut et merci de ta réponse rapide,

Désolé pour la présentation mais je n'ai pas l'habitude des forums... En fait je dispose d'une pièce, en l'occurrence un joint en plastique, qui pour respecter les normes doit avec des cotations bien précises d'angles et de largeur ainsi que des tolérances de fabrication. Ce que je cherche donc à faire c'est, à partir de ma mise en plan, répertorier toutes les cotations et les tolérances, que j'affiche sur la mise en plan, dans une feuille Excel. C'est pour cela que je me suis orienté vers une macro avec un bouton dans solidworks. C'est assez clair?
patte2kick
Ewok SolidWorks
 
Messages: 6
Inscription: Lun 12 Mar 2012, 16:27
Localisation: Auray (56), sw pro 2011 SP 5.0 et sw pro 2012 SP 2.0

Messagepar fred_ecai » Mar 13 Mar 2012, 16:41

Regarde du coté du getannotation dans l'api help

il me semble que tu dois pouvoir analyser l'annotation (text, table cote ...)
ensuite tu dois pouvoir sortir ça sous forme de tableau valeur, ajustement etc ...

si c'est pas le getannotation qui fait ça il doit y avoir un getdimension

mes connaissances en api sont limité et sans avancé pas à pas ou sans l'aide api je ne peux pas t'en dire plus :wink:
Avatar de l’utilisateur
fred_ecai
Membres du Conseil SolidWorks
 
Messages: 1450
Inscription: Mar 22 Déc 2009, 9:09
Localisation: loire (42), Slw 2012 SP1.0 XP 64bit (in english please)

Messagepar liryc » Mar 13 Mar 2012, 18:13

Bonsoir,
je compléterai en regarde également à tolerances dans l'aide de l'API.
Doit y avoir des exemples sinon peut-être que si Chico passe par là il aura des infos un peu plus précise.
liryc
Chevalier Jedi SolidWorks
 
Messages: 479
Inscription: Ven 02 Mar 2007, 8:14
Localisation: Paris - SW2009 SP5.0

Messagepar Chico » Mer 14 Mar 2012, 11:00

Il vaut mieux poser une question et risquer d'avoir l'air idiot
une journée que de se taire et d'être bête toute sa vie.

8wd a dit : LA FONCTION RECHERCHE EST TON AMIE
http://www.logiciel-cao.com
Avatar de l’utilisateur
Chico
Esprit Jedi Solidworks
 
Messages: 3120
Inscription: Mer 12 Mar 2008, 19:16
Localisation: Mauricie (Québec) ------SW 2006 SP0.0

Messagepar patte2kick » Mer 14 Mar 2012, 13:54

Merci fred_ecai, liryc et Chico pour vos réponses,

Chico, j'ai essayé ton code mais je rencontre une erreur d'incompatibilité de type à la ligne Set swDrawing = swApp.ActiveDoc mais je ne comprends pas pourquoi... il faut dire que je suis débutant en VB donc je ne repère pas toutes les subtilités à mettre en oeuvre :lol:

code :

Sub GetDrawingAnnotations()

Dim swApp As SldWorks.SldWorks
Dim swDrawing As SldWorks.DrawingDoc
Dim swView As View
Dim swDispDim As SldWorks.DisplayDimension
Dim swAnn As SldWorks.Annotation
Dim swDimension As SldWorks.Dimension
Dim DimTypeArr() As String
Dim DrivenStateArr() As String
Dim ArrowSideArr() As String
Dim pi

pi = 4 * Atn(1)

Set swApp = Application.SldWorks
Set swDrawing = swApp.ActiveDoc
Set swView = swDrawing.GetFirstView


Est ce que vous voyez d'où vient l'erreur?

Merci[/i]
patte2kick
Ewok SolidWorks
 
Messages: 6
Inscription: Lun 12 Mar 2012, 16:27
Localisation: Auray (56), sw pro 2011 SP 5.0 et sw pro 2012 SP 2.0

Messagepar fred_ecai » Mer 14 Mar 2012, 14:52

est ce que tu a bien une MEP d'ouverte?
Avatar de l’utilisateur
fred_ecai
Membres du Conseil SolidWorks
 
Messages: 1450
Inscription: Mar 22 Déc 2009, 9:09
Localisation: loire (42), Slw 2012 SP1.0 XP 64bit (in english please)

Messagepar patte2kick » Mer 14 Mar 2012, 15:27

Bien vu! En effet je n'avais pas de mise en plan ouverte... :oops:

Merci Fred!

Par contre je n'arrive toujours pas à écrire dans mon tableur... Pour le moment j'essaie de la manière suivante :

Dim xlsheet As Excel.Worksheet
xlsheet.Cells(1, 1).Value = "Nom de la vue :"


Mais rien y fait je n'arrive pas à écrire... au contraire j'ai une erreur "Variable objet ou variable du bloc With non définie"...

quelqu'un pourrait m'éclairer sur comment y arriver s'il vous plait?
patte2kick
Ewok SolidWorks
 
Messages: 6
Inscription: Lun 12 Mar 2012, 16:27
Localisation: Auray (56), sw pro 2011 SP 5.0 et sw pro 2012 SP 2.0

Messagepar fred_ecai » Mer 14 Mar 2012, 15:38

tu arrives a ouvrir ton objet excel ?
tu as les bibliothèque excel dans les références de ta macro?
Avatar de l’utilisateur
fred_ecai
Membres du Conseil SolidWorks
 
Messages: 1450
Inscription: Mar 22 Déc 2009, 9:09
Localisation: loire (42), Slw 2012 SP1.0 XP 64bit (in english please)

Messagepar patte2kick » Mer 14 Mar 2012, 15:41

Oui j'arrive à ouvrir mon fichier excel à partir de ma macro, j'arrive également à lui donner le nom de la pièce de la MEP et je renomme la page du classeur mais je n'arrive pas à écrire.
Oui j'ai ajouté les bibliothèques (toutes celles concernant Office et Excel que j'ai trouvé)
patte2kick
Ewok SolidWorks
 
Messages: 6
Inscription: Lun 12 Mar 2012, 16:27
Localisation: Auray (56), sw pro 2011 SP 5.0 et sw pro 2012 SP 2.0

Messagepar liryc » Mer 14 Mar 2012, 17:02

La comme ça avec juste un bout de code sur la ligne excel ça va être dur de t'aider.
Mais de base pour écrire c'est Cells(x,y) = "...", le Cells(x,y).value retourne le contenu de la cellule de mémoire.
liryc
Chevalier Jedi SolidWorks
 
Messages: 479
Inscription: Ven 02 Mar 2007, 8:14
Localisation: Paris - SW2009 SP5.0

[Résolu]

Messagepar patte2kick » Mer 14 Mar 2012, 17:04

C'est bon!! Problème résolu! :lol:
patte2kick
Ewok SolidWorks
 
Messages: 6
Inscription: Lun 12 Mar 2012, 16:27
Localisation: Auray (56), sw pro 2011 SP 5.0 et sw pro 2012 SP 2.0

Re: [Résolu] Exportation cotation à partir d'une mise en pla

Messagepar marcbin » Ven 05 Avr 2013, 15:21

Hello,

je dois faire quasi la même chose, récupérer les cotes contenue dans un plan, et les coller dans un tableur excel pour créer des documents qui permettre de valider des pièces en cours de fabrication.
(on appel ça a l'interne des plans de phase, ex: la pièce finie possède certaines cotes, or avant l'anodisation par exemple, la pièce doit avoir une "taille différente" car l'anodisation fait "grandir" la pièce)
je sais pas si c'est très clair ^^

bref, tout ca pour dire que ton code ressemble fortement a ce que je dois faire, est-ce possible de l'obtenir?? ca m'évitera de passer du temps a développer quelque chose qui existe déjà 8)

merci! :oops:
marcbin
Padawan SolidWorks
 
Messages: 58
Inscription: Ven 11 Déc 2009, 15:29


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

banniere