Aller au contenu

Coordonnes de points d\'une Catpart vers Excel


orod

Messages recommandés

Bonjour a tous,

 

Je recherche un moyen d'exporter des coordonnes de points d'une Catpart vers une fichier Excel.

J'ai trouvé la macro Dassault qui permet de faire l'inverse , j'en deduis donc que la seule solution est d'utiliser une macro, or a ce jour je ne suis pas tres au point concernant la programmation VBA.

A default d'une solution, pourriez vous m'indiquer de la documentation de formation simple pour apprendre a creer des macros sur V5.

 

Par avance merci,

orod.

Lien vers le commentaire
Partager sur d’autres sites

Un bypass que j'utilise assez fréquement:

 

- Extraction sans historique de la surface extérieure de ta CATPart

- Export au format iges

- dans l'atelier forme / freestyle / courbe paramétrique sur surface (une sorte de maillage de ta peau)

- les points à exporter sont les intersections de ces courbes paramétriques

- ré enregister au format iges

- dans l'atelier forme /DSE, importe le iges enregistré précédement ==> nuage de points

- et exporte le au format asii libre

- ouvre ce .asc avec le WordPad et t'as tes points x(mm) y(mm) z(mm)

 

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour orod

 

je suis entrain de développer une macro pour faire :

- export des coordonnées de points vers un fichiers excel, csv ou ascii

- import d'un fichier excel vers un CATPart

- génération d'un tableai de coordonnées de points sur un CATDrawing

 

J'ai presque fini, il me reste un problème à régler au niveau du tableau 2D :mad:

 

Donc dès que j'ai fini je t'en donnerai une copie si tu le souhaites.

@+ ;)

Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

le code suivant permet d'exporter tes coordonnées de 3D points vers un fichier Excel:

 

Sub CATMain()

 

Dim ainformations()

Dim apointcoordinates(2)

 

Set oselection = CATIA.ActiveDocument.Selection

oselection.Clear

oselection.Search "CATGmoSearch.Point,all"

ilength = oselection.Count

 

ReDim ainformations(1 To ilength, 0 To 3)

 

For i = 1 To ilength

Set opoint = oselection.Item(i).Value

opoint.GetCoordinates apointcoordinates

ainformations(i, 0) = opoint.Name

ainformations(i, 1) = apointcoordinates(0)

ainformations(i, 2) = apointcoordinates(1)

ainformations(i, 3) = apointcoordinates(2)

Next

 

Set oexcel = CreateObject("excel.application")

oexcel.Visible = False

oexcel.Application.Workbooks.Add

Set oexcelsheet = oexcel.Workbooks(oexcel.ActiveWorkbook.Name).Sheets(1)

 

For i = 1 To UBound(ainformations)

oexcelsheet.range("A" & i).Value = ainformations(i, 0)

oexcelsheet.range("B" & i).Value = ainformations(i, 1)

oexcelsheet.range("C" & i).Value = ainformations(i, 2)

oexcelsheet.range("D" & i).Value = ainformations(i, 3)

Next

 

oexcel.ActiveWorkbook.SaveAs "c:\temp\coordionates.xls"

oexcel.Quit

 

End Sub

 

 

Lien vers le commentaire
Partager sur d’autres sites

Je te conseille tout de même d'utiliser la version CSV qui est bien plus performante et utilisable sur Unix:

 

Sub CATMain()

 

Dim ainformations()

Dim apointcoordinates(2)

 

Set oselection = CATIA.ActiveDocument.Selection

oselection.Clear

oselection.Search "CATGmoSearch.Point,all"

ilength = oselection.Count

 

ReDim ainformations(1 To ilength, 0 To 3)

 

For i = 1 To ilength

Set opoint = oselection.Item(i).Value

opoint.GetCoordinates apointcoordinates

ainformations(i, 0) = opoint.Name

ainformations(i, 1) = apointcoordinates(0)

ainformations(i, 2) = apointcoordinates(1)

ainformations(i, 3) = apointcoordinates(2)

Next

 

 

Set filesys = CATIA.FileSystem

Dim FileName As String

FileName = "C:\temp\coordinates.csv"

 

Dim FilIn As File

Set FilIn = filesys.CreateFile(FileName, True)

Set ostream = FilIn.OpenAsTextStream("ForWriting")

For i = 1 To UBound(ainformations)

ostream.Write (ainformations(i, 0) & ";" & ainformations(i, 1) & ";" & ainformations(i, 2) & ";" & ainformations(i, 3) & ";" & Chr(10))

Next

ostream.Close

 

End Sub

 

 

Bon courage!!

Salutations

Christophe

Lien vers le commentaire
Partager sur d’autres sites

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é