ingenious
Sourcecode View
The main modules > Articles > Partlists > Sourcecode View

In the sourcecode view the measurement details and service items are defined for all part lists that are created in ingenious.

 

Sourcecode view of a partlist

Sourcecode view of a partlist

 

The part for the measurment details is defined with the method: 

Measurement details
Copy Code
protected override void Build()
{
}

 

The area for the service items is defined with the method: 

Service items
Copy Code
protected override void Calculate()
{
}

 

The single commands are provided in a type-ahead function. Once the first letters of a command are antered in a new line, a selection list appears with all available commands. From this listed the needed command can be taken over. For making the part list programming as simple as possible the command line is inserted completely with its syntax. So the programmer only needs to overwrite the single values.

Part list commands always start with a capital, C# code words are completely written in small letters. 

 

Context menue for the selection of partlist commands

Context menue for the selection of partlist commands

 

For the selected line also a tool tip of the syntax appears in the bottom of the window frame. 

 

Example structure of a command line:

Conf_Dropdown("Name", "Title", "Tooltip", "(Default-)value", "value list", Boolean visible, "Foreground colour", "Background colour");

Conf_Dropdown("vKSize", "Box size", "Please choose box size", "137", "137;165;180", true, "black", "RGB(255,200,100)");

Meaning: The option "box size" gets for

 

Commands for the method Build 

In general:

Syntax Meaning
Name Unique name for the variable for its identifikation in the part list.
Title Title of the option as it should be shown to the user
Tooltip Help text or description text tha the user will see in the checklist when he moves the mouse over the title of the option.
Default Default value for this option
Value list Available options for this option, separated by smicolon
dValue Number
iValue Integer
bSelected Boolean definition for preselection of a checkbox. Possible values true and false

 

The following partlist commands are available:

Command Description
Alert Output of a information or error message without abort
Alert("Text");
ConfLine Line with the measurment definition of the compatibility mode from a partlist that was imported from a previous ingenious version.
Conf_Checkbox Line for measurment definition in the form of a checkbox
Conf_Checkbox("Name", "Title", "Tooltip", bSelected
);
Conf_Combobox Line for measurment definition in the form of a combobox with the possibility to overwrite the values
Conf_Combobox("Name", "Title", "Tooltip", "Default", "Value list"
);
Conf_Dropdown Line for measurement definition in the form of a fix selection list (cannot be overwritten)
Conf_Dropdown("Name", "Title", "Tooltip", "Default", "Value list"
);
Conf_Integer Line for measurement definition in the form of an integer
Conf_Integer("Name", "Title", "Tooltip", iValue);
Conf_Number Line for measurment definition in the form of a number
Conf_Number("Name", "Title", "Tooltip", dValue
);
Conf_Section Definition of a simple headline in the checklist
Conf_Section("Name", "Title");
Conf_Size Definition of the size of the checklist (without picture area). Set 1. width, 2. height in pixels.
Conf_Size(iValue, iValue)
Conf_Split Definition of the separator of the checklist; Sets the size of the definition area left and the selection area right; The entered value is meant as percentage and is valid for the definition area. 
Conf_Split(iValue
)
Conf_Text Adds a free text field to the checklist
Conf_Text("Name", "Title", "Tooltip", "Default
");
Conf_Title Adds a group headline to the checklist; allows to show or hide the complete group.
Conf_Title("Name", "Title")
DrawPict Output of a stored picture.
Error Otput of an error message with abort
Error("Text"
);
Eval Execution of a partlist calculation
var Surface = Eval("jum.x * jum.y / 10000
");
GetValue Auslesen einer Stücklistenvariable.
String Width = GetValue("jum.x"
);
GetValue<Type> Readout a partlist variable and conversion to another data type.
Double dWidth = GetValue<Double>("jum.x"
);
Message Generating a message thats condition is checked with every change in the partlist.
Message("Text");
MultiposVariable Definition of a variable as a multi item input variable. Can be called multiple.
MultiposVariable("jum.Color"
);
SetValue Saves a value to a partlist variable.
SetValue("PrintWidth", "1250"
);
ValueExists Checks whether a partlist variable exists or not.
Boolean PrintWidthSet = ValueExists("PrintWidth"
);

 

Commands for the method Calculate

In general:

Syntax Meaning
Name Unique name of the variable for its identification in the partlist
dQuantity Consumed quantity of an article
dSalesprice Salesprice of free supporting articles (BOM_Price)
dPurchaseprice Purchaseprice of free supporting articles (BOM_Price)
dService Hourly rate of free time articles (BOM_Price)
dMinutes Number of minutes of free time articles (BOM_Price)

 

The following partlist commands are available: 

Command Meaning
Alert Output of a information or error message without abort
Alert("Text");
BOMLine Line with the service definition of the compatibility mode from a partlist that was imported from a previous ingenious version.
BOM_Item Request of an article of the product catalogue
BOM_Item("Name", "Matchcode/Articlenumber", dQuantity
);
BOM_Price Request of a free (supporting) article that is not stored in the product catalogue
BOM_Price("Name", "Text", dQuantity, dSalesprice, dPurchaseprice);
BOM_Time Request of a free time article that is not stored in the product catalogue
BOM_Time("Name", "Text", dQuantity, dService, dMinutes);
Eval Execution of a partlist calculation
var Surface = Eval("jum.x * jum.y / 10000
");
GetValue Readout a partlist variable
String Width = GetValue("jum.x");
GetValue<Type> Readout a partlist variable and conversion to another data type.
Double dBWidth = GetValue<Double>("jum.x"
);
SetValue Saves a value to a partlist variable.
SetValue("PrintWidth", "1250"
);
ValueExists Checks whether a partlist variable exists or not.
Boolean PrintWidthSet = ValueExists("PrintWidth"
);

 

An overview of all available C# code words is to be found in the Microsoft MSDN documentation.

 

Sourcecode-Administration

To follow up changes of the partlist or to restore a previous version in case of problems with a modification, versions of the partlist can be stored. Additionally a version is automatically stored in that moment when a modified partlist is used in a project document the first time.

The partlist versions are also be used for the recalculation of project items that are always be calculated with that version that was valid at the time of the creation of the project item.

With the buttonn of the icon bar the sourcecode administration is opened. It contains a list with all stored versions of the partlist with a hash, a comment and a log with date and time of the storage, the user's name and a checkmark when the partlist version was used in any project item.

 

Version history of a partlist

Version history of a partlist

 

For the sourcecode administration the following functions are available in the icon bar:

 

Stores a new version of the actual partlist in the history.
Deletes the selected partlist version. Deletion is only possible as long no project item was created with that version.
Loads the selected version of the partlist and overwrites the actual one.