Communauté
Inventor - Français
Bienvenue sur les forums Inventor d’Autodesk. Partagez vos connaissances, posez des questions, collaborez sur des idées, et explorez les sujets Inventor populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Inventor : Detection du symbole et leur remplacement dans la meme position par un autre

1 RÉPONSE 1
RÉSOLU
Répondre
Message 1 sur 2
denis.semeniuc
203 Visites, 1 Réponse

Inventor : Detection du symbole et leur remplacement dans la meme position par un autre

Bonjour,

j'ai une code quel remplace le symbole nomé sur tous les pages par une autre.

Il y a une possibilite de detecter la position du symbole et placer la nouvel dans la meme position?

 

Voici mon code:

Dim oSheets As Sheets= ThisDoc.Document.sheets
Dim oSheet As Sheet
For Each oSheet In oSheets
oSheet.Activate
Dim oSymbol As SketchedSymbol
Dim oSymbols As SketchedSymbols
' Obtain a reference to the desired sketched symbol definition.
Dim oSketchedSymbolDef1 As SketchedSymbolDefinition = ThisDrawing.Document.SketchedSymbolDefinitions.Item("PE_PRÉLIMINAIRE_FR")
Dim oSketchedSymbolDef2 As SketchedSymbolDefinition = ThisDrawing.Document.SketchedSymbolDefinitions.Item("PE_SOUMISSION_FR")
Dim oSketchedSymbolDef3 As SketchedSymbolDefinition = ThisDrawing.Document.SketchedSymbolDefinitions.Item("PE_CONSTRUCTION_FR")
Dim oSketchedSymbolDef4 As SketchedSymbolDefinition = ThisDrawing.Document.SketchedSymbolDefinitions.Item("PE_ConsigneSoudure_FR")
 
'create insertion point, coordinates - in cm !
Dim oTG As TransientGeometry = ThisApplication.TransientGeometry
Dim oInsertionPoint1 As Point2d = oTG.CreatePoint2d(30,5)
Dim oInsertionPoint2 As Point2d = oTG.CreatePoint2d(10.2, 2.2)
 
' Add an instance of the sketched symbol definition to the sheet.
For Each oSymbol  In oSheet.SketchedSymbols
	If oSymbol.Name="PE_PRÉLIMINAIRE_FR"
		oSymbol.Delete
		Dim oSketchedSymbol1 As SketchedSymbol = oSheet.SketchedSymbols.Add(oSketchedSymbolDef2, oInsertionPoint1,0.261799, 1, Nothing)
		iProperties.Value("Project", "Engr Date Approved") = Now
		iProperties.Value("Project", "Revision Number") = 0
	ElseIf oSymbol.Name="PE_SOUMISSION_FR"
	oSymbol.Delete
	Dim oSketchedSymbol1 As SketchedSymbol = oSheet.SketchedSymbols.Add(oSketchedSymbolDef3, oInsertionPoint1,0.261799, 1, Nothing)
		iProperties.Value("Project", "Mfg Date Approved") = Now
		iProperties.Value("Project", "Revision Number")=1
  End If   
 Next

ThisApplication.ActiveView.Fit


Next
InventorVb.DocumentUpdate(False)

ThisApplication.ActiveDocument.Sheets(1).Activate()

 

 

P.S. - vous povez lui corriger si il y a une fasson de faire tout ca plus semple.

 

Merci. 


Le titre du sujet a été modifié par un modérateur pour faciliter la recherche. Titre original:
Detection du symbole et leur remplacement dans la meme position par un autre

1 RÉPONSE 1
Message 2 sur 2
ThomasB44
en réponse à: denis.semeniuc

Salut @denis.semeniuc 

Oui, il suffit d'enregistrer sa position et de le replacer au même endroit (ou un autre).

Pour lire la position du symbole, tu peux par exemple lire ses positions en X et Y.

Pour enregistrer et changer sa position il faut un Point2D.

 

Dim oSymbol As Inventor.SketchedSymbol
oSymbol = oSheet.SketchedSymbols.Item(1)
Dim oTG As Inventor.TransientGeometry
oTG = ThisApplication.TransientGeometry
Dim oPosition As Inventor.Point2d

'Show position
MessageBox.Show("Actual position : " _
& vbNewLine & "oSymbol.X : " & oSymbol.Position.X _
& vbNewLine & "oSymbol.Y : " & oSymbol.Position.Y, "iLogic")

'Record a new position
oPosition = oTG.CreatePoint2d(oSymbol.Position.X+1, oSymbol.Position.Y+1)

'Set new position
oSymbol.Position = oPosition

'Show position
MessageBox.Show("New position : " _
& vbNewLine & "oSymbol.X : " & oSymbol.Position.X _
& vbNewLine & "oSymbol.Y : " & oSymbol.Position.Y, "iLogic")

 


Thomas
Mechanical Designer / Inventor Professionnal 2023
Inventor Professional EESignature

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report