コード例 #1
0
ファイル: CClientGraphic.cs プロジェクト: waztdotnet/Api2
        private static Inventor.GraphicsCoordinateSet SetClientGraphics(ref Inventor.AssemblyDocument assemblyDocument, ref Inventor.ClientGraphics ClientGraphics, ref Inventor.GraphicsDataSets GraphDataSets, string GraphicsName)
        {
            Inventor.AssemblyComponentDefinition ComponentDefinition = assemblyDocument.ComponentDefinition;

            // add ClientGraphics
            ClientGraphics = ComponentDefinition.ClientGraphicsCollection.Add(GraphicsName);

            //add GraphicsDataSets

            try
            {
                GraphDataSets = assemblyDocument.GraphicsDataSetsCollection[GraphicsName];
                if (GraphDataSets != null)
                {
                    GraphDataSets.Delete();
                }
            }
            catch
            { }

            GraphDataSets = assemblyDocument.GraphicsDataSetsCollection.Add(GraphicsName);
            return(GraphDataSets.CreateCoordinateSet(1));
            //Inventor.GraphicsCoordinateSet oCoordSet = GraphDataSets.CreateCoordinateSet(1);

            //return oCoordSet;
        }
コード例 #2
0
        private void CreateAssemblyiMateConstraint(ref Inventor.AssemblyComponentDefinition AssemblyComponentDefinition, ref Inventor.ComponentOccurrence BaseComponentOccurrence, Inventor.ComponentOccurrence PositionComponentOccurrence, string BaseMateName, string PositionMateName, string affix)
        {
            bool BaseMateFound     = false;
            bool PositionMateFound = false;

            Inventor.iMateDefinition BaseMateDefinition     = null;
            Inventor.iMateDefinition PositionMateDefinition = null;
            Inventor.iMateResult     iMateResult            = null;

            foreach (Inventor.iMateDefinition MateDefinition in BaseComponentOccurrence.iMateDefinitions)
            {
                if (MateDefinition.Name == BaseMateName + ":" + affix)
                {
                    BaseMateDefinition = MateDefinition;
                    BaseMateFound      = true;
                }
            }

            foreach (Inventor.iMateDefinition MateDefinition in PositionComponentOccurrence.iMateDefinitions)
            {
                if (MateDefinition.Name == BaseMateName + ":" + affix)
                {
                    PositionMateDefinition = MateDefinition;
                    PositionMateFound      = true;
                }
            }

            if (BaseMateFound && PositionMateFound)
            {
                iMateResult = AssemblyComponentDefinition.iMateResults.AddByTwoiMates(BaseMateDefinition, PositionMateDefinition);
            }
        }
コード例 #3
0
ファイル: CClientGraphic.cs プロジェクト: waztdotnet/Api2
        private static void Test(ref Inventor.Application _InvApplication, ref Inventor.AssemblyDocument assemblyDocument, string ClientGraphicsName)
        {
            Inventor.AssemblyComponentDefinition ComponentDefinition = assemblyDocument.ComponentDefinition;

            // add ClientGraphics
            Inventor.ClientGraphics ClientGraphics = null;

            ClientGraphics = DeleteNamedGraphics(ref assemblyDocument, ClientGraphicsName);

            ClientGraphics = ComponentDefinition.ClientGraphicsCollection.Add(ClientGraphicsName);

            //add GraphicsDataSets
            Inventor.GraphicsDataSets GraphDataSets;
            try
            {
                GraphDataSets = assemblyDocument.GraphicsDataSetsCollection[ClientGraphicsName];
                if (GraphDataSets != null)
                {
                    GraphDataSets.Delete();
                }
            }
            catch
            { }

            GraphDataSets = assemblyDocument.GraphicsDataSetsCollection.Add(ClientGraphicsName);
            Inventor.GraphicsCoordinateSet oCoordSet = GraphDataSets.CreateCoordinateSet(1);

            // add GraphicsNode
            Inventor.GraphicsNode LineNode = ClientGraphics.AddNode(1);
            // add LineGraphics
            Inventor.LineGraphics LineSet = LineNode.AddLineGraphics();
            LineSet.CoordinateSet = oCoordSet;

            Inventor.TransientGeometry oTG = _InvApplication.TransientGeometry;

            oCoordSet.Add(1, oTG.CreatePoint(0, 0, 0));
            oCoordSet.Add(2, oTG.CreatePoint(20, 30, 0));

            oCoordSet.Add(3, oTG.CreatePoint(40, 20, 0));
            oCoordSet.Add(4, oTG.CreatePoint(60, 30, 100));

            // set LineDefinitionSpace as screen space
            LineSet.LineDefinitionSpace = Inventor.LineDefinitionSpaceEnum.kScreenSpace;
            // set Colour
            Inventor.GraphicsColorSet graphicsColorSet = LineSet.ColorSet;
            graphicsColorSet = GraphDataSets.CreateColorSet(1);
            LineSet.ColorSet = graphicsColorSet;
            LineSet.ColorSet.Add(1, 255, 1, 0);
            // set lineweight
            LineSet.LineWeight = 2;
            // set LineType
            LineSet.LineType = Inventor.LineTypeEnum.kChainLineType;
            // set LineScale
            LineSet.LineScale = 2;

            _InvApplication.ActiveView.Update();
        }
コード例 #4
0
ファイル: CClientGraphic.cs プロジェクト: waztdotnet/Api2
        private static Inventor.ClientGraphics DeleteClientGraphics(ref Inventor.AssemblyDocument assemblyDocument, ref Inventor.AssemblyComponentDefinition CompDef)//, Inventor.ClientGraphics oClientGraphics)
        {
            CompDef = assemblyDocument.ComponentDefinition;
            Inventor.ClientGraphics ClientGraphics = null;
            try
            {
                ClientGraphics = CompDef.ClientGraphicsCollection["CG_Test"];
                if (ClientGraphics != null)
                {
                    ClientGraphics.Delete();
                }
            }
            catch
            { }

            return(ClientGraphics);
        }