AnsweredAssumed Answered

SolidWorks API C# Body Transparency

Question asked by Vadim Vadim on Sep 22, 2015
Latest reply on May 10, 2018 by Jacob Corder

Hello, guys. I'm working with SolidWorks plug-in. I need to create transparent body, but I can't do it. Can someone help me ??
I create new body by IModeler class, like this:


        protected virtual IBody2[] OnCreateBodies(ISldWokrs application, IModelDoc2 document, DetectorMacroFeatureData properties)
            double halfWidthX = (double)properties["X Half Width"].Value;
            double halfWidthY = (double)properties["Y Half Width"].Value;
            IModeler modeler = application.IGetModeler();
            IPartDoc part = document as IPartDoc;
            Point3D[] points = new Point3D[] { new Point3D(-halfWidthX, -halfWidthY, 0.5), new Point3D(-halfWidthX, halfWidthY, 0.5),
                                               new Point3D(halfWidthX, halfWidthY, 0.5), new Point3D(halfWidthX, -halfWidthY, 0.5) };
            Curve[] border = new Curve[4];

            for (int i = 0; i < 4; i++)
                border[i] = SWGeometry.CreateLine(application, points[i], points[(i + 1) % 4]);

            Surface planeSurf = modeler.CreatePlanarSurface2(new double[] { 0, 0, 0.5 }, new double[] { 0, 0, 1 }, new double[] { 1, 0, 0 }) as Surface;
            IBody2 detectorBody = planeSurf.CreateTrimmedSheet4(border, true) as IBody2;         

            return new IBody2[] { detectorBody };


When i use this function, i create correct planar body. Now i need to do it invisible (not hiden). So i want to set transparent as 100 %.
I reed, that i can do it by using MaterialPropertyValues2 property. But it is not work for me. When i try to get or set it, it always equals NULL.


var material = detectorBody.MaterialPropertyValues2 as double[]; // return NULL, like double[] or like object, anyway it equals NULL
material[7] = 1.0;
detectorBody.MaterialPropertyValues2 = material; // still equals NULL


Can someone help me or show some offers ?? I'm begginer in work with SolidWorks API, so it will be nice, if you show me some examples.