Create drawing with existing ilogic code

Create drawing with existing ilogic code

randy.redekop
Participant Participant
405 Views
1 Reply
Message 1 of 2

Create drawing with existing ilogic code

randy.redekop
Participant
Participant

Hello all,

 

Below is a code that creates a ipt file for whatever number tags i choose to. It works good but i would like to create a drawing with every part it makes with just the front face view. Ill also attach the template ipt file where it creates the parts from.  If anyone can help that would be great. Thanks

 

 

 

Feature.IsActive("___0") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___1") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___2") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___3") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___4") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___5") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___6") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___7") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___8") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("___9") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__0_") = False

Feature.IsActive("__1_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__2_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__3_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__4_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__5_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__6_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__7_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__8_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("__9_") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_0__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_1__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_2__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_3__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_4__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_5__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_6__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_7__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("_8__") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in



Feature.IsActive("0___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("1___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("2___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("3___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("4___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("5___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("6___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("7___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in

Feature.IsActive("8___") = False
d35 = 0.25 in
d37 = 0.00 deg
d36 = 1 in



For i = 4 To 4
	
	x = i - 1
	If x = -1
		
	Feature.IsActive(i & "___") = True
	
Else

	Feature.IsActive(i & "___") = True
	
	Feature.IsActive(x & "___") = False
	
End If



	
	For z = 0 To 7
		
		y = z - 1
		If y = -1
		Feature.IsActive("_" & z & "__") = True
		
		Else
			Feature.IsActive("_" & z & "__") = True
			Feature.IsActive("_" & y & "__") = False
		End If 
		
		If z = 4
			Feature.IsActive("_" & z & "__") = True
			Feature.IsActive("__0_") = True
			Feature.IsActive("___0") = True
			
			NewFileName = ThisDoc.Path & "\" & i & z & a & c & ".ipt"

ThisDoc.Document.SaveAs(NewFileName, True)

Else
		
		For a = 0 To 9 
		
			b = a - 1
			
			If b= -1
					Feature.IsActive("__" & a & "_") = True
				
				
				Else
					
					Feature.IsActive("__" & a & "_") = True
				Feature.IsActive("__" & b & "_") = False
				
				End If 
				
			
		
			For c = 0 To 9
			
				d = c - 1
				
				
			If a = 0 And c = 0
				
			End If 
			
			If d = -1 
				
				Feature.IsActive("___" & c) = True
				
				NewFileName = ThisDoc.Path & "\" & i & z & a & c & ".ipt"

ThisDoc.Document.SaveAs(NewFileName, True)
				
				Else
				
				Feature.IsActive("___" & c) = True
				Feature.IsActive("___" & d) = False
 			
			NewFileName = ThisDoc.Path & "\" & i & z & a & c & ".ipt"

ThisDoc.Document.SaveAs(NewFileName, True)

End If

			If c = 9 And a = 9
				Feature.IsActive("___" & c) = False
				Feature.IsActive("__" & a & "_") = False
			End If
			
			If c = 9
				
				Feature.IsActive("___" & c) = False
				
			End If
			Next
			Next
		End If
			Next
			Next 

 

0 Likes
Accepted solutions (1)
406 Views
1 Reply
Reply (1)
Message 2 of 2

A.Acheson
Mentor
Mentor
Accepted solution

Here is a post to a simple drawing creation. I  would suggest just run it on a part file first as its own rule. Then you can try integrate into your own rule when your happy it works. 
https://forums.autodesk.com/t5/inventor-ilogic-api-vba-forum/ilogic-create-drawing-from-part/td-p/10...

 

 

Imports System.IO
Dim oDoc As PartDocument
oDoc = ThisApplication.ActiveDocument

Try 'to open the drawing 
	ThisApplication.Documents.Open _
	(ThisDoc.PathAndFileName(True).Replace("ipt", "idw"))
	Return 'exit rule
Catch	
End Try

'since nothing found create it...
oNewDrawing = ThisDoc.ChangeExtension(".idw")
oTemplateFolder = ThisApplication.FileOptions.TemplatesPath
Dim oList As New ArrayList

Dim Folder As New IO.DirectoryInfo(oTemplateFolder)
For Each File As IO.FileInfo In Folder.GetFiles("*.idw", IO.SearchOption.AllDirectories)
	Dim sName As New FileInfo(File.Name)	
	oList.Add(sName.Name)
Next

oTemplate = InputListBox("Select a template", oList, oList(0),"iLogic", "List")
oTemplate = oTemplateFolder & oTemplate

Dim oDrawingDoc As DrawingDocument 
oDrawingDoc = ThisApplication.Documents.Add _
(DocumentTypeEnum.kDrawingDocumentObject, oTemplate, True)

oDrawingDoc.Activate()
Dim oSheet As Sheet 
oSheet = oDrawingDoc.Sheets.Item(1)

Dim oPoint As Point2d
oPoint = ThisApplication.TransientGeometry.CreatePoint2d(10, 10)

Dim oView As DrawingView
oView = oSheet.DrawingViews.AddBaseView(oDoc, oPoint, 1, _
ViewOrientationTypeEnum.kFrontViewOrientation, _
DrawingViewStyleEnum.kHiddenLineRemovedDrawingViewStyle)

oDrawingDoc.SaveAs(oNewDrawing, False)

MessageBox.Show("This new file saved as: "& oNewDrawing, "iLogic")

 

 
If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
0 Likes