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; }
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); } }
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(); }
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); }