AssemblyFeature ExtrudedCutOut???



Does anyone have any insight on how to use AssemblyFeaturesExtrudedCutouts in the API?

It is a member of AssemblyFeatures.

Thank you all for your time,



Posted by: Matthew Daniel
Post date: 9/13/2007 9:24:44 AM


RE: AssemblyFeature ExtrudedCutOut???



What is it that you're wanting to know about the interface? There is an Add() method and it's enumerable.


The Add() method looks very nasty. Here is it's IDL.



[id(0x00000005), helpstring(" "), helpcontext(0x0098967f)]

AssemblyFeaturesExtrudedCutout* Add(

[in] long nNumScopeParts,

[in] SAFEARRAY(IUnknown*)* pScopeParts,

[in] long nNumProfiles,

[in] SAFEARRAY(IUnknown*)* pProfiles,

[in] FeaturePropertyConstants ExtentType,

[in] FeaturePropertyConstants* pExtentSide,

[in] FeaturePropertyConstants profileSide,

[in] double* pdDistance,

[in] IUnknown* pKeyPoint,

[in] KeyPointExtentConstants* pKeyPointFlags,

[in] IUnknown* pFromSurfOrPlane,

[in] IUnknown* pToSurfOrPlane);



Posted by: Jason Newell
Post date: 9/18/2007 1:14:37 PM

RE: AssemblyFeature ExtrudedCutOut???



Thanks for the reply.  I am intersest in the add() method.  I have figured out how to draw a profile in an assembly document but I can't cut it out.

I think I have a reletive understanding of the first 8 arguments. From pKeypoint down I am clueless. 

Thanks again,



Posted by: Matthew Daniel
Post date: 9/19/2007 4:00:48 AM

RE: AssemblyFeature ExtrudedCutOut???



I got the answer from  The following chunk of code works on v20 only.  For some reason the exact same code fails on v18 and I don't have v19.

        Dim ScopedParts() As Object

        Dim nParts As Integer


        nParts = DocAsm.Occurrences.Count

        ReDim ScopedParts(nParts)


        For i As Integer = 1 To DocAsm.Occurrences.Count

            ScopedParts.SetValue(DocAsm.Occurrences.Item(i), (i - 1)) 



        Dim keypnt As Object = Nothing


        Dim ExtentType As SolidEdgePart.FeaturePropertyConstants = SolidEdgePart.FeaturePropertyConstants.igThroughAll  



        Dim ExtentSide As SolidEdgePart.FeaturePropertyConstants = SolidEdgePart.FeaturePropertyConstants.igRight



        Dim ProfileSide As SolidEdgePart.FeaturePropertyConstants = SolidEdgePart.FeaturePropertyConstants.igRight


        Dim ExtentValue As Double = 0.0


        Dim keypntflag As SolidEdgePart.KeyPointExtentConstants  = SolidEdgePart.KeyPointExtentConstants.igTangentNormal


        Dim surf1, surf2 As Object


        surf1 = Nothing

        surf2 = Nothing


    Dim asmFeats As SolidEdgeAssembly.AssemblyFeatures = DocAsm.AssemblyFeatures


        Dim ASMCuts As SolidEdgeAssembly.AssemblyFeaturesExtrudedCutouts =                asmFeats.AssemblyFeaturesExtrudedCutouts

    Dim ASMCut As SolidEdgeAssembly.AssemblyFeaturesExtrudedCutout


        ASMCut = ASMCuts.Add(nParts, ScopedParts, 1, ProfileArray, ExtentType, ExtentSide, ProfileSide, ExtentValue, Nothing, keypntflag, Nothing, Nothing)


Thanks for your help.


Posted by: Matthew Daniel
Post date: 10/4/2007 10:33:35 AM

RE: AssemblyFeature ExtrudedCutOut???

Hello to all!


Could anybody tell how to create a profile in an assembly...

I need to create a hole in an assembly, but can't find the way of creating profile.


Thank you.



Posted by: Sergey Sergeenko
Post date: 1/11/2010 10:40:35 PM

RE: AssemblyFeature ExtrudedCutOut???



You have to create a layout. You can use it in the same manner that you would use a profile in part mode.


DocAsm = SolidEdgeApp.Documents.Open(strDir & "Test_Part.asm")


Layouts = DocAsm.Layouts

Layout = Layouts.Add(DocAsm.AsmRefPlanes.Item(1))

LProfile = Layout.Profile




Posted by: Matthew Daniel
Post date: 1/12/2010 1:34:30 AM

RE: AssemblyFeature ExtrudedCutOut???

Thank you very much for your answer!

The only problem is that layout is visible in the models tree...


P.S. It's a bit strange that SolidEdge developers haven't created the same way of working with feature profiles as in PartDocument.


Posted by: Sergey Sergeenko
Post date: 1/12/2010 2:44:13 AM