ahotep Posté(e) le 1 août 2006 Posté(e) le 1 août 2006 Bonjour à tous !! Je suis face à un problème qui me fais enrager : Je veux modéliser une pale de ventilateur bien compliquée, sachant que j'ai les coordonnées d'un grand nombre de points de cette pale. Le problème c'est que je ne sais pas faire la modélisation par ce biais. J'ai essayé ainsi : je me met dans part design et je crée à la main tous les points de mon objet; je vais ensuite dans le module freestyle, qui me permet de réaliser des surfaces en reliant les points 4 par4... et je retourne ensuite dans part design ou je réalise l'extrusion de toutes les surfaces de ma pièce... C'est laborieux (je n'ai d'ailleurs pas fini)...Je sais qu'il existe un module appelé "digitized shape design" mais je ne sais pas comment il marche: tout ce que je sais c'est qu'on peut importer des données de type .ascii pour réaliser la pièce.. Dans ce cas, le problème est que mes données sont de type .xls et que je ne sais pas les transformer... Cependant, si vous savez faire ceci en rapide et efficace...
dilack Posté(e) le 2 août 2006 Posté(e) le 2 août 2006 salutpour transformé ton fichier point "xls" tu change ton extension en txt et théoriquement ça marche.à la limite envoie moi ton fichier xls et je te le transforme en fichier type asci avec l'extension et le séparateur de ton choix dnas le week end.pilou_33@caramail.com
ahotep Posté(e) le 31 août 2006 Auteur Posté(e) le 31 août 2006 Depuis le temps, j'ai trouvé un élément de réponse à cette adresse : http://cao.etudes.ecp.fr/index.php?page=faq.htm le sujet étant intitulé : "Comment créer des points à partir d'un fichier excel contenant des coordonnées ?" Et comme tout n'est pas parfait, et ben je n'ai pas réussi...J'ai une erreur qui apparait lors de l'éxécution de la macro... Donc si quelqu'un à un idée à proposer... Merci
mooneck Posté(e) le 31 août 2006 Posté(e) le 31 août 2006 Bonjour Dans l'editeurVBA d'excel va vérifier les références de la macro et coche toutes les bibliothèques commancant par CATIA. puis reessaye la macro @+ Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
mat3d Posté(e) le 3 septembre 2006 Posté(e) le 3 septembre 2006 Bonsoir, J'ai bien tout coché mais cela ne fonctionne toujours pas. Jai toujour le message propriete ou methode non geree par cet objet. Quel en est la cause si qqun sait... Merci d'avance Matthieu, webmaster de VUE 3D >> http://vue3d.free.frmail -> mattou3d@aol.com
mooneck Posté(e) le 4 septembre 2006 Posté(e) le 4 septembre 2006 Ce genre d'erreur provient certainement (à 90%) d'une bibliotheque non referencée.peux tu copier coller les lignes de codes et mettre en jaune la ligne qui bloque merci Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
ahotep Posté(e) le 18 septembre 2006 Auteur Posté(e) le 18 septembre 2006 J'ai trouvé une réponse au problème !! Il faut : -ouvrir un part -outils\macro\macro --> créer une macro... voilà le code : Sub CATMain Dim myDoc As PartDocument Set myDoc = CATIA.ActiveDocument Dim myPart As Part Set myPart = myDoc.Part Dim hybridBodies1 As HybridBodies Set hybridBodies1 = myPart.HybridBodies Dim hybridBody1 As HybridBody Set hybridBody1 = hybridBodies1.Add Dim myHSFactory As HybridShapeFactory Set myHSFactory = myPart.HybridShapeFactory Dim ExcelApp As Excel.Application Set ExcelApp = CreateObject("Excel.Application" ) FileName = "D:\AffairesEnCours\Temp\P3.xls" ExcelApp.Workbooks.Open FileName Dim myHSPointCoord As HybridShapePointCoord Dim myHSPointCoord2 As HybridShapePointCoord With ExcelApp.ActiveWorkbook.Sheets.Item(1) For i = 1 to 5 Set myHSPointCoord = myHSFactory.AddNewPointCoord(.Cells(i,1).Value, .Cells(i, 2).Value, .Cells(i, 3).Value) (tout ça sur la même ligne) hybridbody1.AppendHybridShape (myHSPointCoord) myPart.Update Next End With End Sub en changeant le nom du fichier et le nombre de points ça devrait marcher.... voilà...pour moi ca fonctionne alors c'est que ca doit marcher pour tout le monde... a bientot
run777 Posté(e) le 14 octobre 2006 Posté(e) le 14 octobre 2006 petit correctif: hybridbody1.AppendHybridShape myHSPointCoord
ahotep Posté(e) le 14 octobre 2006 Auteur Posté(e) le 14 octobre 2006 ben pourquoi ? ca marche comme ça ? non ? ca amène quoi de plus ta modification ?
run777 Posté(e) le 15 octobre 2006 Posté(e) le 15 octobre 2006 Pour que cela marche sur ma machine je dois enlever les parenthèses, sinon j'ai un message d'erreur.Pour qui, pour quoi? Ca je sais pas.
Remy31180 Posté(e) le 18 janvier 2007 Posté(e) le 18 janvier 2007 GSD_PointSplineLoftFromEXcel Dans Catia : Démarrer l’atelier Générative Shape Design. Il faut avoir un document de type part actif avec un corps principal comme objet de travail. Dans Excel :Ouvrir la macro GSD_PointSplineLoftFromEXcel (chemin d’accès : Programs Files/Dassault/B16/intel-a/code/command)Ouvrir VBA (touche Alt+F11) Vérifier dans le menu Outils -Références que les références Catia sont actives sinon les activer puis enregistrer le classeur Excel (Merci Damien). On peut : Enregistrer le classeur Excel sous un autre nom. On ne doit jamais : Modifier le nom de la feuille1 du classeur Excel. Mettre plus de 50 Splines dans la feuille. Mettre plus de 500 Points par Spline. Avoir des points adjacents trop proche (distance mini >0.001mm).
baba14-114 Posté(e) le 18 avril 2008 Posté(e) le 18 avril 2008 Ce genre d'erreur provient certainement (à 90%) d'une bibliotheque non referencée.peux tu copier coller les lignes de codes et mettre en jaune la ligne qui bloque merci Voici le programme:La première ligne "Sub Main ()" a l'air de bloquer...J'aimerais bien faire fonctionner cette macro, donc si quelqu'un peut trouver l'erreur...Merci. '------------------------------------------------------------------------'Main program'------------------------------------------------------------------------Sub Main() 'Get the type of operations to do: ' Points --> 1 ' Splines + Points --> 2 ' Loft + Splines + Points --> 3 Dim TypeFile As Integer TypeFile = GetTypeFile ' V5R12 - Create dedicate opneBody for created geometry 'Get CATIA Dim PtDoc As Object Set PtDoc = GetCATIAPartDocument ' Create Open body Set myHBody = PtDoc.Part.HybridBodies.Add() Set referencebody = PtDoc.Part.CreateReferenceFromObject(myHBody) PtDoc.Part.HybridShapeFactory.ChangeFeatureName referencebody, "GeometryFromExcel" If TypeFile = 1 Then CreationPoint ElseIf TypeFile = 2 Then CreationSpline ElseIf TypeFile = 3 Then CreationLoft End If End Sub
mooneck Posté(e) le 18 avril 2008 Posté(e) le 18 avril 2008 Salut baba14, essaye avec ca : Option Explicit '------------------------------------------------------------------------ 'Main program Sub Main() 'Get the type of operations to do: ' Points --> 1 ' Splines + Points --> 2 ' Loft + Splines + Points --> 3 Dim GetTypeFile As Integer GetTypeFile = 1 Dim GetCATIAPartDocument As PartDocument Dim myHBody As HybridBody Dim referencebody As Reference Set GetCATIAPartDocument = CATIA.ActiveDocument Dim TypeFile As Integer TypeFile = GetTypeFile ' V5R12 - Create dedicate opneBody for created geometry 'Get CATIA Dim PtDoc As Object Set PtDoc = GetCATIAPartDocument ' Create Open body Set myHBody = PtDoc.Part.HybridBodies.Add() Set referencebody = PtDoc.Part.CreateReferenceFromObject(myHBody) PtDoc.Part.HybridShapeFactory.ChangeFeatureName referencebody, "GeometryFromExcel" If TypeFile = 1 Then CreationPoint ElseIf TypeFile = 2 Then CreationSpline ElseIf TypeFile = 3 Then CreationLoft End If End Sub Public Sub CreationPoint() MsgBox "CreationPoint !" End Sub Public Sub CreationSpline() MsgBox "CreationSpline !" End Sub Public Sub CreationLoft() MsgBox "CreationLoft !" End Sub chez moi ca marche.J'ai ajouté quelques déclaration supplémentaire car je n'ai pas le ton code complet. + Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
baba14-114 Posté(e) le 19 mai 2008 Posté(e) le 19 mai 2008 merci;en fait j'ai changé de poste et ça marche... Bref, en fait j'ai un autre souci (j'ai lancé un autre sujet pour cela, mais c'est à propos de cette macro): il n'est possible de créer qu'un seul et unique loft!! Quelqu'un a-t-il une solution pour en créer plusieurs, comme pour les splines? Merci!
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