Create and Modify Move Face Feature Example (C#)
This example shows how to create a Move Face feature by translating
a face on a part and then how to modify that Move Face feature.
//---------------------------------------------------------------------------
// Preconditions:
// 1. The specified SolidWorks document exists
// on
your system.
// 2. Set a break point at the OpenDoc6 statement.
// 3. Step through (press F8) the macro.
//
// Postconditions: A Move Face feature is created and
then
// modified.
//
// NOTE: Because the specified SolidWorks document is
used by
// a
SolidWorks online tutorial, do not save any changes
// when
closing the document.
//---------------------------------------------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
namespace InsertMoveFace2FeatureManagerCSharp.csproj
{
public
partial class SolidWorksMacro
{
public
void Main()
{
ModelDoc2
swModel = default(ModelDoc2);
ModelDocExtension
swModelDocExt = default(ModelDocExtension);
FeatureManager
swFeatMgr = default(FeatureManager);
Feature
swFeat = default(Feature);
MoveFaceFeatureData
swMoveFaceFeat = default(MoveFaceFeatureData);
double[]
transParams = null;
bool
boolstatus = false;
double[]
triadParams = new double[3];
int
fileerror = 0;
int
filewarning = 0;
//
Open the SolidWorks document
swApp.OpenDoc6("C:\\Program Files\\SolidWorks
Corp\\SolidWorks\\samples\\tutorial\\assemblymates\\knee.sldprt",
(int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"", ref fileerror, ref filewarning);
swModel
= (ModelDoc2)swApp.ActiveDoc;
swModelDocExt
= swModel.Extension;
swFeatMgr
= swModel.FeatureManager;
//
Translation parameters
triadParams[0]
= 0;
triadParams[1]
= 0.05;
triadParams[2]
= 0;
transParams
= triadParams;
//
Select face to move
boolstatus
= swModel.Extension.SelectByID2("",
"FACE", 0.04239074672171, 0.01587499999999, 0.3283508339712,
false, 1, null, 0);
//
Create the Move Face feature by
//
moving the selected face
swFeat
= (Feature)swFeatMgr.InsertMoveFace2(1,
false, 0, 0, (transParams), null);
//
Modify the Move Face feature
swMoveFaceFeat
= (MoveFaceFeatureData)swFeat.GetDefinition();
//
Roll back the Move Face feature
swMoveFaceFeat.AccessSelections(swModel, null);
triadParams[0]
= 0;
triadParams[1]
= 0.1;
triadParams[2]
= 0;
transParams
= triadParams;
swMoveFaceFeat.TriadTranslationParameters = (transParams);
//
Roll back the part with the modified Move Face feature
swFeat.ModifyDefinition(swMoveFaceFeat, swModel,
null);
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}