begin process at 2010 03 19 12:35:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

[CATIA VBA] Pièce symétrique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[CATIA VBA] Pièce symétrique

mercredi 13 décembre 2006 à 16:41:53 | [CATIA VBA] Pièce symétrique

CATDEV


Bonjour,

Je développe aujourd'hui un outil qui permet de réaliser la pièce symétrique (toto_201.CATPart) d'une originale (tata_200.CATPart)

Contenu de l'originale :
1 - Un à plusieurs Open body,
2 - un à plusieurs Holes, final Holes, etc.
3 - Un à plusieurs Geometrical set
4 - En plus du trièdre de la pièce, il y a un trièdre qui sert de plan de symétrie (x,z) ce trièdre doit être détruis à la fin du processus dans la pièce original

L'outil fait :

1 - ouvre la pièce sélectionnée,
2 - créer un nouveau part et génère son nom en fonction de la pièce originale. (ici je n'arrive pas à faire des copier coller depuis la pièce originale vers la nouvelle pièce) PasteSpecial As result
Donc pour le moment je suis obligé de fermer ma pièce 201.
3 - je sélectionne le premier open body et je le copie.
4 - j'essaye de le coller et CATIA plante.
"Command Interruped"

Si quelqu'un peu m'aider à comprendre?

Voici mon code actuel :



Function fPart(PartFile As String)
'Dim intCountItem As Integer
'Dim CourantObject As String
CATIA.RefreshDisplay = False
CATIA.DisplayFileAlerts = False


'Renomme les fichiers PRODUCT, replace les PART et sauvegarde ceux-ci dans le répertoire temporaire OUT

'-------------------------------------
'
' Open a part 200
'
'-------------------------------------

Language = "VBSCRIPT"

Set Documents1 = CATIA.Documents

Dim partDocument1 As Document
Set partDocument1 = Documents1.Open(PartFile)

' Retrieving a Part HybridBodies collection to attaching OpenBodies (Geometrical set)
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = partDocument1.Part.HybridBodies

Dim partBodies1 As Bodies
Set partBodies1 = partDocument1.Part.Bodies

Dim partBody As Body

Dim strNameBody As String
strNameBody = partDocument1.Part.InWorkObject.Name

Set partBody = partDocument1.Part.Bodies.Item(strNameBody)

Dim str201PartName As String
str201PartName = Replace(PartFile, "200", "201")

'-------------------------------------
'
' Create a new part for 201
'
'-------------------------------------


Dim intPosition As Integer
intPosition = InStrRev(PartFile, "\")

Dim strShortFileOpenName As String
strShortFileOpenName = Mid(PartFile, intPosition + 1)
Dim str201Name As String

str201Name = Replace(strShortFileOpenName, "20000", "20100", 1, vbTextCompare)

'MsgBox str201Name, vbCritical, "New Part Name"

Dim intDotPosition As Integer
intDotPosition = InStrRev(str201Name, ".")

Dim strNewFile201 As String
strNewFile201 = Left(str201Name, intDotPosition - 1)

Set documents2 = CATIA.Documents
Set partDocument2 = documents2.Add("Part")

' renomme le fichier standard part en part 201 -------------------------------------

Set product2 = partDocument2.Product
product2.PartNumber = Replace(partDocument2.Name, partDocument2.Name, strNewFile201)


partDocument2.Close
'-------------------------------------
'
'From 200 / copy / paste to 201
'
'-------------------------------------

Set specsAndGeomWindow2 = CATIA.ActiveWindow

Set partDocument1 = CATIA.ActiveDocument
Dim selection1 As Selection
Set selection1 = partDocument1.Selection

If Selection = True Then
selection1.Clear
Else
End If

Dim part1 As Part
Set part1 = partDocument1.Part
Dim bodies1 As Bodies
Dim body1 As Body
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item(strNameBody)
selection1.Add body1
selection1.Copy

' Fait planter CATIA !!!!!!!

'CATIA.ActiveDocument.Selection.PasteSpecial "CATIA_RESULT"

'Set specsAndGeomWindow2 = CATIA.ActiveWindow
'Set viewerpoint3D2 = specsAndGeomWindow2.ActiveViewer
'Set viewpoint3D2 = viewerpoint3D2.Viewpoint3D
'
''Dim partDocument2 As Document
'Set partDocument2 = CATIA.ActiveDocument
'
'Dim part2 As PartDocument
'Set part2 = partDocument2
'
'part2.Activate
'
'Set bodies2 = part2.Selection


'Set body2 = bodies1.Item("Res")
'partBodies1.Add
'selection1.PasteSpecial (fgfd)
'CATIA.ActiveDocument.Selection.PasteSpecial "CATIA_RESULT"


'******************************
' Updating CATIA PArt
'partDocument1.Part.Update


partDocument2.SaveAs str201PartName
partDocument2.Close
End Function



Cordialement,
CATIADEV
mercredi 13 décembre 2006 à 21:25:11 | Re : [CATIA VBA] Pièce symétrique

TMONOD

Bonsoir,
C'est du vb6 d'un univers parallèle oubien tu t'es trompé de forum ?

Jcbé[^]
jeudi 14 décembre 2006 à 08:31:52 | Re : [CATIA VBA] Pièce symétrique

CATDEV

Bonjour Jcbé,

Ben comme vous vous en douter, si je "post" ici, c'est bien parce que je suis dans :

Thèmes / Visual Basic 6 / Langages dérivés / VBA / ...
Cela veut bien dire que CATIA a un éditeur VBA comme dans Excel
Pour information, sur ce lien vous trouverez un fichier d'aide pour récupérer les objets CATIA (Propriétés et Méthodes).


[ Lien ]

Donc, je reste ouvert à toutes propositions qui pourrait m'aider à corriger mon problème.

Cordialement,
Patrick



Cette discussion est classée dans : set, pièce, catia, part, partdocument1


Répondre à ce message

Sujets en rapport avec ce message

VBA CATIA : Copier/coller dans un Product (d'une Part A vers une Part B) [ par nazgul64 ] Bonjour,J'automatise certaines opérations dans CATIA via le langage VBA et je me heurte à un problème d'activation de Part au sein de mon Product.J'es Blocage msgbox [ par gouzou44 ] Bonjour,Je créer une macro pour catia. Je voulais savoir si l'on pouvait débloquer catia lors de l'apparition d'une msgbox pour tourner la vue de la p Capture catia depuis excel [ par 3dflix ] Bonjour, Je m'adresse au connaisseur CATIA.Je souhaite faire une capture d'écran de catia en vba (Jusque la pas de probleme, une source est dispo sur Prob sur Macro sous Catia V5R14 [ par xtremiste ] Bonjour, Je développe une macro en VBA pour CATIA V5R14. La macro effectue des opérations sur un document de type " Drafting " et je rencontre des pr Gestion des propriétés sous CATIA en VB Script [ par isa911 ] Bonjour, Je suis en train de faire un code permettant de créer des Part, Product et/ou Drawing en renseignant dès la création des documents un certain Base de registres : qui a la clé ? (à part Bilou ?) [ par swic ] Salut à tous...Je sais, j'insiste, avec mon pb, mais je trouve curieux que personne d'autre ne l'ait rencontré... ou alors, je me suis mal exprimé...L Erreur de connexion LDAP [ par adams36 ] Bonjour,J'essaye de me connecter à un annuaire LDAP en asp de la manière suivante :Set oLDAP = GetObject(strSourceLdapPath)If Err.number 0 ThenRespon combobox vb6 recordset [ par neo3015 ] y a t il moyen dans vb6 de lier une combo box et un record set?sous acces et vba on faitset combo1.recordset = rst 'ou un truc comme camais sous vb6 very important:mise a jour entre 2 tables d'un bas de données [ par kro1664 ] kro1664!!!!!!!!le probleme est:j'ai de table dans une base de donnée qui s'appelle stockdans ces 2 table j'ai un champ quantité de piècelorsque je veu connection a une base de données [ par gandalfgris ] bonjour,j'utilise une connection a une base tres simple..set base = opendatabase(bdd) ' bdd = adresse de ma base accessensuite j'ouvre ma base par set


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales