“Information is a source of learning. But unless it is organized, processed, and available to the right people in a format for decision making, it is a burden, not a benefit.”
William Pollard
***Edit 4-April-2012***
I've added the file I used in this blog post to the
GrabCAD website if you want to download it and take a look. You do have to be a member, but I think you'll find that it's a great site with a lot of free CAD models.
***
As I was wrapping up my videos for the
Autodesk Manufacturing Academy, I found a video that had slipped through the cracks. I had recorded it, but I hadn't produced it. So I finished it up and added it for this weeks post.
This video discusses how to change drawing formats with iLogic.
|
The finished rule asking you for the format you want to use |
One more note before you look at the code below! If you use event triggers, you can fire the rule automatically. For example, the image below sets the drawing to fire it's rule when I start a new drawing. If you set this from a template, the drawing will ask you which drawing format you want when you start it!
|
Use event triggers to fire a rule when a particular event happens. This one occurs when you start a new file |
So without further delay, here's the video!
Here is the full code for this particular rule. Once you get the first couple of rows down, it's a matter of copying, pasting, and changing options to get the others.
'Fires Rules when iTrigger icon is clicked
trigger = iTrigger0
'Creates a dialog box asking us which format we want
Format_Select= InputListBox("Select Format Type", MultiValue.List("Border_Type"), Border_Type, Title := "Drawing Format Selection", ListName := "List")
'Sets sheet size, title block, and border for A size
If Format_Select = "A Border" Then
ActiveSheet.ChangeSize("A", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Small Border Title Block"
ActiveSheet.Border = "A-Border"
'Sets sheet size, title block, and border for B size Sheet 1
ElseIf Format_Select = "B Border Page 1" Then
ActiveSheet.ChangeSize("B", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 1"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for B size Sheet 2+
ElseIf Format_Select = "B Border Page 2+" Then
ActiveSheet.ChangeSize("B", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 2"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for C size Sheet 1+
ElseIf Format_Select = "C Border Page 1" Then
ActiveSheet.ChangeSize("C", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 1"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for C size Sheet 2+
ElseIf Format_Select = "C Border Page 2+" Then
ActiveSheet.ChangeSize("C", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 2"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for D size Sheet 1
ElseIf Format_Select = "D Border Page 1" Then
ActiveSheet.ChangeSize("D", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 1"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for D size Sheet 2+
ElseIf Format_Select = "D Border Page 2+" Then
ActiveSheet.ChangeSize("D", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 2"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for E size Sheet 1
ElseIf Format_Select = "E Border Page 1" Then
ActiveSheet.ChangeSize("E", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 1"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for E size Sheet 2+
ElseIf Format_Select = "E Border Page 2+" Then
ActiveSheet.ChangeSize("E", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 2"
ActiveSheet.Border = "B thru F Border"
'Sets sheet size, title block, and border for F size Sheet 1
ElseIf Format_Select = "F Border Page 1" Then
ActiveSheet.ChangeSize("F", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 1"
ActiveSheet.Border = "B thru F Border"
''Sets sheet size, title block, and border for F size Sheet 2+
ElseIf Format_Select = "F Border Page 2+" Then
ActiveSheet.ChangeSize("F", MoveBorderItems := True)
ActiveSheet.TitleBlock = "Large Format Page 2"
ActiveSheet.Border = "B thru F Border"
End If