Open an Assembly in Large Design Review Mode Example (C#)
This example shows how to open an assembly in Large Design Review mode.
//----------------------------------------------------------------------------
// Preconditions: Open a large assembly document in Large Design Review
mode.
//
// Run macro: Click OK in the Name Snapshot dialog box.
//
// Postconditions:
// 1. A section view is created.
// 2. Four snapshots are created in DisplayManager:
// * Home
// * ASnap
// * Snap2
// * Snap3
// Inspect the Immediate window for snapshot information.
// 3. All of the components in the assembly are hidden.
// Inspect the Immediate window for the names of the hidden components.
//
---------------------------------------------------------------------------
using
Microsoft.VisualBasic;
using
System;
using
System.Collections;
using
System.Collections.Generic;
using
System.Data;
using
System.Diagnostics;
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using
System.Runtime.InteropServices;
namespace
Snapshot_CSharp.csproj
{
partial
class
SolidWorksMacro
{
AssemblyDoc
Part;
ModelDoc2
Model;
SnapShot
snap;
object[]
comps;
object[]
snaps;
SnapShot
snap1;
SnapShot
snap2;
SnapShot
snap3;
int
i;
bool
boolstatus;
public
void Main()
{
Part = (AssemblyDoc)swApp.ActiveDoc;
Model = (ModelDoc2)Part;
// Create section view
SectionViewData
sViewData = default(SectionViewData);
sViewData = Model.ModelViewManager.CreateSectionViewData();
sViewData.FirstPlane =
null;
sViewData.FirstReverseDirection =
false;
sViewData.FirstOffset = -0.00508;
sViewData.FirstRotationX = 0;
sViewData.FirstRotationY = 0;
sViewData.FirstColor = 16711680;
sViewData.ShowSectionCap =
true;
sViewData.KeepCapColor =
true;
ModelViewManager
mvmgr = default(ModelViewManager);
mvmgr = Model.ModelViewManager;
boolstatus = mvmgr.CreateSectionView(sViewData);
Model.ClearSelection2(true);
Model.ShowNamedView2("*Front",
1);
Model.ShowNamedView2("*Dimetric",
9);
// Add a named snapshot
snap1 = mvmgr.AddSnapShot("ASnap");
// Open dialog box to name the
next snapshot
snap2 = mvmgr.AddSnapShot("?");
// Add a snapshot with the next
default name
snap3 = mvmgr.AddSnapShot("");
snap1.Comment = "<TS>
This is a comment for ASnap.";
snaps = (object[])mvmgr.GetSnapShots();
for
(i = 0; i <= snaps.GetUpperBound(0); i++)
{
snap = (SnapShot)snaps[i];
snap.Activate();
Debug.Print("Snapshot
name: " + snap.Name);
Debug.Print(" Comment:
" + snap.Comment);
Debug.Print("
ViewID: " + snap.ViewId);
}
Component2
comp = default(Component2);
comps = (object[])Part.GetComponents(false);
Debug.Print("");
Debug.Print("SelectByID
names of components:");
Debug.Print("");
for
(i = 0; i <= comps.GetUpperBound(0); i++)
{
comp = (Component2)comps[i];
if
(comp.IsRoot())
{
Debug.Print("Root
Component " + comp.GetSelectByIDString());
}
else
{
Debug.Print("
" + comp.GetSelectByIDString());
// Hide each component
in the assembly
comp.Visible =
0;
}
}
// OPTIONAL:
Select one or more components
//
in the FeatureManager design tree
//
//
Fully resolve only the selected components
Part.SelectiveOpen(true,
false);
}
public
SldWorks
swApp;
}
}