<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Creating mate with VB.NET API. Lots of parts like movement chain in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/creating-mate-with-vb-net-api-lots-of-parts-like-movement-chain/m-p/3811107#M131719</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I saw a good example of coding of mate modmachine &lt;A href="http://modthemachine.typepad.com/my_weblog/2010/08/using-c-with-the-inventor-api-part-3.html" target="_self" title="Modmachine mate sample"&gt;site&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Dim asmDoc As AssemblyDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asmDoc = inv_App.ActiveDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim asmDef As AssemblyComponentDefinition&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asmDef = asmDoc.ComponentDefinition&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim face1 As Face&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; face1 = inv_App.CommandManager.Pick( _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectionFilterEnum.kPartFacePlanarFilter, _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "1. Yüzeyi Seçin...")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim face2 As Face&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; face2 = inv_App.CommandManager.Pick( _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectionFilterEnum.kPartFacePlanarFilter, _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "2. Yüzeyi Seçin...")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim mate As MateConstraint&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mate = asmDef.Constraints.AddMateConstraint(face1, face2, 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Perfect sample but I need to mate together lots of movement chain parts. I used I-Mate. I-mate make me faster but I need to mate all this parts with the VB.NET API code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to give a name to mate-point of each part. Then I want to make mate with the name of the mate-points. Is this possible?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With above code I need to pick a face by user input every time. This is not so easy. My Code should be below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Create Inner Chain,&lt;/P&gt;&lt;P&gt;Cretae Outer Chain,&lt;/P&gt;&lt;P&gt;Mate PointInnerX of the Inner chain with the point PointOuterXX of the outer chain. I do not want to pick a mate point everytime?!...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;mate = asmDef.Constraints.AddMateConstraint(PointOneNameOfTheFirstPart, PointOneNameOfTheSeconPart, 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is the below code like possible?...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mucip:)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 21 Mar 2013 13:56:09 GMT</pubDate>
    <dc:creator>mucip</dc:creator>
    <dc:date>2013-03-21T13:56:09Z</dc:date>
    <item>
      <title>Creating mate with VB.NET API. Lots of parts like movement chain</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/creating-mate-with-vb-net-api-lots-of-parts-like-movement-chain/m-p/3811107#M131719</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I saw a good example of coding of mate modmachine &lt;A href="http://modthemachine.typepad.com/my_weblog/2010/08/using-c-with-the-inventor-api-part-3.html" target="_self" title="Modmachine mate sample"&gt;site&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Dim asmDoc As AssemblyDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asmDoc = inv_App.ActiveDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim asmDef As AssemblyComponentDefinition&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asmDef = asmDoc.ComponentDefinition&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim face1 As Face&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; face1 = inv_App.CommandManager.Pick( _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectionFilterEnum.kPartFacePlanarFilter, _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "1. Yüzeyi Seçin...")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim face2 As Face&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; face2 = inv_App.CommandManager.Pick( _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectionFilterEnum.kPartFacePlanarFilter, _&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "2. Yüzeyi Seçin...")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim mate As MateConstraint&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mate = asmDef.Constraints.AddMateConstraint(face1, face2, 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Perfect sample but I need to mate together lots of movement chain parts. I used I-Mate. I-mate make me faster but I need to mate all this parts with the VB.NET API code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to give a name to mate-point of each part. Then I want to make mate with the name of the mate-points. Is this possible?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With above code I need to pick a face by user input every time. This is not so easy. My Code should be below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Create Inner Chain,&lt;/P&gt;&lt;P&gt;Cretae Outer Chain,&lt;/P&gt;&lt;P&gt;Mate PointInnerX of the Inner chain with the point PointOuterXX of the outer chain. I do not want to pick a mate point everytime?!...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;mate = asmDef.Constraints.AddMateConstraint(PointOneNameOfTheFirstPart, PointOneNameOfTheSeconPart, 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is the below code like possible?...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Mucip:)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Mar 2013 13:56:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/creating-mate-with-vb-net-api-lots-of-parts-like-movement-chain/m-p/3811107#M131719</guid>
      <dc:creator>mucip</dc:creator>
      <dc:date>2013-03-21T13:56:09Z</dc:date>
    </item>
    <item>
      <title>Re: Creating mate with VB.NET API. Lots of parts like movement chain</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/creating-mate-with-vb-net-api-lots-of-parts-like-movement-chain/m-p/3816463#M131720</link>
      <description>&lt;P&gt;Hi Mucip,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could still use iMates to later on hook up the parts with each other programmatically:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://adndevblog.typepad.com/manufacturing/2013/03/hook-up-a-chain-using-imates.html" target="_self"&gt;http://adndevblog.typepad.com/manufacturing/2013/03/hook-up-a-chain-using-imates.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;</description>
      <pubDate>Wed, 27 Mar 2013 16:41:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/creating-mate-with-vb-net-api-lots-of-parts-like-movement-chain/m-p/3816463#M131720</guid>
      <dc:creator>adam.nagy</dc:creator>
      <dc:date>2013-03-27T16:41:01Z</dc:date>
    </item>
    <item>
      <title>Re: Creating mate with VB.NET API. Lots of parts like movement chain</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/creating-mate-with-vb-net-api-lots-of-parts-like-movement-chain/m-p/3816710#M131721</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thanks...&lt;/P&gt;&lt;P&gt;I also find a way in these forums and tryed to increased functioanality little bit more...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code inserting chain couples and mating them each others... You can increase the chain quantity.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Code is below:&lt;/P&gt;&lt;P&gt;Public Sub iMateResultCreationSample()&lt;BR /&gt;'Mucip Alınan yer aşağıda...&lt;BR /&gt;'&lt;A href="http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/vba-imate-code-for-assy/m-p/2112512/highlight/true#M22856" target="_blank"&gt;http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/vba-imate-code-for-assy/m-p/2112512/highlight/true#M22856&lt;/A&gt;&lt;BR /&gt;'&lt;A href="http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/Adding-contraints-with-VBA/m-p/760385/highlight/true#M3939" target="_blank"&gt;http://forums.autodesk.com/t5/Autodesk-Inventor-Customization/Adding-contraints-with-VBA/m-p/760385/highlight/true#M3939&lt;/A&gt;&lt;/P&gt;&lt;P&gt;' Get the component definition of the currently open assembly.&lt;BR /&gt;' This will fail if an assembly document is not open.&lt;BR /&gt;Dim oAsmCompDef As AssemblyComponentDefinition&lt;BR /&gt;Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition&lt;/P&gt;&lt;P&gt;' Create a new matrix object. It will be initialized to an identity matrix.&lt;BR /&gt;Dim oMatrix As Matrix&lt;BR /&gt;Set oMatrix = ThisApplication.TransientGeometry.CreateMatrix&lt;/P&gt;&lt;P&gt;' Place the first occurrence.&lt;BR /&gt;Dim oOcc1 As ComponentOccurrence&lt;BR /&gt;Set oOcc1 = oAsmCompDef.Occurrences.Add("R:\Resimler\Chain_B.ipt", oMatrix)&lt;/P&gt;&lt;P&gt;' Place the second occurrence, but adjust the matrix slightly so they're&lt;BR /&gt;' not right on top of each other.&lt;BR /&gt;oMatrix.Cell(1, 4) = 10&lt;BR /&gt;Dim oOcc2 As ComponentOccurrence&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Dim oiMateDef1 As iMateDefinition&lt;/P&gt;&lt;P&gt;'Set oiMateDef1 = oOcc1.iMateDefinitions.Item(1)&lt;/P&gt;&lt;P&gt;Dim oiMateDef2 As iMateDefinition&lt;/P&gt;&lt;P&gt;Dim oiMateResult As iMateResult&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dim Sayac As Long&lt;BR /&gt;For Sayac = 2 To 10 ' You may increase the chain quantity with this number...&lt;/P&gt;&lt;P&gt;If ((Sayac Mod 2) = 0) Then&lt;BR /&gt;Set oOcc2 = oAsmCompDef.Occurrences.Add("R:\Resimler\Chain_P.ipt", oMatrix)&lt;BR /&gt;Set oiMateDef2 = oOcc2.iMateDefinitions.Item(1)&lt;BR /&gt;Set oiMateDef1 = oOcc1.iMateDefinitions.Item(1)&lt;/P&gt;&lt;P&gt;Set oiMateResult = oAsmCompDef.iMateResults.AddByTwoiMates(oiMateDef1, oiMateDef2)&lt;BR /&gt;Else&lt;BR /&gt;Set oOcc2 = oAsmCompDef.Occurrences.Add("R:\Resimler\Chain_B.ipt", oMatrix)&lt;BR /&gt;Set oiMateDef1 = oOcc1.iMateDefinitions.Item(2)&lt;BR /&gt;Set oiMateDef2 = oOcc2.iMateDefinitions.Item(2)&lt;BR /&gt;Set oiMateResult = oAsmCompDef.iMateResults.AddByTwoiMates(oiMateDef1, oiMateDef2)&lt;BR /&gt;&lt;BR /&gt;End If&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'Set oiMateResult = oAsmCompDef.iMateResults.AddByTwoiMates(oiMateDef1, oiMateDef2)&lt;BR /&gt;Set oOcc1 = oOcc2&lt;/P&gt;&lt;P&gt;Next&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;</description>
      <pubDate>Wed, 27 Mar 2013 19:20:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/creating-mate-with-vb-net-api-lots-of-parts-like-movement-chain/m-p/3816710#M131721</guid>
      <dc:creator>mucip</dc:creator>
      <dc:date>2013-03-27T19:20:53Z</dc:date>
    </item>
  </channel>
</rss>

