CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -38%
Enceinte colonne – Focal Chorus 726 – Noir ...
Voir le deal
245 €

application par défaut d'un matériau

2 participants

Aller en bas

application par défaut d'un matériau Empty application par défaut d'un matériau

Message par arnaud_68121 Mar 27 Déc 2011 - 10:27

Ma question est peut être toute bête mais je trouve aucune info dessus sur le web ...
J'utilise beaucoup de pièces en alu dans mes études pour mon taf' et la problématique du poids est très importante. On aimerait donc, plutot que de créer une part et y insérer le matériau ensuite, créer une part liée automatiquement à un matériau.

Je m'explique un peu mieux : je crée une nouvelle part où catia applique directement l'alu comme matériau.

Est ce possible de faire ca ? si oui, comment ?

merci pour vos réponses

arnaud_68121
timide
timide

Messages : 17
Date d'inscription : 27/11/2011
Localisation : Urbès

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par flo Mar 27 Déc 2011 - 20:01

je dirai oui, tu peut créer une macro qui te crée une nouvelle pièce et qui lui associe directement un matériau, sinon, dans les options de catia, je ne croix pas avoir déjà vu ça.
flo
flo
Fédérateur
Fédérateur

Messages : 455
Date d'inscription : 21/01/2011
Age : 34
Localisation : Angers

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par arnaud_68121 Mar 27 Déc 2011 - 20:08

J'ai deja posté sur les macros mais je ne sais pas si qqn ici en tout cas saurait programmer qqch du genre ... C'est plus de la progra pure que du Catia ...
Moi c'est sur que non en tout cas mais si qqn a une idée je prend bien entendu !

arnaud_68121
timide
timide

Messages : 17
Date d'inscription : 27/11/2011
Localisation : Urbès

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par flo Mar 27 Déc 2011 - 21:55

Créer une macro vba et colle ce code, normalement ça marche (chez moi c'est bon)
Code:
Sub CATMain()

Dim product1 As Product
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As Document

'creation de part
Set partDocument1 = documents1.Add("Part")
Set partDocument1 = CATIA.ActiveDocument
Set product1 = partDocument1.GetItem(partDocument1.Name)
NomPart = InputBox("Nom de la part", "Création de part")
If NomPart <> "" Then
product1.PartNumber = NomPart
product1.Update
End If

'ajout de matière
Dim matCatalogPath As String
CATIA.DisplayFileAlerts = False
Dim oMaterial_document As Document
Set oMaterial_document = CATIA.Documents.Read("C:\Program Files\Dassault Systemes\B20\intel_a\startup\materials\Catalog.CATMaterial") 'le chemin du catalogue peut être changé si besoin
Dim oMaterial1 As Material
Set oMaterial1 = oMaterial_document.Families.Item("Metal").Materials.Item("Aluminium")
Dim oManager As MaterialManager
Dim oPartDocument As Document
Set oPartDocument = CATIA.ActiveDocument
Dim oPart As Part
Set oPart = oPartDocument.Part
Set oManager = oPart.GetItem("CATMatManagerVBExt")
oManager.ApplyMaterialOnPart oPart, oMaterial1, 0
oMaterial_document.Close
Exit Sub

End Sub
et tu peut y ajouter un petit bouton pour y accéder facilement en le mettant dans ta barre d'outils.
Tu peut également créer une variante pour ajouter un matériau lorsque tu créer une part en l'insérant directement dans un product.
flo
flo
Fédérateur
Fédérateur

Messages : 455
Date d'inscription : 21/01/2011
Age : 34
Localisation : Angers

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par arnaud_68121 Mer 28 Déc 2011 - 9:34

ton code marche super, si c'est toi qui l'a crée aussi vite c'est balèze c'est pas du tout mon domaine et ma formation n'y touche meme pas ...
par contre pour moi il serait effectivement plus intéressant de créer un ptit bouton de commande mais aussi d'intégrer la part dans un produit actif ...
je sais absolument pas comment faire ...

parce que la dans ton code, si un produit est ouvert en meme temps dans catia, la macro plante avant d'appliquer le materiau, pour mon cas il faudrait que ma part s'integre à mon produit directement.

Merci pour ton aide

arnaud_68121
timide
timide

Messages : 17
Date d'inscription : 27/11/2011
Localisation : Urbès

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par flo Mer 28 Déc 2011 - 12:53

pour le code, je me suis inspiré de CATIA_Portable_Script_Center_v2.0, et pour le reste, je regarde ça se soir. Et pour créer un bouton, tu vas dans affochage, barre d'outils, personnaliser, commande puis macros (en bas dans le fenetre de gauche), et affichage des propriétés, et et tu peut mettre une icone, puis tu fait glisser le macro vers la barre d'outils.
flo
flo
Fédérateur
Fédérateur

Messages : 455
Date d'inscription : 21/01/2011
Age : 34
Localisation : Angers

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par arnaud_68121 Mer 28 Déc 2011 - 12:57

dac' je te remercie, j'attend ta version du code Smile
ton aide est plus que précieuse

arnaud_68121
timide
timide

Messages : 17
Date d'inscription : 27/11/2011
Localisation : Urbès

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par flo Jeu 29 Déc 2011 - 19:40

voila le code pour créer une part à partir d'un product, mais après, je n'y arrive pas, il faudrai le code pour entrer dans le part, du style "Edit", mais j'ai essayé CATIA.StartDommand "Edit" et CATIA.StartWorkbench ("PrtCfg") mais ça ne marche pas, alors si d'autres ont des idées...
Code:
'creation de part a partir d'un product
Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument
Set product1 = productDocument1.Product
Dim products1 As Products
Set products1 = product1.Products
Dim product2 As Product
NomPart = InputBox("Nom de la part", "Création de part")
If NomPart <> "" Then
Set product2 = products1.AddNewComponent("Part", "")
Else
Set product2 = products1.AddNewComponent("Part", "")
NomPart = product2.PartNumber
End If
flo
flo
Fédérateur
Fédérateur

Messages : 455
Date d'inscription : 21/01/2011
Age : 34
Localisation : Angers

Revenir en haut Aller en bas

application par défaut d'un matériau Empty Re: application par défaut d'un matériau

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum