Autodesk Inventor addin
preview from Inventor to the database of items, filtering and sorting
transfer of the selected record attributes to the iProperties of the component in Inventor
in Inventor call the window using the "CS ERP picker" command
in the window use the search criteria above the data table
mark the selected record and use its data according to its purpose
either they have to determine the material from which the manufactured part is made (identification of the metallurgical material - e.g. sheet metal, bar stock, ...) - then from the
menu
or they have to mark the component as a purchased part (identification of the purchased component - e.g.
engine, hinge, ...) - then from the menu
in both cases the values of the selected row are written to the iProperties of the Inventor component according to the mapping set in the configuration
the same action is performed by double-clicking on the record (with Ctrl for the "Pick C & Exit" action)
the sheet metal part thickness can be used for filtering the data table - i.e. the Picker configuration can be set so that the data table is filtered according to the value read from the sheet metal part definition in Inventor already when running over the sheet metal part
The MJ used to express the thickness of the plate are [mm]
the Picker configuration can be set so that the data table is filtered by the column and value in the configuration at startup
is done with the .msi file
the target directory is: "<Public Documents>\CADStudio\RawMatPicker"
configuration is done using the .ini file in this folder
after installation, buttons will appear in Inventor:
"CS ERP picker" - calling the window with the "ERP" data table
"Config" - test of data source availability
addin logs activities to the folder "<Public documents>\CADStudio\RawMatPicker"
automatic license activation:
In bulk installations, the activation license key can be written to a file:
%LOCALAPPDATA%\CAD Studio a.s\RawMatPicker\lic.txt
The name of the configuration file is RawMatPicker.ini
this file can be placed in different folders - depending on customer requirements
The configuration must be different for different Win users within the computer "roaming" folder: c:\Users\<USER>\AppData\Roaming\CadStudio\RawMatPicker\
The configuration is the same for all users within the computer "public" folder: c:\Users\Public\Documents\CADStudio\RawMatPicker\
Uniform settings for all computers
create a registry key HKEY_CURRENT_USER\SOFTWARE\CadStudio\RawMatPicker\Settings create a string value named ConfigFullFileName in this key
Procedure for finding the configuration file:
if the file is not found in the "roaming" folder or the registry folder, the "public" folder is used
The .ini file is divided into sections that contain individual keys
section [Settings]
ConnectionString: connection to the database resource
ConnectionSelectCommand: basic definition of columns, links between tables, conditions and sorting (standard SQL syntax)
ConnectionSelectHeaders: (optional) list of names for column headers of the data table
MainFormLabel: (optional) title for the header of the whole dialog (e.g. SAP Lookup) and also the name of the button in Inventor;
(the change in .ini will be reflected in INV after reboot)
MainFormIcon: (optional) icon for the header of the whole window (name of the .ico file) and also the button icon in Inventor (raster formats are accepted);
(the change in .ini will be reflected in INV after reboot)
ShowAll: the (optional) setting True ensures that immediately after the window starts the data table is filled with all records that match the query described by ConnectionSelectCommand;
True setting is therefore undesirable, it unnecessarily uses up the data source and the data network
ApplyFilterDelay: (optional) time in [ms], if the filter content above the data grid is not changed after this time, the filter condition is applied
FullRowSelect: (optional) selection method in the data grid; (default=True) - clicking selects the whole row; if set to False, clicking selects one cell (reason = possibility of copying values of individual cells for other purposes)
SheetMetalThicknessDbFieldName: name of the db field by which the sheet thickness value is filtered
SheetMetalThicknessUseDotAsDecDelim: (default = False) if True, then a dot is used as decimal separator in the value for filtering by sheet thickness (i.e. regardless of the setting "CurrentCulture" on the computer)
InitiateFilterDbFieldName: db field name for the initial filtering
InitiateFilterValue: value for initial filtering
section [Mappings_xxxx]
mapping to the Inventor file iProperties during the "Pick" action:
the name of the key is the name of the iProperty
the key value is the column name (according to ConnectionSelectCommand, not according to ConnectionSelectHeaders),
iProperty affiliation to the iProperty set - see attachment
section [MappingsC_xxxx]
mapping to the Inventor file iProperties during the "Pick C" action:
possibility to use a different mapping for transmission with component identification (C = Component)
if the user double-clicks on the selected dataset row, it is necessary to hold the Ctrl key to trigger this transfer
the original naming of RawMatPicker is still used for internal objects and license
Sets of properties
Fixed (system) properties
complete list of iFeatures (version Inv 2017)
SELECT example for verification:
SELECT ItemNumber, ItemTitle, ItemDetail, units, CategoryName, IsConsumable, IsObsolete, CONVERT(NVARCHAR(10), (SELECT TOP (1) Value FROM dbo.Property AS P WHERE (EntityID =
dbo.vw_ItemRevision.ItemIterationID) AND (PropertyDefID=166)) AS TpvZm FROM dbo.vw_ItemRevision
WHERE (ItemIterationID IN (SELECT MAX(ItemIterationID) AS E1 FROM dbo.vw_ItemIteration AS I1 GROUP BY itemMasterID))
highlighted in yellow is the part of the SQL query that retrieves the user property
sql function CONVERT converts a value (table Property, field Value) from the sql_variant type to a specific type to
ERP picker over user property enabled filtering
the PropertyDefID value for the required property can be found in the PropertyDef table
example script to create View in db storage:
CREATE VIEW [dbo].[CS_ItemMaster] AS
SELECT ItemNumber, ItemTitle, ItemDetail, units, CategoryName, IsConsumable, IsObsolete, CONVERT(NVARCHAR(10), (SELECT TOP (1) Value FROM dbo.Property AS P WHERE
(EntityID=dbo.vw_ItemRevision.ItemIterationID) AND (PropertyDefID=166)) AS TpvZm
FROM dbo.vw_ItemRevision WHERE (ItemIterationID IN (SELECT MAX(ItemIterationID) AS E1 FROM dbo.vw_ItemIteration AS I1 GROUP BY itemMasterID))
final configuration of the ERP picker:
ConnectionString=Server=VaultSrv; Database=Vault; User ID=UserName; Password=UserPwd ConnectionSelectCommand=SELECT * FROM CS_ItemMaster
ConnectionString=Server=mySqlSrv; Database=Helios001; User ID=HeReader; Password=HeReaderPwd ConnectionSelectCommand=SELECT id, group, regcis, name1, name2 FROM TabKmenZbozi ConnectionSelectHeaders=_|SZ|Reg. number|Name 1|Name 2
ConnectionString=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\OleDbTest.xls;Extended Properties="Excel 12.0;HDR=YES"
ConnectionSelectCommand=SELECT * FROM [List1$]
ConnectionString=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\vm- cadsadms\POHODA\Data\12345678_2015.mdb
ConnectionSelectCommand=SELECT IDS, Name, Name1, Name2, SText, SText1, SText2, MJ, MJ2, MJ3, EAN, ObjName, Company, Sales FROM Skz
ConnectionString=DRIVER=Microsoft Access Text Driver (*.txt, *.csv); DefaultDir=d:\t_drive\Techbase\Development\STROS\db
ConnectionSelectCommand=SELECT * FROM `POL_NAK.txt` `POL_NAK` WHERE LEN(CMAT) > 0 ORDER BY 2
Vault queries are more complex, so it is advisable to create a view in the db storage first and then use it in ERP picker - see attachment
try to apply the MJ-based logic that the selected row has in ERP
if metallurgical material enters the manufactured part,
if sheet metal, then limits of development OR property values? parameters (default names)
if the G_L parameter exists
in addition to the thickness, you can apply another filter - e.g. "Sheet*"