public static int Main(string[] args)
{
int retValue = 0;
try
{
theProgram = new Program();
//TODO: Add your application code here
Session theSession = Session.GetSession();
Part worPart = theSession.Parts.Work;
Part displayPart = theSession.Parts.Display;
NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder1 = worPart.Features.CreateBlockFeatureBuilder(null);
Point3d oringinpomint = new Point3d(0, 0, 0);
blockFeatureBuilder1.SetOriginAndLengths(oringinpomint, "100", "50", "100");
NXOpen.Features.Feature feature = blockFeatureBuilder1.CommitFeature();//委托NX创建特并且返回一个特征
blockFeatureBuilder1.Destroy();
if (feature != null && feature is NXOpen.Features.Block)//判断特征父项是否包含有体block,继承
{
NXOpen.Features.Block block = (NXOpen.Features.Block) feature;//强制转换为block
NXOpen.Body[] bodies = block.GetBodies();//获得体并且赋值给body数组
int count = bodies.Length;
DisplayableObject[] objects1 = new DisplayableObject[count];
for (int i = 0; i < count; i++)//遍历赋值所有体元素到显示元素
{
objects1[i] = bodies[i];
}
DisplayModification displayModification1 = theSession.DisplayManager.NewDisplayModification();//在当前绘画窗口中调用修改显示方法返回对象修改变量
displayModification1.NewTranslucency = 50;
displayModification1.NewFont = NXOpen.DisplayableObject.ObjectFont.Dashed;
//Body body1 = (Body)worPart.Bodies.FindObject("BLOCK(1)");
//objects1[0] = body1;
displayModification1.Apply(objects1);
}
theProgram.Dispose();