Depth markers on drawing

Depth markers on drawing

NachoShaw
Advisor Advisor
296 Views
1 Reply
Message 1 of 2

Depth markers on drawing

NachoShaw
Advisor
Advisor

Hi

 

 Getting ready to start a new code task for my cnc tool and thought I'd reach out here for some pointers.

 

My cnc tool loops an assembly for all parts, places then largest face down in landscape with a detailed label in groups of material. These are all placed onto a 1:1 drawing sheet. After this, I have to go over each part and label things like edge for edging, 5deep for a 5mm deep groove, etc. I'd like to automate this somehow.

 

In the parts, I can add attributes to faces of grooves, edge of panels etc so would that work? For example: I set the rebated face as 5deep attribute and in the drawing, place a 5deep sketch symbol right on the centre of that face? Can that work?

 

If I attribute an edge that required edging, in a drawing you wouldn't see the actual edge face, you would only see the line of the edge. Can that still be picked up and have a sketch symbol place on the centre Point of the line?

 

All things are possible, are these possible?

 

 

Thanks

Nacho
Automation & Design Engineer

Inventor automation Programmer (C#, VB.Net / iLogic)
Furniture, Sheet Metal, Structural, Metal fab, Tradeshow, Fabrication, CNC

EESignature


Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


0 Likes
297 Views
1 Reply
Reply (1)
Message 2 of 2

JelteDeJong
Mentor
Mentor

If you want to add sketch symbols (or any other feature with a leader and dimensions) then you need to find the intent. Acc. to the help files: "The GeometryIntent object represents a geometry intent for use in various annotation and view creations."  Creating these intent objects can be done with the following code if you have attributes on your faces/edges.

''' <summary>
''' 
''' </summary>
''' <param name="view">Drawing view of the model</param>
''' <param name="name">Attribute value</param>
''' <param name="Intent">
''' Input object that specifies the intent point on the input geometry. 
''' This can be a value from PointIntentEnum, a geometry if the intent is the intersection of two geometries, 
''' a Point2d object that specifies a sheet point on the geometry or a double value (0 to 1) indicating 
''' the parameter on the input curve geometry. The range of valid parameter values can be obtained using 
''' the GetParamExtents method on the curve's evaluator.  This Is an optional argument whose default value Is null.
''' </param>
''' <returns></returns>
Public Function GetIntent(view As DrawingView, name As String, Optional Intent As Object = Nothing) As GeometryIntent
    Dim model As Document = view.ReferencedDocumentDescriptor.ReferencedDocument

    Dim objs As ObjectCollection = model.AttributeManager.FindObjects("iLogicEntityNameSet", "iLogicProxyEntityNameSet", name)

    If (objs.Count <> 1) Then
        Throw New Exception(objs.Count & " object found with name: " & name)
    End If
    Dim obj = objs.Item(1)

    Dim curves = view.DrawingCurves(obj)

    If (curves.Count = 0) Then
        Throw New Exception("None DrawingCurve found for entity: " & name)
    End If

    Dim curve As DrawingCurve = curves.Item(1)

    Return view.Parent.CreateGeometryIntent(curve, Intent)
End Function

This code is taken from my blog post "Add function "GetProxyIntent()" to Ilogic".

Jelte de Jong
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Blog: hjalte.nl - github.com

0 Likes