<?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 Using iLogic to make bisecting centerlines in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13427687#M713</link>
    <description>&lt;P&gt;I'm trying to do something that seems simple, but it's giving me a tough time. I want an ilogic program to bisect two lines of a swept hole to create a centerline in the section view of a drawing. Automated centerlines won't work in this case for some reason, probably because its a sweep rather than a hole. I don't want to have to select the edges with mouse clicks. The edges will be the same on every drawing made from this part. It will be part of a rule that creates the drawing view. I have tried using named entities in the model to create edges and then geometry intent but no luck so far. Attached is a video of what I'm trying to do. Seems so simple on the video but it's not working yet. I tried asking chatgpt and was running in circles with it. Any ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'Piezometer hole Centerline&lt;BR /&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPhole&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Edge&lt;/SPAN&gt; = &lt;SPAN&gt;oNEsFO&lt;/SPAN&gt;.&lt;SPAN&gt;FindEntity&lt;/SPAN&gt;(&lt;SPAN&gt;"P-hole"&lt;/SPAN&gt;)
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oPhole&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Edge 'P-hole' not found."&lt;/SPAN&gt;)
    &lt;SPAN&gt;Return&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If 'This code runs successfully and the edge is found&lt;/SPAN&gt;
&lt;SPAN&gt;edgeCurvesPhole&lt;/SPAN&gt; = &lt;SPAN&gt;oSectionViewFOHPT&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingCurves&lt;/SPAN&gt;(&lt;SPAN&gt;oPhole&lt;/SPAN&gt;) 'I dont think anything past here works
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pholetopline&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet2&lt;/SPAN&gt;.&lt;SPAN&gt;CreateGeometryIntent&lt;/SPAN&gt;(&lt;SPAN&gt;edgeCurvesPhole&lt;/SPAN&gt;(1))
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pholebtmline&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet2&lt;/SPAN&gt;.&lt;SPAN&gt;CreateGeometryIntent&lt;/SPAN&gt;(&lt;SPAN&gt;edgeCurvesPhole&lt;/SPAN&gt;(2))
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CLPholeFO&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Centerline&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet2&lt;/SPAN&gt;.&lt;SPAN&gt;Centerlines&lt;/SPAN&gt;.&lt;SPAN&gt;AddBisector&lt;/SPAN&gt;(&lt;SPAN&gt;pholetopline&lt;/SPAN&gt;,&lt;SPAN&gt;pholebtmline&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 15 Apr 2025 18:27:54 GMT</pubDate>
    <dc:creator>grantDHM4Z</dc:creator>
    <dc:date>2025-04-15T18:27:54Z</dc:date>
    <item>
      <title>Using iLogic to make bisecting centerlines</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13427687#M713</link>
      <description>&lt;P&gt;I'm trying to do something that seems simple, but it's giving me a tough time. I want an ilogic program to bisect two lines of a swept hole to create a centerline in the section view of a drawing. Automated centerlines won't work in this case for some reason, probably because its a sweep rather than a hole. I don't want to have to select the edges with mouse clicks. The edges will be the same on every drawing made from this part. It will be part of a rule that creates the drawing view. I have tried using named entities in the model to create edges and then geometry intent but no luck so far. Attached is a video of what I'm trying to do. Seems so simple on the video but it's not working yet. I tried asking chatgpt and was running in circles with it. Any ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;'Piezometer hole Centerline&lt;BR /&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPhole&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Edge&lt;/SPAN&gt; = &lt;SPAN&gt;oNEsFO&lt;/SPAN&gt;.&lt;SPAN&gt;FindEntity&lt;/SPAN&gt;(&lt;SPAN&gt;"P-hole"&lt;/SPAN&gt;)
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oPhole&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Edge 'P-hole' not found."&lt;/SPAN&gt;)
    &lt;SPAN&gt;Return&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If 'This code runs successfully and the edge is found&lt;/SPAN&gt;
&lt;SPAN&gt;edgeCurvesPhole&lt;/SPAN&gt; = &lt;SPAN&gt;oSectionViewFOHPT&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingCurves&lt;/SPAN&gt;(&lt;SPAN&gt;oPhole&lt;/SPAN&gt;) 'I dont think anything past here works
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pholetopline&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet2&lt;/SPAN&gt;.&lt;SPAN&gt;CreateGeometryIntent&lt;/SPAN&gt;(&lt;SPAN&gt;edgeCurvesPhole&lt;/SPAN&gt;(1))
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pholebtmline&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet2&lt;/SPAN&gt;.&lt;SPAN&gt;CreateGeometryIntent&lt;/SPAN&gt;(&lt;SPAN&gt;edgeCurvesPhole&lt;/SPAN&gt;(2))
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CLPholeFO&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Centerline&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet2&lt;/SPAN&gt;.&lt;SPAN&gt;Centerlines&lt;/SPAN&gt;.&lt;SPAN&gt;AddBisector&lt;/SPAN&gt;(&lt;SPAN&gt;pholetopline&lt;/SPAN&gt;,&lt;SPAN&gt;pholebtmline&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Apr 2025 18:27:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13427687#M713</guid>
      <dc:creator>grantDHM4Z</dc:creator>
      <dc:date>2025-04-15T18:27:54Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to make bisecting centerlines</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13428544#M714</link>
      <description>&lt;P&gt;Hi!&lt;BR /&gt;Try seeing if this method could work for you.&lt;BR /&gt;Basically, in the 3D model, assign a name to the face you created, using &lt;STRONG&gt;Assign Name to Entity&lt;/STRONG&gt;&amp;nbsp;(e.g. "Faccia0")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AssegnaNome.png" style="width: 800px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1490008i5488E5E43523F0E1/image-size/large?v=v2&amp;amp;px=999" role="button" title="AssegnaNome.png" alt="AssegnaNome.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AssegnaNome1.png" style="width: 795px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1490009iA5E68C11DDDBF7F5/image-size/large?v=v2&amp;amp;px=999" role="button" title="AssegnaNome1.png" alt="AssegnaNome1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And then, in the drawing, once you've identified the view you're interested in, you can do something like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Dim count = 0
Dim oGI(1) As GeometryIntent

For Each oCurve In oView.DrawingCurves
	If TypeOf(oCurve.ModelGeometry) Is Face Then
		oFace = oCurve.ModelGeometry
		Try
			EntityAttributeSet = oFace.AttributeSets("iLogicEntityNameSet")
			EntityName = EntityAttributeSet.Item("iLogicEntityName").Value
		Catch
			Continue for
		End Try		
		If EntityName = "Faccia0" Then
			oGI(count) = oSheet.CreateGeometryIntent(oCurve)
			count += 1
		End If
	End If
Next
Dim CLPholeFO As Centerline = oSheet.Centerlines.AddBisector(oGI(0), oGI(1))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;</description>
      <pubDate>Wed, 16 Apr 2025 07:34:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13428544#M714</guid>
      <dc:creator>a.brusamolino</dc:creator>
      <dc:date>2025-04-16T07:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to make bisecting centerlines</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13428639#M715</link>
      <description>&lt;P&gt;Something like below,try&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Dim oFeatureName As string="P-hole"
Dim oDoc As PartDocument = oView.ReferencedDocumentDescriptor.ReferencedDocument

Dim oFeature As PartFeature = oDoc.ComponentDefinition.Features(oFeatureName)
Dim oCol As ObjectCollection = ThisApplication.TransientObjects.CreateObjectCollection

For Each oCurve As DrawingCurve In oView.DrawingCurves	
	For Each oFace As Face In oFeature.Faces
		If oCurve.ModelGeometry Is oFace Then oCol.Add(oCurve)
	Next
Next

Dim oCenterLine As Centerline 

  Dim oCurve1 As DrawingCurve, oCurve2 As DrawingCurve
    oCurve1 = oCol(1)
    oCurve2 = oCol(2)
    Dim oIntent1 As GeometryIntent, oIntent2 As GeometryIntent
    oIntent1 = oSheet2.CreateGeometryIntent(oCurve2)
    oIntent2 = oSheet2.CreateGeometryIntent(oCurve1)  
	oCenterLine = oSheet2.Centerlines.AddBisector(oIntent1,oIntent2)&lt;/LI-CODE&gt;</description>
      <pubDate>Wed, 16 Apr 2025 15:10:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13428639#M715</guid>
      <dc:creator>Stakin</dc:creator>
      <dc:date>2025-04-16T15:10:40Z</dc:date>
    </item>
    <item>
      <title>Re: Using iLogic to make bisecting centerlines</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13625829#M716</link>
      <description>&lt;P&gt;Sorry for the late response but thanks to both of you for your answers. I was able to get it with some finagling. Here's the final code I used for anyone interested.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;' Initialize variables&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;count&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 0
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oGI&lt;/SPAN&gt;(1) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFace&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;Face&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;EntityAttributeSet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;AttributeSet&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;EntityName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;

&lt;SPAN&gt;' Loop through the drawing curves in the drawing view&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oCurve&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSectionViewFOHPT&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingCurves&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;TypeOf&lt;/SPAN&gt;(&lt;SPAN&gt;oCurve&lt;/SPAN&gt;.&lt;SPAN&gt;ModelGeometry&lt;/SPAN&gt;) &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;Face&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;oFace&lt;/SPAN&gt; = &lt;SPAN&gt;oCurve&lt;/SPAN&gt;.&lt;SPAN&gt;ModelGeometry&lt;/SPAN&gt;

        &lt;SPAN&gt;' Begin error suppression&lt;/SPAN&gt;
        &lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;Resume&lt;/SPAN&gt; &lt;SPAN&gt;Next&lt;/SPAN&gt;

        &lt;SPAN&gt;' Attempt to get the entity name from the attribute set&lt;/SPAN&gt;
        &lt;SPAN&gt;EntityAttributeSet&lt;/SPAN&gt; = &lt;SPAN&gt;oFace&lt;/SPAN&gt;.&lt;SPAN&gt;AttributeSets&lt;/SPAN&gt;(&lt;SPAN&gt;"iLogicEntityNameSet"&lt;/SPAN&gt;)
        &lt;SPAN&gt;EntityName&lt;/SPAN&gt; = &lt;SPAN&gt;EntityAttributeSet&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"iLogicEntityName"&lt;/SPAN&gt;).&lt;SPAN&gt;Value&lt;/SPAN&gt;

        &lt;SPAN&gt;' Check for error&lt;/SPAN&gt;
        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Err&lt;/SPAN&gt;.&lt;SPAN&gt;Number&lt;/SPAN&gt; &amp;lt;&amp;gt; 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
            &lt;SPAN&gt;Err&lt;/SPAN&gt;.&lt;SPAN&gt;Clear&lt;/SPAN&gt;()
            &lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;GoTo&lt;/SPAN&gt; 0
            &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt;
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

        &lt;SPAN&gt;' Restore normal error behavior&lt;/SPAN&gt;
        &lt;SPAN&gt;On&lt;/SPAN&gt; &lt;SPAN&gt;Error&lt;/SPAN&gt; &lt;SPAN&gt;GoTo&lt;/SPAN&gt; 0

        &lt;SPAN&gt;' Check if the entity name matches "Faccia0"&lt;/SPAN&gt;
        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;EntityName&lt;/SPAN&gt; = &lt;SPAN&gt;"Faccia0"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
            &lt;SPAN&gt;oGI&lt;/SPAN&gt;(&lt;SPAN&gt;count&lt;/SPAN&gt;) = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;CreateGeometryIntent&lt;/SPAN&gt;(&lt;SPAN&gt;oCurve&lt;/SPAN&gt;)
            &lt;SPAN&gt;count&lt;/SPAN&gt; += 1
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&lt;SPAN&gt;Next&lt;/SPAN&gt;

&lt;SPAN&gt;' Create centerline between the first two geometry intents (only if both were found)&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;count&lt;/SPAN&gt; = 2 &lt;SPAN&gt;Then&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;CLPholeFO&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Inventor&lt;/SPAN&gt;.&lt;SPAN&gt;Centerline&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Centerlines&lt;/SPAN&gt;.&lt;SPAN&gt;AddBisector&lt;/SPAN&gt;(&lt;SPAN&gt;oGI&lt;/SPAN&gt;(0), &lt;SPAN&gt;oGI&lt;/SPAN&gt;(1))
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 13:06:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/using-ilogic-to-make-bisecting-centerlines/m-p/13625829#M716</guid>
      <dc:creator>grantDHM4Z</dc:creator>
      <dc:date>2025-05-12T13:06:31Z</dc:date>
    </item>
  </channel>
</rss>

