--- title: "Cadit Update.ini" slug: "cadit-updateini" updated: 2024-01-31T12:21:44Z published: 2024-01-31T12:21:44Z canonical: "help.sovelia.com/cadit-updateini" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.sovelia.com/llms.txt > Use this file to discover all available pages before exploring further. # Cadit Update.ini ## About Cadit Update.ini is the setup file for user-defined rules for Cadit [Update properties](/v1/docs/update-properties) command. The file can contain one or more rules for what properties to update. An update rule can consist of one or more sub-rules. The rules must be numbered continuously (UpdateRule1, UpdateRule2, UpdateRule3 etc). If the next rule number is missing, any subsequent rules will not be used. Cadit Update can update both parts and assemblies. The file is located in the Settings subfolder under the Common Configuration folder or the Local Configuration folder. The program first looks for the file in the Common Configuration folder, then in the Local Configuration folder. | Section Key | Value | Description | | --- | --- | --- | | [ResultPropertyName] | | Property sets for result property. The first keys are not numbered. The keys are numbered up for additional properties. | | *key=* | property set.property name | Determines the name of the result property for ResultPropertyName (key). By adding a number to the key name more properties can have the same result value. By leaving value empty ResultPropertyName (key) is ignored. If the property set part of the value is omitted, it is Custom Properties. | | Example keys | | | | *PartDescription=* | Design Tracking Properties.Part Number | PartDescription is placed in the Part Number property. | | *PartDescription1=* | ct_description | PartDescription is also placed in the Custom Property ct_description. | | *StockDescription=* | Design Tracking Properties.Stock Number | StockDescription is placed in the Stock Number property. | | *CutLength=* | Custom Properties.Cut Length | CutLength is placed in the Custom Property Cut Length. | | | | | | [Description With CutInfo] | | Property sets for the (DescriptionWithCutInfo:) function and for the (ct_description:) function if the ct_cut_info property has a value. The function first search for text in Property1, if not found it searches the next number. | | *Property1=* | Design Tracking Properties.Stock Number | (DescriptionWithCutInfo:) first searches in Property1, which in this example is the Stock Number property. | | *Property2=* | Design Tracking Properties. Description | If Property1 has no value, the (DescriptionWithCutInfo:) then searches in Property2, which in this example is the Description property. Add more Property number keys to search more properties. | | | | | | [Description Without CutInfo] | | Property sets for the (DescriptionWithoutCutInfo:) function and for the (ct_description:) function if the ct_cut_info property has no value. The function first search for text in Property1, if not found it searches the next number. | | *Property1=* | Design Tracking Properties.Stock Number | (DescriptionWithoutCutInfo:) first searches in Property1, which in this example is the Stock Number property. | | *Property2=* | Design Tracking Properties. Part Number | If Property1 has no value, the (DescriptionWithoutCutInfo:) then searches in Property2, which in this example is the Part Number property. | | *Property3=* | Design Tracking Properties. Description | If not found, the (DescriptionWithoutCutInfo:) then searches in Property3, which in this example is the Description property. Add more Property number keys to search more properties. | | | | | | [MeasuringMethods] | | Measuring method settings | | *Method2=* | PL \|DPL \|PLATE \|DPLATE \|FL \|FPEL \|SQB \|TBAR \|INP \|IPE \|UAP \|UNP \|UPE \|USP \|H | Update codes to measure by method 2. Default: PL \|DPL \|PLATE \|DPLATE \|FL \|FPEL \|SQB \|TBAR \|INP \|IPE \|UAP \|UNP \|UPE \|USP \|H | | *Method3=* | L \|RB \|HRB | Update codes to measure by method 3. Default: L \|RB \|HRB | | | | | | [MeasuringOptions] | | Measuring options | | *OrthoCheckCodes=* | PL\| DPL\|PLATE\| DPLATE | The component is measured along the longest edge, unless two edges with a certain minimum length are orthogonal. Rotate and measure components with these codes, according to the longest orthogonal edges, if edge length larger than OrthoCheckFactor. Default: PL \|DPL \|PLATE \|DPLATE | | *OrthoCheckFactor=* | 0.05 | The component is measured along the longest edge, unless two edges with a certain minimum length are orthogonal. Minimum length of edges, in relation to the longest egde, to be considered for orthocheck. Default: 0.05 | | *OriginCheckFactor=* | 0.4 | The component is measured along the longest edge, unless one of the edges, with a certain minimum length, are parallel to one of the origin axes. Minimum length of edges, in relation to the longest egde, to be considered for orthocheck. Default: 0.4 | | *MaxFaces* | 200 | Maximum number of faces for advanced measuring methods. If more faces the component is measured according to the origin axes only. Default: 200 | | | | | | [UpdateRule1] | | First main update rule. Add numbers to add more rules. The rules must be numbered continuously (UpdateRule1, UpdateRule2, UpdateRule3 etc). If the next rule number is missing, any subsequent rules will not be used. | | *Description=* | Measure and describe coded components Description of the update rule. Shown in the Cadit Update dialog. | | | *Comments=* | Measure plates and profiles and update description properties according to the code in the ct_cut_info property. | Comments to the update rule. Shown in the Cadit Update dialog when clicking the rule. | | *DefaultChecked=* | 1 | If DefaultChecked = 1, the rule is on by default. | | *InUse=* | 1 | If InUse = 0, the rule is omitted from the list and not used. | | *Mandatory=* | 1 | If Mandatory = 1, the rule is always on and it is not able to turn it off. | | *HideForIPT=* | 0 | If HideForIPT = 1, the rule is hidden for part files. | | *MasterLODOnly=* | 0 | If MasterLODOnly = 1, the rule is used only for the Master Level of Detail. | | | | | | [UpdateRule1.1] | | First sub rule to rule 1. Add numbers to add more rules. The sub rules must be numbered continuously (UpdateRule1.1, UpdateRule1.2, UpdateRule1.3 etc). If the next rule number is missing, any subsequent rules will not be used. | | Cadit Update first read sub rules in numeric order. | | | | *IfProperty=* | Property name | If IfProperty is empty, all components will be modified with SetPropertyN/SetValueN rules. If IfProperty is set, only components with IfProperty like IfValue will be modified. Wildcards * and ? can be used. Example 1: IfProperty = ct_cut_info Example 2: IfProperty = Example 3: IfProperty = ResultPropertyName(OriginalPartNumber) | | IfValue= | Property value | If IfValue is set and is (Exist), only components were IfProperty exists will be modified. If IfValue is not set, only components where IfProperty is not set or is empty will be modified. Example 1: IfValue = Example 2: IfValue = PL Example 3: IfValue = (Exist) | | *SetProperty=* *SetProperty1* | Property name | Property names can be set on the form propertyset.propertyname. If propertyset is omitted, custom property is assumed. Use Cadit Property Editor setup to determine Property set names and Property names. If a key is numbered, the SetValue with the corresponding number is used Property name examples: | | | | | | | | | | | Example values | Result property | | | ResultPropertyName(PartDescription) | Value of [ResulPropertyName], PartDescription. All other PartDescription with number are also set. PartDescription1, PartDescription2, and so on. | | | Design Tracking Properties.Stock Number | Stock Number property on iProperties Project and Status tab | | | ct_description | Custom property ct_description | | | User Defined Properties.ct_color | Custom property ct_color | | | Summary Information.Title | Title property on iProperties Summary tab | | | Document Summary Information.Company | Company property on iProperties Summary tab | | | Design Tracking Properties.Description | Description property on iProperties Project tab | | | Property name examples with valid property set name abbreviations: | | | | ct_color | Custom property ct_color | | | Summary.Title | Title property on iProperties Summary tab | | | DocumentSummary.Company | Company property on iProperties Summary tab | | | DesignTracking.Description | Description property on iProperties Project tab | | | | | | | | | | *SetValue=* *SetValue1=* | Property value | Property values can be set as a text or by using functions If a key is numbered, the property value is for the SetProperty with the corresponding number. | | *Type=* *Type1=* | Property type | Property type If a key is numbered, the property type is for the SetProperty with the corresponding number. | | *Rule=* *Rule1=* | iLogic rule filename | Name and path of iLogic rule file. If the keys are numbered, multiple iLogic rules can be executed. If the path is omitted the iLogic rule file should be placed in the Settings folder under the Common folder. | | *UpdateIAM* | | Update assemblies if set to 1. | | *UptadeIPT* | | Update part files if set to 1. | | *Goto=* | Sub rule number or exit | Cadit Update first read sub rules in numeric order. If the sub rule has been used the Goto setting will force Cadit Update to jump to the sub rule number given. If set to exit, Cadit Update will jump to the next main rule. | The Description text will appear as a selectable rule in the Cadit Update dialog box. **Result properties section** To change where Cadit Update place the results, change the settings under the [ResultPropertyName] section. In the default Cadit Update.ini, if the ResultPropertyName(PartDescription) function is used by the SetProperty key in a UpdateRule, the Part Number property gets the value from the SetValue key of the UpdateRule. To get the result in the Description property instead, change the value of PartDescription to Design Tracking Properties.Description. To get the result both places add a new key PartDescription1 with the value Design Tracking Properties.Description. Section key can be PartDescription, StockDescription or any other key used by the ResultPropertyName(key) function. The value is the property name. It consists of the property set name and the property name divided by a dot (.) for example Design Tracking Properties.Part Number. For Custom Properties the property set name can be omitted. Example ct_description. By adding a number to the key name more properties gets the same result value. Example: ct-lenx = Custom Properties.ct_lenx ct_lenx1 = Custom Properties.CQTools_X ct_lenx2 = Custom Properties.Naviate_Range_X In this example all three custom properties gets the same result value if ResultPropertyName(ct-lenx) are called. If a property that Cadit Update makes is not wanted, remove the key by adding a semicolon or leave the value blank. Example: ;Sweeplength = Custom Properties.Sweeplength or Sweeplength = In both these examples no properties is set by a call to ResutProperties(Sweeplength) **Update rules sections** **IfProperty** If IfProperty is set, only parts with IfProperty=IfValue will be modified. I.e. the value of the property set in IfProperty will be compared to the value of IfValue. If the value equals to the value of IfValue, then the property in SetProperty will be set to the value of SetValue. If IfProperty is empty, all parts will be modified. **IfValue** If IfValue is set and is (Exist), only parts where IfProperty exists will be modified. **SetProperty** Property names can be set on the form propertyset.propertyname. If propertyset is omitted, custom property is assumed. Use Cadit Property Editor Setup to determine Property set names and Property names. Property name examples: User Defined Properties.ct_color Custom property ct_color. Summary Information.Title Title property on iProperties Summary tab. Document Summary Information.Company Company property on iProperties Summary tab. Design Tracking Properties.Description Description property on iProperties Project tab. Property name examples with valid property set name abbreviations: | | | | --- | --- | | ct_color | Custom property ct_color | | Summary.Title | Title property on iProperties Summary tab | | DocumentSummary.Company | Company property on iProperties Summary tab | | DesignTracking.Description | Description property on iProperties Project tab | **SetValue** The value of the SetValue key can contain special text as described in this table: | Function / Special text | Result / Replaced with | Unit | | --- | --- | --- | | ResultPropertyName(name) | The Property name from the value of the key name and name1, name2 and so on | | | | | | | (DescriptionWithCutInfo:) | Value from first property with value under [Description With CutInfo] | | | (DescriptionWithoutCutInfo:) | Value from first property with value under [Description Without CutInfo] | | | | | | | *(ct_description:)* | Value from (DescriptionWithoutCutInfo:), if ct_cut_info is omittet or has no value. If the value of ct_cut_info is X, Y or Z, the result is the value from (DescriptionWithCutInfo:) + " L= " + measured length in the selected direction. Result in mm If the value of ct_cut_info is XY, YX, XZ, ZX, YZ or ZY, the result is the value from (DescriptionWithCutInfo:) + " x " + measured length + " x " + measured width (measurement depending on value). Result in mm If the first letter of ct_cut_info is D followed by XY, YX, XZ, ZX, YZ or ZY and the distances are equal, the result is value from (DescriptionWithCutInfo:) + " ø" + measured diameter in the selected direction. Result in mm If the two distances not are equal, the result is the same as for ct_cut_info XY, YX, XZ, ZX, YZ or ZY." If the value of ct_cut_info is PXY, PYX, PXZ, PZX, PYZ or PZY, the result is "PL " + measured thickness + " x " + measured length + " x " + measured width (measurement depending on value). Result in mm If the value of ct_cut_info is TXY, TYX, TXZ, TZX, TYZ or TZY, the result is the value from (DescriptionWithCutInfo:) + " " + thickness from the parameter ct_tykkelse + " x " + measured length + " x " + measured width (measurement depending on value). Result in mm If none of the above the value from (DescriptionWithCutInfo:) is used. | If length in mm | | | | | | *(pv:parameter name)* | Parameter value (numeric value excluding units) of parameter name. Length values in mm, angle values in degrees, mass in kg, area in m2 and volume in m3 | mm, deg, kg, m2, m3 or default Inventor parameter unit" | | *(pp:property name)* | Property value of property name | | | *(fc:feature name)* | Feature color name of feature name | | | | | | | *(ExtL:)* | Extent Length. Largest of extent in X and Y direction for Sheet Metal parts. Largest of extent in X, Y and Z directions for standard parts. | mm | | *(ExtT:)* | Extent Thickness Thickness for Sheet Metal parts. Shortest of extent in X, Y and Z directions for standard parts. | mm | | *(ExtTZ:)* | Extent Thickness. Extent in Z direction for Sheet Metal parts. Shortest of extent in X, Y and Z directions for standard parts. | mm | | *(ExtW:)* | Extent Width. Shortest of extent in X and Y direction for Sheet Metal parts. Midmost of extent in X, Y and Z directions for standard parts. | mm | | *(ExtX:)* | Sheet metal extents in x direction | mm | | *(ExtY:)* | Sheet metal extents in y direction | mm | | *(ExtZ:)* | Sheet metal extents in z direction | mm | | *(Len1:)* | Length in first direction of ct_cut_info | mm | | *(Len2:)* | Length in second direction of ct_cut_info | mm | | *(Len3:)* | Length in third direction (thickness) for PXY, PXZ, PYZ | mm | | *(LenX:)* | Bounding box extents x value | mm | | *(LenY:)* | Bounding box extents y value | mm | | *(LenZ:)* | Bounding box extents z value | mm | | *(MaxExt:)* | Largest of (ExtX:) and (ExtY:) | mm | | *(MaxLen:)* | Largest of (Len1:) and (Len2:) | mm | | *(MinExt:)* | Smallest of (ExtX:) and (ExtY:) | mm | | *(MinLen:)* | Smallest of (Len1:) and (Len2:) | mm | | (RDia:) | Diameter of cylindrical part. ,If the component has cylindrical surfaces, the diameter comes from the surface with the largest radius. Else, if two of the values of bounding box extents are equal, they are assumed to be the diameter. If none of the values are equal it returns the text (DIAMETER COULD NOT BE DETERMINED) | mm | | (RLen:) | Length of cylindrical part. If the component has cylindrical surfaces, the length is measured along the axis of the surface with the largest radius. Else, if two of the values of bounding box extents are equal, the third value are assumed to be the length. If none of the values are equal it returns the text (LENGTH COULD NOT BE DETERMINED). | mm | | (Sweeplength:) | Sweep length. Sum of the length of all sweep features. | mm | | | | | | (MaxArea:) | (Len1:) x (Len2:) | mm2 | | (MaxArea_m2:) | (Len1:) x (Len2:) | m2 | | (NetArea:) | Volume divided by ExtT | mm2 | | (NetArea_m2:) | Volume divided by ExtT | m2 | | (SheetMetalArea_m2:) | Sheet Metal Area,m2 | | | | | | | (VolDivByPP:property name) | Volume divided by Property value of property name | mm2 | | (VolDivByPP_m2:property name) | Volume divided by Property value of property name | m2 | | (VolDivByPV:parameter name) | Volume divided by Parameter value (numeric value excluding units) of parameter name | mm2 | | (VolDivByPV_m2:parameter name) | Volume divided by Parameter value (numeric value excluding units) of parameter name | m2 | | (Wallarea_m2:) | Volume divided with the value of the user parameter ct_wt. | m2 | | | | | | *(Volume:)* | Volume | mm3 | | *(Volume_m3:)* | Volume | m3 | | | | | | *(Material:)* | Material from component material. | | | *(Weight:)* | Weight. If no format value is given the default formatting is like this: no decimal for weights from 10 kg and above, 1 decimal for weights from 1 kg up to 10 kg, 3 decimals for weights below 1 kg | kg | | *(Weight_g:)* | Weight in grams. If no format value is given the default formatting is like this: no decimal for weights from 10 g and above, 1 decimal for weights from 1 g up to 10 g, 3 decimals for weights below 1 g | g | | (*referencedfiles:)* | List of assembly components with weight and BOMStructure Referenced. | | | *(CCOGX:)* | Local component center of gravity x value. Result in mm | | | *(CCOGY:)* | Local component center of gravity y value. Result in mm | | | *(CCOGZ:)* | Local component center of gravity z value. Result in mm | | | | | | | *(ItemNo:)* | Item No in current assembly | | | *(Qty:)* | Quantity of component in current assembly | | | *(QtyTot:)* | (qty:) x (pp:ct_qtyunits) | | | *(QtyUnits:)* | 1 if custom property ct_qtyunits is not set, otherwise value of custom property ct_qtyunits | | | | | | | *(FileName:)* | File name with extension of part or assembly | | | *(FullFileName:)* | Fully qualified file name of part or assembly | | | *(Name:)* | File name without extension of part or assembly | | | *(Path:)* | Path for location of part or assembly | | | | | | | *(OriginX:)* | Component origin x value in current assembly. | mm | | *(OriginY:)* | Component origin y value in current assembly. | mm | | *(OriginZ:)* | Component origin z value in current assembly. | mm | | *(OriginElev:property name)* | Component origin elevation. Distance from property value of given property name. | mm | | *(COGX:)* | Component center of gravity x value in current assembly. | mm | | (*COGY:)* | Component center of gravity y value in current assembly. | mm | | *(COGZ:)* | Component center of gravity z value in current assembly. | mm | | *(COGElev:property name)* | Component center of gravity elevation. Distance from property value of given property name. | mm | | | | | | *(SheetMetalStyle:)* | Sheet Metal Style name for sheet metal parts. | | | | | | | *(Incr:part property, assembly property, increment, min value, max value)* | Increment number value on part in assembly. Property value is set in the given part property and assembly property. Value is counting with the value of increment, starting from the value of min value and conting to the value of max value. Example:(Incr:Weld No,LastWeldFillet,1,1000,1999) | | Number values can be formatted with n digits after decimal symbol by adding ,n after the code, for example *(lenx,1:)* , *(pp,0:G_L*) or *(weight,1:)*. Use negative decimal value for zero suppression, for example *(lenx,-1:)*. See also [Update properties](/v1/docs/update-properties) , [Open Common folder](/v1/docs/open-common-folder), [Open user folder](/v1/docs/open-user-folder) or [Open local folder](/v1/docs/open-local-folder) Example: Cadit Update.ini Any line starting with a semicolon (;) will be ignored. ``` ; Setup file for user-defined rules for Update Cadit Properties command. ; The file can reside in CaditInventor Common or Local Configuration folder ; ; CaditInventor Local Configuration folder: ; The settings folder where the setup program place files. ; Changes here may be overwritten if the program is reinstalled. ; ; CaditInventor Common Configuration folder: ; CaditInventor folder beside Inventor Template folder. ; Copy files from Local Configuration folder to this folder if custom settings are required. ; ; The program first looks for the file in the Common Configuration folder, then in the Local Configuration folder. ; ; To change the result property: ; Copy this file to the Settings folder in the Common folder ; Change the value of the PartDescription key in the [ResultPropertyName] section (line 117 in this file) ; ; (DescriptionWithCutInfo:) Value from first property with value under [Description With CutInfo] ; (DescriptionWithoutCutInfo:) Value from first property with value under [Description Without CutInfo] ; ; (ct_description:) Value from (DescriptionWithoutCutInfo:), if ct_cut_info is omittet or has no value. ; If the value of ct_cut_info is X, Y or Z, the result is the value from (DescriptionWithCutInfo:) + " L=" + measured length in the selected direction. Result in mm ; If the value of ct_cut_info is XY, YX, XZ, ZX, YZ or ZY, the result is the value from (DescriptionWithCutInfo:) + " x " + measured length + " x " + measured width (measurement depending on value). Result in mm ; If the first letter of ct_cut_info is D followed by XY, YX, XZ, ZX, YZ or ZY and the distances are equal, the result is value from (DescriptionWithCutInfo:) + " Ø" + measured diameter in the selected direction. Result in mm ; If the two distances not are equal, the result is the same as for ct_cut_info XY, YX, XZ, ZX, YZ or ZY. ; If the value of ct_cut_info is PXY, PYX, PXZ, PZX, PYZ or PZY, the result is "PL " + measured thickness + " x " + measured length + " x " + measured width (measurement depending on value). Result in mm ; If the value of ct_cut_info is TXY, TYX, TXZ, TZX, TYZ or TZY, the result is the value from (DescriptionWithCutInfo:) + " " + thickness from the parameter ct_tykkelse + " x " + measured length + " x " + measured width (measurement depending on value). Result in mm ; If none of the above the value from (DescriptionWithCutInfo:) is used. ; ; (fc:feature name) Feature color name of feature name ; (pp:property name) Property value of property name ; (pv:parameter name) Parameter value (numeric value excluding units) of parameter name ; ; (ExtL:) Extent Length. Largest of extent in X and Y direction for Sheet Metal parts. Largest of extent in X, Y and Z directions for standard parts. Result in mm ; (ExtT:) Extent Thickness. Thickness for Sheet Metal parts. Shortest of extent in X, Y and Z directions for standard parts. Result in mm ; (ExtTZ:) Extent Thickness. Extent in Z direction for Sheet Metal parts. Shortest of extent in X, Y and Z directions for standard parts. Result in mm ; (ExtW:) Extent Width. Shortest of extent in X and Y direction for Sheet Metal parts. Midmost of extent in X, Y and Z directions for standard parts. Result in mm ; (ExtX:) Sheet metal extents in x direction, result in mm ; (ExtY:) Sheet metal extents in y direction, result in mm ; (ExtZ:) Sheet metal extents in z direction, result in mm ; (Len1:) Length in first direction of ct_cut_info, result in mm ; (Len2:) Length in second direction of ct_cut_info, result in mm ; (Len3:) Length in third direction (thickness) for PXY, PXZ, PYZ, result in mm ; (LenX:) Bounding box extents x value, result in mm ; (LenY:) Bounding box extents y value, result in mm ; (LenZ:) Bounding box extents z value, result in mm ; (MaxExt:) Largest of (ExtX:) and (ExtY:), result in mm ; (MaxLen:) Largest of (Len1:) and (Len2:), result in mm ; (MinExt:) Smallest of (ExtX:) and (ExtY:), result in mm ; (MinLen:) Smallest of (Len1:) and (Len2:), result in mm ; (RDia:) Diameter of cylindrical part. If two of the values of bounding box extents are equal, they are assumed to be the diameter. ; If none of the values are equal it returns the text (DIAMETER COULD NOT BE DETERMINED). ; Set result to diameter and length along axis vector if largest face is cylindrical and parallel to x-, y- or z-axis. Result in mm ; (RLen:) Length of cylindrical part. If two of the values of bounding box extents are equal, the third value are assumed to be the length. ; If none of the values are equal it returns the text (LENGTH COULD NOT BE DETERMINED). Result in mm ; (Sweeplength:) Sweep length. Sum of the length of all sweep features. Result in mm ; ; (MaxArea:) (Len1:) x (Len2:), result in mm2 ; (MaxArea_m2:) (Len1:) x (Len2:), result in m2 ; (NetArea:) Volume divided by ExtT, result in mm2 ; (NetArea_m2:) Volume divided by ExtT, result in m2 ; (SheetMetalArea_m2:) Sheet Metal Area, result in m2 ; (VolDivByPP:property name) Volume divided by Property value of property name, result in mm2 ; (VolDivByPP_m2:property name) Volume divided by Property value of property name, result in m2 ; (VolDivByPV:parameter name) Volume divided by Parameter value (numeric value excluding units) of parameter name, result in mm2 ; (VolDivByPV_m2:parameter name) Volume divided by Parameter value (numeric value excluding units) of parameter name, result in m2 ; (Wallarea_m2:) Volume divided with the value of the user parameter ct_wt. m2 ; ; (Volume:) Volume in mm3 ; (Volume_m3:) Volume in m3 ; ; (Material:) Material from component material. ; (Weight:) Weight. If no format value is given the default formatting is like this: no decimal for weights from 10 kg and above, 1 decimal for weights from 1 kg up to 10 kg, 3 decimals for weights below 1 kg, result in kg ; (Weight_g:) Weight in grams. If no format value is given the default formatting is like this: no decimal for weights from 10 g and above, 1 decimal for weights from 1 g up to 10 g, 3 decimals for weights below 1 g, result in g ; (referencedfiles:) List of assembly components with weight and BOMStructure Referenced. ; (CCOGX:) Local component center of gravity x value. Result in mm ; (CCOGY:) Local component center of gravity y value. Result in mm ; (CCOGZ:) Local component center of gravity z value. Result in mm ; ; (ItemNo:) Item No in current assembly ; (Qty:) Quantity of component in current assembly ; (QtyTot:) (qty:) x (pp:ct_qtyunits) ; (QtyUnits:) 1 if custom property ct_qtyunits is not set, otherwise value of custom property ct_qtyunits ; ; (FileName:) File name with extension of part or assembly ; (FullFileName:) Fully qualified file name of part or assembly ; (Name:) File name without extension of part or assembly ; (Path:) Path for location of part or assembly ; ; (OriginX:) Component origin x value in current assembly. Result in mm ; (OriginY:) Component origin y value in current assembly. Result in mm ; (OriginZ:) Component origin z value in current assembly. Result in mm ; (OriginElev:property name) Component origin elevation. Distance from property value of given property name. Result in mm ; (COGX:) Component center of gravity x value in current assembly. Result in mm ; (COGY:) Component center of gravity y value in current assembly. Result in mm ; (COGZ:) Component center of gravity z value in current assembly. Result in mm ; (COGElev:property name) Component center of gravity elevation. Distance from property value of given property name. Result in mm ; ; (SheetMetalStyle:) Sheet Metal Style name for sheet metal parts. ; ; (Incr:part property, assembly property, increment, min value, max value) e.g. (Incr:Weld No,LastWeldFillet,1,1000,1999) ; ; Number values can be formatted with n digits after decimal symbol by adding ,n after the code, for example (lenx,1:) , (pp,0:G_L) or (weight,1:). ; Use negative decimal value for zero suppression, for example (lenx,-1:). ; ; ; If IfProperty is empty, all components will be modified with SetPropertyN/SetValueN rules. ; If IfProperty is set, only components with IfProperty like IfValue will be modified. Wildcards * and ? can be used. ; If IfValue is set and is (Exist), only components were IfProperty exists will be modified. ; If IfValue is not set, only components where IfProperty is not set or is empty will be modified. ; ; Property names can be set on the form propertyset.propertyname. If propertyset is omitted, custom property is assumed. ; Use Cadit Property Editor setup to determine Property set names and Property names. ; Property name examples: ; User Defined Properties.ct_color (Custom property ct_color) ; Summary Information.Title (Title property on iProperties Summary tab) ; Document Summary Information.Company (Company property on iProperties Summary tab) ; Design Tracking Properties.Description (Description property on iProperties Project tab) ; Property name examples with valid property set name abbreviations: ; ct_color (Custom property ct_color) ; Summary.Title (Title property on iProperties Summary tab) ; DocumentSummary.Company (Company property on iProperties Summary tab) ; DesignTracking.Description (Description property on iProperties Project tab) ; Result properties [ResultPropertyName] PartDescription = ct_description ;PartDescription1 = Design Tracking Properties.Part Number ;PartDescription2 = Design Tracking Properties.Description StockDescription = Design Tracking Properties.Stock Number CutLength = Custom Properties.Cut Length ;CutLength1 = Custom Properties.ct_kappelengde CutWidth = Custom Properties.Cut Width ;CutWidth1 = Custom Properties.ct_kappebredde ExternalDimensions = Custom Properties.Outer Dimensions ;ExternalDimensions1 = Custom Properties.ct_outer_dimensions ct_lenx = Custom Properties.ct_lenx ;ct_lenx1 = Custom Properties.CQTools_X ;ct_lenx2 = Custom Properties.Naviate_Range_X ct_leny = Custom Properties.ct_leny ;ct_leny1 = Custom Properties.CQTools_Y ;ct_leny2 = Custom Properties.Naviate_Range_Y ct_lenz = Custom Properties.ct_lenz ;ct_lenz1 = Custom Properties.CQTools_Z ;ct_lenz2 = Custom Properties.Naviate_Range_Z ct_lenmax = Custom Properties.ct_lenmax ct_lenmid = Custom Properties.ct_lenmid ct_lenmin = Custom Properties.ct_lenmin ct_maxarea = Custom Properties.ct_maxarea ct_netarea = Custom Properties.ct_netarea ct_qty = Custom Properties.ct_qty ct_qtyunit = Custom Properties.ct_qtyunit ct_weight = Custom Properties.ct_weight ct_referencedfiles = Custom Properties.ct_referencedfiles ct_density = Custom Properties.ct_density ct_ccogx = Custom Properties.ct_ccogx ct_ccogy = Custom Properties.ct_ccogy ct_ccogz = Custom Properties.ct_ccogz OriginalPartNumber = Original Part Number OriginalStockNumber = Original Stock Number OriginalDescription = Original Description ;Sweeplength = Custom Properties.Sweeplength ;Sweeplength1 = Custom Properties.Naviate_SweepLength PlateThickness = Custom Properties.PlateThickness ; ct_description for components with ct_cut_info [Description With CutInfo] Property1=Design Tracking Properties.Stock Number Property2=Summary Information.Title Property3=Design Tracking Properties.Description ; ct_description for components without ct_cut_info [Description Without CutInfo] Property1=Design Tracking Properties.Stock Number Property2=Summary Information.Title Property3=Design Tracking Properties.Description [MeasuringMethods] Method2=PL|DPL|PLATE|DPLATE|FL|FPEL|SQB|TBAR|INP|IPE|UAP|UNP|UPE|USP|H Method3=L|RB|HRB [MeasuringOptions] OrthoCheckCodes=PL|DPL|PLATE|DPLATE OrthoCheckFactor=0.05 OriginCheckFactor=0.4 MaxFaces=200 ; definition of update rules [UpdateRule1] ; Measure and describe coded components (ct_cut_info) Description = Measure and describe coded components Comments = Measure plates and profiles and update description properties according to the code in the ct_cut_info property. DefaultChecked = 1 InUse = 1 Mandatory = 1 [UpdateRule1.1] ; hopp over alle uten ct_cut_info IfProperty = ct_cut_info IfValue = Goto = exit [UpdateRule1.2] ; ta vare på Part Number i ResultPropertyName(OriginalPartNumber) IfProperty = ResultPropertyName(OriginalPartNumber) IfValue = SetProperty = ResultPropertyName(OriginalPartNumber) SetValue = (pp: Design Tracking Properties.Part Number) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule1.3] ; ta vare på Stock Number i Original Stock Number IfProperty = ResultPropertyName(OriginalStockNumber) IfValue = SetProperty = ResultPropertyName(OriginalStockNumber) SetValue = (pp: Design Tracking Properties.Stock Number) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule1.4] ; ta vare på Description i Original Description IfProperty = ResultPropertyName(OriginalDescription) IfValue = SetProperty = ResultPropertyName(OriginalDescription) SetValue = (pp: Design Tracking Properties.Description) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule1.5] ; exit if None IfProperty = ct_cut_info IfValue = None ;SetProperty = ResultPropertyName(CutLength) ;SetValue = ;Type = Text UpdateIAM = 1 UpdateIPT = 1 Goto = 102 [UpdateRule1.6] ; D for Description IfProperty = ct_cut_info IfValue = D SetProperty = ResultPropertyName(PartDescription) ;SetValue = = SetValue = (pp: Design Tracking Properties.Description) (pp:ct_remarks) Type = Text UpdateIAM = 1 UpdateIPT = 1 Goto = 102 [UpdateRule1.7] ; PN for Part Number IfProperty = ct_cut_info IfValue = PN SetProperty = ResultPropertyName(PartDescription) SetValue = (pp: Design Tracking Properties.Part Number) (pp:ct_remarks) Type = Text UpdateIAM = 1 UpdateIPT = 1 Goto = 102 [UpdateRule1.8] ; SN for Stock Number IfProperty = ct_cut_info IfValue = SN SetProperty = ResultPropertyName(PartDescription) ;SetValue = = SetValue = (pp: Design Tracking Properties.Stock Number) (pp:ct_remarks) Type = Text UpdateIAM = 1 UpdateIPT = 1 Goto = 102 [UpdateRule1.9] ; FN for Filename IfProperty = ct_cut_info IfValue = FN SetProperty = ResultPropertyName(PartDescription) SetValue = (Name:) Type = Text UpdateIAM = 1 UpdateIPT = 1 Goto = 102 [UpdateRule1.10] ; PL for plates IfProperty = ct_cut_info IfValue = PL SetProperty = ResultPropertyName(PartDescription) SetValue = PL (ExtT,-1:) x (ExtL,0:) x (ExtW,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = PL (ExtT,-1:) SetProperty2= ResultPropertyName(CutLength) SetValue2 = (len1,0:) SetProperty3= ResultPropertyName(CutWidth) SetValue3 = (len2,0:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule1.11] ; DPL for round plates IfProperty = ct_cut_info IfValue = DPL SetProperty = ResultPropertyName(PartDescription) SetValue = PL (RLen,-1:) ø(RDia,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = PL (RLen,-1:) SetProperty2= ResultPropertyName(CutLength) SetValue2 = (len1,0:) SetProperty3= ResultPropertyName(CutWidth) SetValue3 = (len2,0:) SetProperty4= ResultPropertyName(ExternalDimensions) SetValue4 = ø(RDia,0:) Type4 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = 103 [UpdateRule1.12] ; PLATE for plates IfProperty = ct_cut_info IfValue = PLATE SetProperty = ResultPropertyName(PartDescription) SetValue = Plate (ExtT,-1:) x (ExtL,0:) x (ExtW,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = Plate (ExtT,-1:) SetProperty2= ResultPropertyName(CutLength) SetValue2 = (len1,0:) SetProperty3= ResultPropertyName(CutWidth) SetValue3 = (len2,0:) ;SetProperty4= ResultPropertyName(ExternalDimensions) ;SetValue4 = (ExtL,0:) x (ExtW,0:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule1.13] ; DPLATE for round plates IfProperty = ct_cut_info IfValue = DPLATE SetProperty = ResultPropertyName(PartDescription) SetValue = Plate (RLen,-1:) ø(RDia,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = Plate (RLen,-1:) SetProperty2= ResultPropertyName(CutLength) SetValue2 = (len1,0:) SetProperty3= ResultPropertyName(CutWidth) SetValue3 = (len2,0:) SetProperty4= ResultPropertyName(ExternalDimensions) SetValue4 = ø(RDia,0:) Type4 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = 103 [UpdateRule1.14] ; L measures the longest length for profiles or sheet metal parts IfProperty = ct_cut_info IfValue = L SetProperty = ResultPropertyName(PartDescription) SetValue = (DescriptionWithCutInfo:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(ProfileCutLength) SetValue1 = (ExtL,0:) SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = (ExtL,0:) Type2 = Text SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_qty) SetValue4 = (ExtL,0:) mm SetProperty5= ResultPropertyName(ct_qtyunit) SetValue5 = mm SetProperty6= ResultPropertyName(ct_maxarea) SetValue6 = Type6 = Text SetProperty7= ResultPropertyName(ct_netarea) SetValue7 = Type7 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.15] ; LVDA calculates the length by dividing volume by area IfProperty = ct_cut_info IfValue = LVDA SetProperty = ResultPropertyName(PartDescription) SetValue = (DescriptionWithCutInfo:) L=(VolDivByPP,0:ct_section_area) (pp:ct_remarks) SetProperty1= ResultPropertyName(ProfileCutLength) SetValue1 = (VolDivByPP,0:ct_section_area) SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = (VolDivByPP,0:ct_section_area) Type2 = Text SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_qty) SetValue4 = (VolDivByPP,0:ct_section_area) mm SetProperty5= ResultPropertyName(ct_qtyunit) SetValue5 = mm SetProperty6= ResultPropertyName(ct_maxarea) SetValue6 = Type6 = Text SetProperty7= ResultPropertyName(ct_netarea) SetValue7 = Type7 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.16] ; LSWL length from sweeplength IfProperty = ct_cut_info IfValue = LSWL SetProperty = ResultPropertyName(PartDescription) SetValue = (DescriptionWithCutInfo:) L=(Sweeplength,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(ProfileCutLength) SetValue1 = (Sweeplength,0:) SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = (Sweeplength,0:) Type2 = Text SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_qty) SetValue4 = (Sweeplength,0:) mm SetProperty5= ResultPropertyName(ct_qtyunit) SetValue5 = mm SetProperty6= ResultPropertyName(ct_maxarea) SetValue6 = Type6 = Text SetProperty7= ResultPropertyName(ct_netarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(Sweeplength) SetValue8 = (Sweeplength,0:) Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.17] ; FL for flat bar (replaces FPEL) IfProperty = ct_cut_info IfValue = FL SetProperty = ResultPropertyName(PartDescription) SetValue = FL (ExtW,0:)x(ExtTZ,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= Design Tracking Properties.Stock Number SetValue1 = FL (ExtW,0:)x(ExtTZ,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL,0:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.18] ; FPEL for sheet metal flat bar IfProperty = ct_cut_info IfValue = FPEL SetProperty = ResultPropertyName(PartDescription) SetValue = FL (ExtW,0:)x(ExtTZ,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= Design Tracking Properties.Stock Number SetValue1 = FL (ExtW,0:)x(ExtTZ,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL,0:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.19] ; RB for round bar IfProperty = ct_cut_info IfValue = R SetProperty = ResultPropertyName(PartDescription) SetValue = Round Bar Ø(RDia,0:) L=(RLen,0:) (pp:ct_remarks) SetProperty1= Design Tracking Properties.Stock Number SetValue1 = Round Bar Ø(RDia,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (RLen,0:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (RLen,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (RLen,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit ; eller kanskje vi skulle ha en felles kode BAR for SQB og FL med en egen funksjon som evaluerte ; om målene var like > SQB eller fantes i en tabell > FL om ikke PL [UpdateRule1.20] ; HRB for half round bar IfProperty = ct_cut_info IfValue = HRB SetProperty = ResultPropertyName(PartDescription) SetValue = Half Round Bar (ExtW,0:)x(ExtTZ,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = Half Round Bar (ExtW,0:)x(ExtTZ,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL,0:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.21] ; SQB for square bar eller kanskje vi skulle ha en felles kode BAR for SQB og FL med en egen funksjon som evaluerte om målene var like > SQB eller fantes i en tabell > FL IfProperty = ct_cut_info IfValue = SQB SetProperty = ResultPropertyName(PartDescription) SetValue = Square Bar (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = Square Bar (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL,0:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.22] ; TBAR measures the longest length for TBAR steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = TBAR SetProperty = ResultPropertyName(PartDescription) SetValue = T(ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = T(ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.23] ; INP measures the longest length for INP steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = INP SetProperty = ResultPropertyName(PartDescription) SetValue = INP (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = INP (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.24] ; IPE measures the longest length for IPE steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = IPE SetProperty = ResultPropertyName(PartDescription) SetValue = IPE (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = IPE (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.25] ; UAP measures the longest length for UAP steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = UAP SetProperty = ResultPropertyName(PartDescription) SetValue = UAP (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = UAP (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.26] ; UNP measures the longest length for UNP steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = UNP SetProperty = ResultPropertyName(PartDescription) SetValue = UNP (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = UNP (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.27] ; UPE measures the longest length for UPE steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = UPE SetProperty = ResultPropertyName(PartDescription) SetValue = UPE (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = UPE (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.28] ; USP measures the longest length for USP steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = USP SetProperty = ResultPropertyName(PartDescription) SetValue = USP (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = USP (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.29] ; H measures the longest length for H and I steel profiles and find profile type ; Mark! (FindProfileType:) is not finished yet IfProperty = ct_cut_info IfValue = H SetProperty = ResultPropertyName(PartDescription) SetValue = (FindProfileType:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = (FindProfileType:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL,0:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.30] ; HEB measures the longest length for HEB steel profiles and find profile dimension from width IfProperty = ct_cut_info IfValue = HEB SetProperty = ResultPropertyName(PartDescription) SetValue = HEB (ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = HEB (ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = (ExtL,0:) mm SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = mm SetProperty7= ResultPropertyName(ct_maxarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_netarea) SetValue8 = Type8 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.31] ; hopper til 1.60 (for å legge til en ny regel bruk dette nummert og øk denne med 1) IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) Goto = 60 [UpdateRule1.60] ; Restore original Part Number and Stock Number and set ct_description as Part Number IfProperty = ct_cut_info IfValue = OPNSN SetProperty = ResultPropertyName(PartDescription) SetValue = (pp:Original Part Number) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = (pp:Original Stock Number) SetProperty2= ResultPropertyName(CutLength) SetValue2 = Type2 = Text SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_maxarea) SetValue5 = Type5 = Text SetProperty6= ResultPropertyName(ct_netarea) SetValue6 = Type6 = Text SetProperty7= ResultPropertyName(ct_qty) SetValue7 = SetProperty8= ResultPropertyName(ct_qtyunit) SetValue8 = UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.61] ; BOLT for bolts IfProperty = ct_cut_info IfValue = BOLT SetProperty = ResultPropertyName(PartDescription) SetValue = (pp:ct_boltdimension)x(pv,0:ct_lengde) (pp:ct_boltdescription) (pp:ct_remarks) SetProperty1= Design Tracking Properties.Stock Number SetValue1 = (pp:ct_boltdimension)x(pv,0:ct_lengde) (pp:ct_boltdescription) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = Type2 = Text SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(CutLength) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(CutWidth) SetValue5 = Type5 = Text SetProperty6= ResultPropertyName(ct_maxarea) SetValue6 = Type6 = Text SetProperty7= ResultPropertyName(ct_netarea) SetValue7 = Type7 = Text SetProperty8= ResultPropertyName(ct_qty) SetValue8 = SetProperty9= ResultPropertyName(ct_qtyunit) SetValue9 = UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.62] ; TRE for square section of wood IfProperty = ct_cut_info IfValue = TRE SetProperty = ResultPropertyName(PartDescription) SetValue = Tre (ExtT,0:)x(ExtW,0:) L=(ExtL,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = Tre (ExtT,0:)x(ExtW,0:) SetProperty2= ResultPropertyName(ProfileCutLength) SetValue2 = (ExtL,0:) SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = (ExtL,0:) Type3 = Text SetProperty4= ResultPropertyName(CutWidth) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_maxarea) SetValue5 = Type5 = Text SetProperty6= ResultPropertyName(ct_netarea) SetValue6 = Type6 = Text SetProperty7= ResultPropertyName(ct_qty) SetValue7 = (ExtL,0:) mm SetProperty8= ResultPropertyName(ct_qtyunit) SetValue8 = mm UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.63] ; hopper til 1.70 IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) Goto = 70 [UpdateRule1.70] ; for all other with cut info IfProperty = ct_cut_info IfValue = (Exist) SetProperty = ResultPropertyName(PartDescription) SetValue = (ct_description:) (pp:ct_remarks) SetProperty1= ResultPropertyName(CutWidth) SetValue1 = (len2,0:) SetProperty2= ResultPropertyName(CutLength) SetValue2 = (len1,0:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule1.71] ; hopper til 1.100 dvs hopper over deler med G_L og PL property og deler uten ct_cut_info IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) Goto = 100 ;--- Frame generator start --- [UpdateRule1.80] ; Frame generator, Content Center and other parts with G_L property IfProperty = G_L IfValue = (Exist) SetProperty = ResultPropertyName(PartDescription) ;SetValue = (pp: Design Tracking Properties.Stock Number) L=(len1,0:) (pp:ct_remarks) SetValue = (pp: Design Tracking Properties.Stock Number) L=(pv,0: G_L) (pp:ct_remarks) SetProperty1= ResultPropertyName(ProfileCutLength) ;SetValue1 = (len1,0:) SetValue1 = (pv,0: G_L) SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = (pv,0: G_L) Type2 = Text SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_maxarea) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_netarea) SetValue5 = Type5 = Text SetProperty6= ResultPropertyName(ct_qty) SetValue6 = (pv,0: G_L) mm SetProperty7= ResultPropertyName(ct_qtyunit) SetValue7 = mm UpdateIAM = 0 UpdateIPT = 1 Goto = exit ;--- Frame generator end --- ;--- Tube & Pipe start --- [UpdateRule1.81] ; Tube & Pipe, Content Center and other parts with PL property IfProperty = PL IfValue = (Exist) SetProperty = Design Tracking Properties.Part Number ;SetValue = (pp: Design Tracking Properties.Stock Number) L=(LenX,0:) (pp:ct_remarks) SetValue = (pp: Design Tracking Properties.Stock Number) L=(pv,0: PL) (pp:ct_remarks) SetProperty1= ResultPropertyName(ProfileCutLength) ;SetValue1 = (LenX,0:) SetValue1 = (pv,0: PL) SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = (pv,0: PL) Type2 = Text SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_maxarea) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_netarea) SetValue5 = Type5 = Text SetProperty6= ResultPropertyName(ct_qty) SetValue6 = (pv,0: PL) mm SetProperty7= ResultPropertyName(ct_qtyunit) SetValue7 = mm UpdateIAM = 0 UpdateIPT = 1 Goto = exit ;--- Tube & Pipe end --- [UpdateRule1.82] ; hopper til 1.90 IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) Goto = 90 ;--- ct_description for components without cut info start --- [UpdateRule1.90] ; set ct_description for components without cut info IfProperty = ct_cut_info IfValue = SetProperty = ResultPropertyName(PartDescription) SetValue = (DescriptionWithoutCutInfo:) SetProperty1= ResultPropertyName(CutLength) SetValue1 = Type1 = Text SetProperty2= ResultPropertyName(CutWidth) SetValue2 = Type2 = Text SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ProfileCutLength) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_maxarea) SetValue5 = Type5 = Text SetProperty6= ResultPropertyName(ct_netarea) SetValue6 = Type6 = Text Goto = exit ;--- ct_description for components without cut info end --- [UpdateRule1.100] ; ResultPropertyName(ExternalDimensions) for components with ResultPropertyName(CutWidth) (arealdeler) IfProperty = ResultPropertyName(CutWidth) IfValue = (Exist) SetProperty = ResultPropertyName(ExternalDimensions) SetValue = (MaxLen,0:) x (MinLen,0:) Type = Text UpdateIAM = 0 UpdateIPT = 1 Goto = 103 [UpdateRule1.101] ; ct_outer_dimensions for components with ResultPropertyName(CutLength) (løpemeterdeler) IfProperty = ResultPropertyName(CutLength) IfValue = (Exist) SetProperty = ResultPropertyName(ExternalDimensions) SetValue = (len1,0:) Type = Text SetProperty1= ResultPropertyName(ct_qty) SetValue1 = (len1,0:) mm SetProperty2= ResultPropertyName(ct_qtyunit) SetValue2 = mm SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_maxarea) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_netarea) SetValue5 = Type5 = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule1.102] ; clear Cadit qty properties for all other ;IfProperty = ResultPropertyName(CutLength) ;IfValue = (Exist) SetProperty = ResultPropertyName(CutLength) SetValue = Type = Text SetProperty1= ResultPropertyName(CutWidth) SetValue1 = Type1 = Text SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = Type2 = Text SetProperty3= ResultPropertyName(ct_maxarea) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_netarea) SetValue4 = Type4 = Text SetProperty5= ResultPropertyName(ct_qty) SetValue5 = Type5 = Text SetProperty6= ResultPropertyName(ct_qtyunit) SetValue6 = Type6 = Text UpdateIAM = 1 UpdateIPT = 1 Goto = exit [UpdateRule1.103] ; ResultPropertyName(ExternalDimensions) for components with ResultPropertyName(CutWidth) (arealdeler) SetProperty = ResultPropertyName(ct_qty) SetValue = (MaxArea_m2,-3:) m^2 SetProperty1= ResultPropertyName(ct_qtyunit) SetValue1 = m² SetProperty2= ResultPropertyName(ct_maxarea) SetValue2 = (MaxArea_m2,-3:) SetProperty3= ResultPropertyName(ct_netarea) SetValue3 = (netarea_m2,-3:) UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule2] ; Measure Content Center Profiles: parts with G_L property Description = Measure Content Center Profiles Comments = Read profile length and update description properties for parts with G_L property DefaultChecked = 1 InUse = 1 Mandatory = 1 [UpdateRule2.1] ; hopp over alle med ct_cut_info IfProperty = ct_cut_info IfValue = (Exist) Goto = exit [UpdateRule2.2] ; hopp over alle uten G_L property IfProperty = G_L IfValue = Goto = exit [UpdateRule2.3] ; ta vare på Part Number i ResultPropertyName(OriginalPartNumber) IfProperty = ResultPropertyName(OriginalPartNumber) IfValue = SetProperty = ResultPropertyName(OriginalPartNumber) SetValue = (pp: Design Tracking Properties.Part Number) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule2.4] ; ta vare på Stock Number i Original Stock Number IfProperty = ResultPropertyName(OriginalStockNumber) IfValue = SetProperty = ResultPropertyName(OriginalStockNumber) SetValue = (pp: Design Tracking Properties.Stock Number) UpdateIAM = 1 UpdateIPT = 1 ;--- Frame generator start --- [UpdateRule2.5] ; Frame generator, Content Center and other parts with G_L property IfProperty = G_L IfValue = (Exist) SetProperty = ResultPropertyName(PartDescription) ;SetValue = (pp: Design Tracking Properties.Stock Number) L=(len1,0:) (pp:ct_remarks) SetValue = (pp: Design Tracking Properties.Stock Number) L=(pv,0: G_L) (pp:ct_remarks) SetProperty1= ResultPropertyName(CutLength) ;SetValue1 = (len1,0:) SetValue1 = (pv,0: G_L) SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = (pv,0: G_L) Type2 = Text SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_qty) SetValue4 = (pv,0: G_L) mm SetProperty5= ResultPropertyName(ct_qtyunit) SetValue5 = mm UpdateIAM = 0 UpdateIPT = 1 Goto = exit ;--- Frame generator end --- [UpdateRule3] ; Measure Content Center Pipes: parts with PL property Description = Measure Content Center Pipes Comments = Read pipelength and update description properties for parts with PL property DefaultChecked = 1 InUse = 1 Mandatory = 1 [UpdateRule3.1] ; hopp over alle med ct_cut_info IfProperty = ct_cut_info IfValue = (Exist) Goto = exit [UpdateRule3.2] ; hopp over alle uten PL property IfProperty = PL IfValue = Goto = exit [UpdateRule3.3] ; ta vare på Part Number i ResultPropertyName(OriginalPartNumber) IfProperty = ResultPropertyName(OriginalPartNumber) IfValue = SetProperty = ResultPropertyName(OriginalPartNumber) SetValue = (pp: Design Tracking Properties.Part Number) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule3.4] ; ta vare på Stock Number i Original Stock Number IfProperty = ResultPropertyName(OriginalStockNumber) IfValue = SetProperty = ResultPropertyName(OriginalStockNumber) SetValue = (pp: Design Tracking Properties.Stock Number) UpdateIAM = 1 UpdateIPT = 1 ;--- Tube & Pipe start --- [UpdateRule3.5] ; Tube & Pipe, Content Center and other parts with PL property IfProperty = PL IfValue = (Exist) SetProperty = ResultPropertyName(PartDescription) ;SetValue = (pp: Design Tracking Properties.Stock Number) L=(LenX,0:) (pp:ct_remarks) SetValue = (pp: Design Tracking Properties.Stock Number) L=(pv,0: PL) (pp:ct_remarks) SetProperty1= ResultPropertyName(CutLength) ;SetValue1 = (LenX,0:) SetValue1 = (pv,0: PL) SetProperty2= ResultPropertyName(ExternalDimensions) SetValue2 = (pv,0: PL) Type2 = Text SetProperty3= ResultPropertyName(CutWidth) SetValue3 = Type3 = Text SetProperty4= ResultPropertyName(ct_qty) SetValue4 = (pv,0: PL) mm SetProperty5= ResultPropertyName(ct_qtyunit) SetValue5 = mm UpdateIAM = 0 UpdateIPT = 1 Goto = exit ;--- Tube & Pipe end --- [UpdateRule4] ; Describe uncoded sheet metal parts Description = Describe uncoded sheet metal parts as plate Comments = Updates description for all sheet metal parts without ct_cut_info property DefaultChecked = 0 InUse = 1 Mandatory = 0 [UpdateRule4.1] ; hopp over alle med ct_cut_info IfProperty = ct_cut_info IfValue = (Exist) Goto = exit [UpdateRule4.2] ; hopp over alle med G_L property IfProperty = G_L IfValue = (Exist) Goto = exit [UpdateRule4.3] ; hopp over alle med PL property IfProperty = PL IfValue = (Exist) Goto = exit [UpdateRule4.4] ; hopp over alle uten Sheet Metal Rule property IfProperty = Design Tracking Properties.Sheet Metal Rule IfValue = Goto = exit [UpdateRule4.5] ; ta vare på Part Number i ResultPropertyName(OriginalPartNumber) IfProperty = ResultPropertyName(OriginalPartNumber) IfValue = SetProperty = ResultPropertyName(OriginalPartNumber) SetValue = (pp: Design Tracking Properties.Part Number) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule4.6] ; ta vare på Stock Number i Original Stock Number IfProperty = ResultPropertyName(OriginalStockNumber) IfValue = SetProperty = ResultPropertyName(OriginalStockNumber) SetValue = (pp: Design Tracking Properties.Stock Number) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule4.7] IfProperty = Design Tracking Properties.Sheet Metal Rule IfValue = (Exist) SetProperty = ResultPropertyName(PartDescription) SetValue = PL (ExtT,-1:) x (ExtL,0:) x (ExtW,0:) (pp:ct_remarks) SetProperty1= ResultPropertyName(StockDescription) SetValue1 = PL (ExtT,-1:) SetProperty2= ResultPropertyName(CutLength) SetValue2 = (ExtL,0:) SetProperty3= ResultPropertyName(CutWidth) SetValue3 = (ExtW,0:) SetProperty4= ResultPropertyName(ExternalDimensions) SetValue4 = (ExtL,0:) x (ExtW,0:) SetProperty5= ResultPropertyName(ct_maxarea) SetValue5 = (SheetMetalArea_m2,-3:) SetProperty6= ResultPropertyName(ct_netarea) SetValue6 = (netarea_m2,-3:) SetProperty7= ResultPropertyName(ct_qty) SetValue7 = (SheetMetalArea_m2,-3:) m^2 SetProperty8= ResultPropertyName(ct_qtyunit) SetValue8 = m² UpdateIAM = 0 UpdateIPT = 1 [UpdateRule5] ; Describe uncoded components (ct_cut_info) Description = Describe uncoded components Comments = Updates description for componets without ct_cut_info property, except sheet metal parts DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule5.1] ; hopp over alle med ct_cut_info IfProperty = ct_cut_info IfValue = (Exist) Goto = exit [UpdateRule5.2] ; hopp over Frame generator, Content Center and other parts with G_L property IfProperty = G_L IfValue = (Exist) Goto = exit [UpdateRule5.3] ; hopp over Tube & Pipe, Content Center and other parts with PL property IfProperty = PL IfValue = (Exist) Goto = exit [UpdateRule5.4] ; hopp over alle uten Sheet Metal Rule property IfProperty = Design Tracking Properties.Sheet Metal Rule IfValue = (Exist) Goto = exit [UpdateRule5.5] ; ta vare på Part Number i ResultPropertyName(OriginalPartNumber) IfProperty = ResultPropertyName(OriginalPartNumber) IfValue = SetProperty = ResultPropertyName(OriginalPartNumber) SetValue = (pp: Design Tracking Properties.Part Number) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule5.6] ; ta vare på Stock Number i Original Stock Number IfProperty = ResultPropertyName(OriginalStockNumber) IfValue = SetProperty = ResultPropertyName(OriginalStockNumber) SetValue = (pp: Design Tracking Properties.Stock Number) UpdateIAM = 1 UpdateIPT = 1 --- ct_description for components without cut info start --- [UpdateRule5.7] ; set ct_description for components without cut info IfProperty = ct_cut_info IfValue = SetProperty = ResultPropertyName(PartDescription) SetValue = (DescriptionWithoutCutInfo:) SetProperty1= ResultPropertyName(CutLength) SetValue1 = Type1 = Text SetProperty2= ResultPropertyName(CutWidth) SetValue2 = Type2 = Text SetProperty3= ResultPropertyName(ExternalDimensions) SetValue3 = Type3 = Text Goto = exit --- ct_description for components without cut info end --- [UpdateRule6] ; Measure Component Extents Description = Measure Component Extents Comments = Updates Component Extent properties DefaultChecked = 0 InUse = 0 Mandatory = 0 ; set ct_lenx, ct_leny, ct_lenz, ct_lenmax, ct_lenmid, ct_lenmin [UpdateRule6.1] ; ct_lenx IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) SetProperty = ResultPropertyName(ct_lenx) SetValue = (LenX,0:) Type = Text UpdateIAM = 0 UpdateIPT = 1 [UpdateRule6.2] ; ct_leny IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) SetProperty = ResultPropertyName(ct_leny) SetValue = (LenY,0:) Type = Text UpdateIAM = 0 UpdateIPT = 1 [UpdateRule6.3] ; ct_lenz IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) SetProperty = ResultPropertyName(ct_lenz) SetValue = (LenZ,0:) Type = Text UpdateIAM = 0 UpdateIPT = 1 [UpdateRule6.4] ; ct_lenmax IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) SetProperty = ResultPropertyName(ct_lenmax) SetValue = (ExtL,0:) Type = Text UpdateIAM = 0 UpdateIPT = 1 [UpdateRule6.5] ; ct_lenmid IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) SetProperty = ResultPropertyName(ct_lenmid) SetValue = (ExtW,0:) Type = Text UpdateIAM = 0 UpdateIPT = 1 [UpdateRule6.6] ; ct_lenmin IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) SetProperty = ResultPropertyName(ct_lenmin) SetValue = (ExtTZ,0:) Type = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule7] ; Plate Area and Net Area Description = Plate Area and Net Area Comments = Plate Area is max length x max width. Net Area is Volume divided by plate thickness DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule7.1] IfProperty = ct_cut_info IfValue = FPEL SetProperty = ResultPropertyName(ct_maxarea) SetValue = Goto = 3 [UpdateRule7.2] IfProperty = ct_cut_info IfValue = (Exist) SetProperty = ResultPropertyName(ct_maxarea) SetValue = (MaxArea_m2:2) m2 UpdateIAM = 0 UpdateIPT = 1 [UpdateRule7.3] IfProperty = ct_cut_info IfValue = FPEL SetProperty = ResultPropertyName(ct_netarea) SetValue = Goto = exit [UpdateRule7.4] IfProperty = ct_cut_info IfValue = (Exist) SetProperty = ResultPropertyName(ct_netarea) SetValue = (VolDivByPP:ct_section_area) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule8] ; Material/Dwg property Description = Material/Dwg property Comments = Set property to Drawing reference if ct_dwg_ref is set, otherwise to Material. DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule8.1] IfProperty = ct_filename_on IfValue = true SetProperty = ct_filename SetValue = (Name:) UpdateIAM = 1 UpdateIPT = 1 [UpdateRule8.2] IfProperty = ct_filename_on IfValue = false SetProperty = ct_filename SetValue = UpdateIAM = 1 UpdateIPT = 1 [UpdateRule8.3] IfProperty = ct_dwg_ref IfValue = (Exist) SetProperty = ct_material_dwg SetValue = (pp:ct_dwg_ref) UpdateIAM = 1 UpdateIPT = 1 Goto = exit ;Goto = 5 [UpdateRule8.4] IfProperty = IfValue = SetProperty = ct_material_dwg SetValue = (material:) ;UpdateIAM = 1 UpdateIPT = 1 Goto = exit ;[UpdateRule8.5] ;IfProperty = ct_dwg_ref ;IfValue = ;SetProperty = ct_material_dwg ;SetValue = (material:) ;UpdateIAM = 1 ;UpdateIPT = 1 [UpdateRule9] ; Sheet Metal Style name Description = Sheet Metal Style name Comments = Set sheet metal style name on sheet metal parts HideForIPT = 0 MasterLODOnly= 0 InUse = 0 [UpdateRule9.1] IfProperty = ct_cut_info IfValue = (Exist) SetProperty = ct_sheetmetalstyle SetValue = (sheetmetalstyle:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule10] ; use filename as part number Description = Use filename as Part Number Comments = Set the value of Part Number same as the filename whitout extension. DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule10.1] ; Filename IfProperty = Design Tracking Properties.Document SubType Name IfValue = (Exist) SetProperty = Design Tracking Properties.Part Number SetValue = (Name:) Type = Text UpdateIAM = 1 UpdateIPT = 1 Goto = exit [UpdateRule11] Description = Set custom Weight, Density and COG properties Comments = Set values from physical properties to custom properties. DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule11.1] IfProperty = IfValue = SetProperty = ResultPropertyName(ct_weight) SetValue = (weight:) kg ;SetValue = (weight_g:) g UpdateIAM = 1 UpdateIPT = 0 [UpdateRule11.2] IfProperty = IfValue = SetProperty = ResultPropertyName(ct_density) SetValue = (pp:Design Tracking Properties.Density) UpdateIAM = 1 UpdateIPT = 0 [UpdateRule11.3] IfProperty = IfValue = SetProperty = ResultPropertyName(ct_ccogx) SetValue = (CCOGX:) SetProperty1 = ResultPropertyName(ct_ccogy) SetValue1 = (CCOGY:) SetProperty2 = ResultPropertyName(ct_ccogz) SetValue2 = (CCOGZ:) UpdateIAM = 1 UpdateIPT = 0 [UpdateRule12] Description = Referenced files Comments = List of assembly components with weight and BOMStructure Referenced. DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule12.1] IfProperty = IfValue = SetProperty = ResultPropertyName(ct_referencedfiles) SetValue = (referencedfiles:) UpdateIAM = 1 UpdateIPT = 0 [UpdateRule13] Description = Item No from Parts Only in Assembly BOM Comments = Set parts only item number from BOM in a property on the part HideForIPT = 1 MasterLODOnly= 1 InUse = 0 [UpdateRule13.1] IfProperty = IfValue = SetProperty = ct_item SetValue = (ItemNo:) Type = Text UpdateIAM = 0 UpdateIPT = 1 [UpdateRule14] ; Quantity properties (Current Assembly Qty) Description = Quantity properties (Current Assembly Qty) Comments = Set quantity of the part from the current assembly in a property on the part HideForIPT = 1 MasterLODOnly= 1 InUse = 0 [UpdateRule14.1] IfProperty = IfValue = SetProperty = ct_qtyperunit SetValue = (qty:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule14.2] IfProperty = IfValue = SetProperty = ct_qtyunits SetValue = (qtyunits:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule14.3] IfProperty = IfValue = SetProperty = ct_qtytot SetValue = (qtytot:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15] Description = Assembly position properties Comments = Set origin coordinates and center of gravity on components. Set elevation relative to property ct_floor_elevation. InUse = 0 HideForIPT = 1 [UpdateRule15.1] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_origin_x SetValue = (OriginX,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15.2] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_origin_y SetValue = (OriginY,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15.3] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_origin_z SetValue = (OriginZ,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15.4] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_origin_elevation SetValue = (OriginElev,0:ct_floor_elevation) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15.5] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_cog_x SetValue = (COGX,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15.6] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_cog_y SetValue = (COGY,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15.7] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_cog_z SetValue = (COGZ,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule15.8] IfProperty = ct_assembly_position IfValue = (exist) SetProperty = ct_cog_elevation SetValue = (COGElev,0:ct_floor_elevation) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule16] Description = Weld No Comments = Increments Weld No per Weld Type. Last used Weld No is saved in assembly. DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule16.1] IfProperty = Weld Type IfValue = FILLET SetProperty = Weld No SetValue = (Incr:Weld No,LastWeldFillet,1,1000,1999) Type = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule16.2] IfProperty = Weld Type IfValue = T-BUTT SetProperty = Weld No SetValue = (Incr:Weld No,LastWeldTButt,1,2000,2999) Type = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule16.3] IfProperty = Weld Type IfValue = BUTT SetProperty = Weld No SetValue = (Incr:Weld No,LastWeldButt,1,3000,3999) Type = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit [UpdateRule16.4] IfProperty = Weld Type IfValue = (exist) SetProperty = Weld No SetValue = (Incr:Weld No,LastWeldOther,1,4000,4999) Type = Text UpdateIAM = 0 UpdateIPT = 1 Goto = exit ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [UpdateRule17] Description = Feature Color properties DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule17.1] IfProperty = CT_COLOR_INFO IfValue = SC3 SetProperty = CT_COLOR SetValue = (fc: side color1 )-(fc:side color2)-(fc:side color3) [UpdateRule17.2] IfProperty = CT_COLOR_INFO IfValue = sc2 SetProperty = CT_COLOR SetValue = (fc:side color1)-(fc:side color2) [UpdateRule17.3] IfProperty = CT_COLOR_INFO IfValue = SC1 SetProperty = CT_COLOR SetValue = (FC:side color1) [UpdateRule18] Description = Size properties DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule18.1] IfProperty = CT_size_INFO IfValue = WL SetProperty = CT_SIZE SetValue = (pv:ct_w) x (pv:ct_l) [UpdateRule18.2] IfProperty = CT_size_INFO IfValue = TL SetProperty = CT_SIZE SetValue = (pp:ct_t) x (pv:ct_l) [UpdateRule19] ; Architectural Elements Description = Architectural Elements Comments = Set wall area, wall length, height, specification for architectural elements. DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule19.1] IfProperty = ct_cut_info IfValue = AW SetProperty = ct_wall_area SetValue = (wallarea_m2,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.2] IfProperty = ct_cut_info IfValue = AW SetProperty = ct_wall_length SetValue = (lenx,1:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.3] IfProperty = ct_cut_info IfValue = AW SetProperty = ct_size SetValue = h = (LenZ:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.4] IfProperty = ct_cut_info IfValue = AAW SetProperty = ct_wall_area SetValue = (wallarea_m2,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.5] IfProperty = ct_cut_info IfValue = AAW SetProperty = ct_specification SetValue = r = (pv: ct_radius), a = (pv: ct_vinkel) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.6] IfProperty = ct_cut_info IfValue = AAW SetProperty = ct_size SetValue = h = (LenZ:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.7] IfProperty = ct_cut_info IfValue = ATW SetProperty = ct_wall_area SetValue = (wallarea_m2,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.8] IfProperty = ct_cut_info IfValue = ATW SetProperty = ct_specification SetValue = lx = (lenx,1:), ly = (leny,1:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.9] IfProperty = ct_cut_info IfValue = ATW SetProperty = ct_size SetValue = h = (LenZ:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.10] IfProperty = ct_cut_info IfValue = ACP SetProperty = ct_wall_area SetValue = (wallarea_m2,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.11] IfProperty = ct_cut_info IfValue = ACPT SetProperty = ct_wall_area SetValue = (wallarea_m2,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule19.12] IfProperty = ct_cut_info IfValue = AEDF SetProperty = ct_wall_area SetValue = (wallarea_m2,2:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule20] Description = iLogic Comments = DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule20.1] ; IfProperty = ct_cut_info ; IfValue = PL ; SetProperty = ct_description ; SetValue = PL (ExtT:) x (ExtL,0:) x (ExtW,0:) Rule = ilogicfile.txt ; Rule1 = ilogicfile1.txt ; Rule2 = ilogicfile2.txt UpdateIAM = 0 UpdateIPT = 1 [UpdateRule21] Description = Wildcard Test Comments = DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule21.1] IfProperty = Design Tracking Properties.Description IfValue = pl* SetProperty = ct_description SetValue = PL (ExtT:) x (ExtL,0:) x (ExtW,0:) UpdateIAM = 0 UpdateIPT = 1 [UpdateRule22] Description = Raw Material Weight Comments = Calculate Raw Material Weight based om plate dimensions or raw material plate dimensions DefaultChecked = 0 InUse = 0 Mandatory = 0 [UpdateRule22.1] IfProperty = ct_cut_info IfValue = PL SetProperty = Cut Thickness SetValue = (ExtT:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule22.2] IfProperty = ct_cut_info IfValue = XY SetProperty = Cut Thickness SetValue = (ExtT:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule22.3] IfProperty = ct_cut_info IfValue = XZ SetProperty = Cut Thickness SetValue = (ExtT:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule22.4] IfProperty = ct_cut_info IfValue = YZ SetProperty = Cut Thickness SetValue = (ExtT:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule22.5] IfProperty = ct_cut_info IfValue = DPL SetProperty = Cut Thickness SetValue = (ExtT:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule22.6] IfProperty = ct_cut_info IfValue = DXY SetProperty = Cut Thickness SetValue = (ExtT:) UpdateIAM = 0 UpdateIPT = 1 Goto = 100 [UpdateRule22.7] SetProperty = RawMaterialWeight SetValue = Goto = exit [UpdateRule22.100] Rule = RawMaterialWeight.txt ; Rule1 = ilogicfile1.txt ; Rule2 = ilogicfile2.txt UpdateIAM = 0 UpdateIPT = 1 ``` ## Example Update property from Parameter **Create a new update rule behind the last one in the CaditUpdate.ini file** Function This rule copies Material to a custom property SP1-Material and the parameter thickness to SP1-Thickness [UpdateRule24] Description = SPI-Thickness and SPI-Material update Comments = Automatically update SPI-Thickness and SPI-Material DefaultChecked = 1 InUse = 1 Mandatory = 0 HideForIPT = 0 [UpdateRule24.1] IfProperty = Material SetProperty = SPI-MATERIAL SetValue = (material:) UpdateIPT = 1 [UpdateRule24.2] IfParameter = Thickness IfValue = (exist) SetProperty = SPI-THICKNESS SetValue = (pv:Thickness) UpdateIPT = 1 Goto = exit