cs_tomloc
Messages postés3Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention23 janvier 2006
-
7 déc. 2005 à 13:34
anwnn06
Messages postés5Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention 6 décembre 2007
-
6 déc. 2007 à 10:26
Je suis dessinateur-projeteur et je souhaiterai creer une macro qui me permet d'effectuer les meme taches sur differents assemblages (Mise en plan, table de nomenclatures, bulles automatiques, etc) mon probleme c'est que dans l'editeur de macro sous VBA je me rend compte que la macro fait appelle au fichier dans lequel je l'ai creer, quelqu'un pourrait-t-il m'expliquer comment faire pour que cette macro soit valable pour tous mes assemblages?
J'espere être assez clair,
par avance merci
Pour info voila le début du code que je voudrais modifier (la partie rouge renvoi au fichier de création de la macro et je voudrai la remplacer pour qu'elle pointe sur le fichier actif)
im swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
swApp.ActiveDoc.ActiveView.FrameLeft = 0
swApp.ActiveDoc.ActiveView.FrameTop = 0
swApp.ActiveDoc.ActiveView.FrameState = 1
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.SetPickMode
Set Part = swApp.NewDocument("H:\Public\03 Service Technique\310 FORMES\00 FORMES - FRANCAIS\PL & SC - Schémas et Plans\PL 040 B - A1h .slddrt", 12, 0.2794, 0.4318)
Dim DrawView As Object
Set DrawView = Part.CreateDrawViewFromModelView2("C:\PDMWORKS TEMP\2115-BC-A-TU-CG 01 EG G 50 A.SLDASM", "*Isométrique", 0.2122041534989, 0.2113676749436, 0)
boolstatus = Part.ActivateView("Vue de mise en plan1")
End Sub
puppetmaster_53
Messages postés1Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention19 janvier 2006 19 janv. 2006 à 22:20
si on part du principe que tu lances ta macro depuis un assemblage, tu peux peut etre essayer ca:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim Nom_Assemblage as string
Sub main()
Set swApp = Application.SldWorks
Set Nom_Assemblage = swApp.ActiveDoc
swApp.ActiveDoc.ActiveView.FrameLeft = 0
swApp.ActiveDoc.ActiveView.FrameTop = 0
swApp.ActiveDoc.ActiveView.FrameState = 1
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.SetPickMode
Set Part = swApp.NewDocument("H:\Public\03 Service Technique\310 FORMES\00 FORMES - FRANCAIS\PL & SC - Schémas et Plans\PL 040 B - A1h .slddrt", 12, 0.2794, 0.4318)
Dim DrawView As Object
Set DrawView = Part.CreateDrawViewFromModelView2(Nom_Assemblage , "*Isométrique", 0.2122041534989, 0.2113676749436, 0)
boolstatus = Part.ActivateView("Vue de mise en plan1")
End Sub
tiens moi au courant si ca marche, et si ca rate aussi ;-)
Merci, et bon courage
cs_tomloc
Messages postés3Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention23 janvier 2006 23 janv. 2006 à 10:32
Merci mais du coup j'ai le message "Erreur de compilation: objet requis" qui apparait
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim Nom_Assemblage As String
Sub main()
Set swApp = Application.SldWorks
Set Nom_Assemblage = swApp.ActiveDoc
swApp.ActiveDoc.ActiveView.FrameLeft = 0
swApp.ActiveDoc.ActiveView.FrameTop = 0
swApp.ActiveDoc.ActiveView.FrameState = 1
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.SetPickMode
Set Part = swApp.NewDocument("H:\Public\03 Service Technique\310 FORMES\00 FORMES - FRANCAIS\PL & SC - Schémas et Plans\PL 040 B - A1h .slddrt", 12, 0.2794, 0.4318)
Dim DrawView As Object
Set DrawView = Part.CreateDrawViewFromModelView2(Nom_Assemblage, "*Isométrique", 0.2122041534989, 0.2113676749436, 0)
boolstatus = Part.ActivateView("Vue de mise en plan1")
End Sub
anwnn06
Messages postés5Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention 6 décembre 2007 6 déc. 2007 à 10:26
Comme ça, c'est mieux?
Désolé pour le déterrage!
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
swApp.ActiveDoc.ActiveView.FrameLeft = 0
swApp.ActiveDoc.ActiveView.FrameTop = 0
swApp.ActiveDoc.ActiveView.FrameState = 1
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.SetPickMode
Set Part = swApp.NewDocument("H:\Public\03 Service Technique\310 FORMES\00 FORMES - FRANCAIS\PL & SC - Schémas et Plans\PL 040 B - A1h .slddrt", 12, 0.2794, 0.4318)
Dim DrawView As Object
Set DrawView = Part.CreateDrawViewFromModelView2(Part.GetPathName, "*Isométrique", 0.2122041534989, 0.2113676749436, 0)
boolstatus = Part.ActivateView("Vue de mise en plan1")
End Sub