@Fabian_perree pour plus de détails sur le sujet :
Ce n'est pas très simple de faire plusieurs extrusions de différents contours d'une même esquisse.
En revanche, il est très simple d'extruder la totalité des contours d'une esquisse, aussi complexe soit elle :
oProfile = oSketch.Profiles.AddForSolid
oExtrude = oCompDef.Features.ExtrudeFeatures.AddByDistanceExtent( _
oProfile, oDistance, oDirection, oJoinOrCut)
http://inventortrenches.blogspot.com/2012/03/ilogic-to-select-all-of-closed-profiles.html
Si vraiment le nombre de solides est important, et que chaque extrusion doit représenter un contour fermé (sans addition ou soustraction de contour) voici la démarche :
Ajouter un contour d'esquisse à extruder :
oProfile = oSketch.Profiles.AddForSolid
Boucler sur les chemins de profils fermés :
For Each oProfilePath In oProfile
If oProfilePath.Closed = True Then
Boucler sur les entités du chemin, insérer dans une collection :
oEntity = oProfilePath.Item(i).SketchEntity
oPathSegments.Add(oEntity)
Envoyer la collection dans un nouveau profil :
ProfileToE = oSketch.Profiles.AddForSolid(False, oPathSegments)
Et enfin extruder avec les paramètres souhaités...
S'il faut faire des additions ou soustractions de contours, ça se complique...exclure/inclure le chemin du profil, ou ne pas l'envoyer dans la collection :
oProfilePath.AddsMaterial = False
😉
Thomas
Mechanical Designer / Inventor Professional 2025
