Insert GTol Example (C#)
This example shows how to to insert a GTol whose frame contains datums with
material conditions.
//-------------------------------------------------------
// Preconditions: Verify that the specified drawing
// document to open exists.
//
// Postconditions:
// 1. Opens the specified drawing document.
// 2. Inserts a GTol whose frame contains datums with material
// conditions.
// 3. Examine the drawing.
//
// NOTE: Because this drawing is used elsewhere, do not
// save changes.
//-------------------------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System.Runtime.InteropServices;
using System;
namespace Macro1CSharp.csproj
{
partial class SolidWorksMacro
{
public void Main()
{
DrawingDoc swDrawing = default(DrawingDoc);
ModelDoc2 swModel = default(ModelDoc2);
Gtol swGtol = default(Gtol);
Annotation swAnnotation = default(Annotation);
bool status = false;
int errors = 0;
int warnings = 0;
string fileName = null;
fileName = "C:\\Program Files\\SolidWorks Corp\\SOLIDWORKS\\samples\\tutorial\\advdrawings\\foodprocessor.slddrw";
swDrawing = (DrawingDoc)swApp.OpenDoc6(fileName, (int)swDocumentTypes_e.swDocDRAWING, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", ref errors, ref warnings);
swApp.ActivateDoc3("foodprocessor - Sheet1", false, (int)swRebuildOnActivation_e.swRebuildActiveDoc, ref errors);
swModel = (ModelDoc2)swDrawing;
swGtol = (Gtol)swModel.InsertGtol();
if ((swGtol != null))
{
swGtol.SetFrameSymbols2(1, "<IGTOL-POSI>", false, "", false, "", "", "", "");
swGtol.SetFrameValues(1, "0.2", "", "B-A-C<MOD-MMC>", "B<MOD-MMC>-C<MOD-LMC>", "C<MOD-MMC>-A");
swGtol.SetPTZHeight("", false);
swGtol.SetCompositeFrame2(false, 1);
swGtol.SetBetweenTwoPoints(false, "", "");
swAnnotation = (Annotation)swGtol.GetAnnotation();
if ((swAnnotation != null))
{
status = swAnnotation.SetPosition2(0.245354759676629, 0.126683476923077, 0);
errors = swAnnotation.SetLeader3((int)swLeaderStyle_e.swNO_LEADER, (int)swLeaderSide_e.swLS_SMART, true, false, false, false);
}
}
swModel.WindowRedraw();
}
/// <summary>
/// The SldWorks swApp variable is pre-assigned for you.
/// </summary>
public SldWorks swApp;
}
}