Use Drawing functions to customize the way that changes to the model are reflected in the drawing sheets.
Drawing functions can facilitate efficient model updates, and they can be included in rules triggered by the iLogic Drawing View Change event.
To access the Drawing functions, expand the Drawing node on the System tab in the Snippets area of the iLogic Edit Rule dialog
Accesses the current drawing in a rule.
Accesses the active sheet in a drawing. This function is an alias for ThisDrawing.ActiveSheet. Most drawing operations are performed on the active sheet, because the other sheets may not be up-to-date.
Accesses a sheet in the drawing.
Syntax
ThisDrawing.Sheet(“sheetname”)
You can assign a filename string to this property to specify the name of another drawing from which to pull title block and border definitions. When you use the TitleBlock or Border Sheet function, iLogic looks in this drawing for resources that are not found in the current drawing. Use a relative path name for this file name. iLogic searches for this file in the folder of the current drawing and in the project workspace folder. You can specify subfolders relative to either of these locations.
Example
ThisDrawing.ResourceFileName = “DrawingResources1.idw”
Set this property to False if copies of the resources from the external resource file are not kept in the current drawing.
If you set this property to False, a resource is deleted when another resource replaces it. Deletion only happens if the ResourceFileName is not blank. It is assumed that all the resources you need can be found in the external resource file.
Example
ThisDrawing.KeepExtraResources = False
Sheet functions for drawings usually operate on the active sheet. To restrict a rule so that it only runs for a particular sheet, you can add code at the top of a rule. For example:
If (ActiveSheet.Name <> "Sheet:2") Then Return
Changes the size of the sheet, using a text string as the value of the new size.
Syntax
Sheet.ChangeSize (“value”,<MoveBorderItems = True>)
value
The value of the new size.
MoveBorderItems
This parameter is optional. If MoveBorderItems is set to False, any tables and parts lists currently located on the border or edge of the sheet are not moved to the new border.
Examples
ActiveSheet.ChangeSize (“A”)
ActiveSheet.ChangeSize (“B1”, MoveBorderItems := False)
Changes the size of the sheet, using a custom height and width, in document units.
Syntax
Sheet.ChangeSize (customHeight, customWidth, <MoveBorderItems = True>)
height
The height in document units.
width
The width in document units.
MoveBorderItems
This parameter is optional. If MoveBorderItems is set to False, any tables and parts lists currently located on the border or edge of the sheet are not moved to the new border.
Examples
ActiveSheet.ChangeSize (7.2, 4)
ActiveSheet.ChangeSize ( 7.2, 4, MoveBorderItems = False)
Change the current border on the sheet by specifying a different name. The name must be found in the drawing resources of the current drawing, or in the ResourceFileName drawing if it is specified.
Examples
ActiveSheet.Border = “OtherBorder”
currentName = ActiveSheet.Border
Change the current title block on the sheet by specifying a different name. The name must be found in the drawing resources of the current drawing, or in the ResourceFileName drawing if it is specified..
Examples
ActiveSheet.TitleBlock = “ANSI - A”
currentName = ActiveSheet.TitleBlock
Example when using an external source file -
ThisDrawing.ResourceFileName = “DrawingResources1.idw” ActiveSheet.TitleBlock = “Custom - A”
Gets the name of the sheet.
Gets the size of the sheet as a text string, such as "A" or “B0”.
Gets the height of the sheet, in document units.
Gets the width of the sheet, in document units.
Gets access to a view on the sheet.
View functions for drawings usually operate on active sheet (recommended).
Gets the name of the view.
Gets the height of the view, in drawing document units.
Gets the width of the view, in drawing document units.
Gets or sets the view scale as a number.
Gets or sets the view scale as a text string, such as “1:2” or “4.1”.
Sets the center point of the view (moves the view). Coordinates are specified in drawing document units.
Sets the view position (moves the view) by specifying the distance from a view corner to the nearest sheet corner. The variable corner can be one of the following:
SheetCorner.BottomLeft SheetCorner.BottomRight SheetCorner.TopLeft SheetCorner.TopRight
Coordinates are specified in drawing units. iLogic finds the corner that is closest to a sheet corner.
Sets the view position (moves the view) by specifying the space between this view and another view. The other view name is typically an adjacent view on the sheet. The spacing is between view edges, in the X or Y direction. Specify a positive spacing value to place this view to the right or above the other view. Specify a negative value to place this view to the left or below the other view. For example:
ActiveSheet.View("VIEW2").SpacingBetween("VIEW1") = 30 mm '
VIEW2 is to the right of VIEW1.
ActiveSheet.View("VIEW3").SpacingBetween("VIEW1") = -40 mm '
VIEW3 is below VIEW1.
Accesses the balloons in the view.
Balloon functions for drawings are tied to a particular view.
For views of assembly documents, this function checks for unattached balloons in the view and attaches them to a component, if possible. The first choice is a component at the arrowhead location. If none is found, the closest eligible component without a balloon is used. If the balloon cannot be attached at this time, it is moved to a hidden layer. The hidden layer is a layer created (if necessary) for this purpose.
Specifies a component that requires a balloon. The componentName specifies a component occurrence, such as "Pin:1". When you use this function, balloons are only reattached to the components that you specify. If you do not use this function, balloons are reattached to any available component (unless disqualified by the DoNotAttachToComponent function).
Specifies a component that does not require a balloon. The componentName specifies a component occurrence, such as "Pin:1".